diff --git a/changelog/unreleased/usage-cost-page.md b/changelog/unreleased/usage-cost-page.md new file mode 100644 index 00000000..8ec697e4 --- /dev/null +++ b/changelog/unreleased/usage-cost-page.md @@ -0,0 +1,7 @@ +### English + +- Add a **Token usage** console page reporting the tokens and subscription quota consumed through cli2api, per model. Quota applies to every provider, so the breakdown covers WorkBuddy, Qoder, Trae, and the other adapters even when a model has no official list price. DeepSeek usage is additionally converted into an equivalent cost at the official list price, split into peak and off-peak hours (estimated using Beijing time Monday–Friday 09:00–12:00 and 14:00–18:00 at double the off-peak rate; holidays and adjusted working days are not handled). The page shows a quota card, the equivalent cost card, a stacked cost-over-time chart, a per-model table (requests, cache-hit / cache-miss input, output, tokens, peak vs off-peak cost, quota), and the official price table. Usage is attributed to the actual mapped model, falling back to the requested name for older logs. Data covers retained request logs only; retention is configurable with CLI2API_LOG_RETENTION_DAYS and CLI2API_LOG_MAX_ROWS (defaults: 7 days / 20,000 rows). + +### 中文 + +- 新增控制台「Token 用量」页面,按模型统计经 cli2api 消耗的 token 与订阅额度。额度对所有 provider 都成立,因此即使某个模型没有官方列表价,明细里依然会列出 WorkBuddy、Qoder、Trae 等各适配器的用量。DeepSeek 的用量还会按官方列表价折算出等效费用,并区分高峰与闲时(按北京时间周一至周五 09:00–12:00、14:00–18:00 估算为闲时的两倍;未处理节假日及调休)。页面包含额度卡片、折合费用卡片、按模型堆叠的费用趋势图、按模型明细(请求数、缓存命中/未命中的输入、输出、token 总量、高峰与闲时费用、额度)以及官方价格表。用量优先归入实际映射模型,旧日志缺少映射时回退到请求名称。数据仅覆盖留存日志,可通过 CLI2API_LOG_RETENTION_DAYS 和 CLI2API_LOG_MAX_ROWS 配置留存(默认 7 天 / 20,000 行)。 diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 04407342..b82d98e2 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -17,6 +17,10 @@ services: UPDATE_AGENT_URL: "${UPDATE_AGENT_URL:-}" UPDATE_AGENT_TOKEN: "${UPDATE_AGENT_TOKEN:-}" UPDATE_GITHUB_TOKEN: "${UPDATE_GITHUB_TOKEN:-}" + # 请求日志保留期:默认 7 天 / 2 万行。调大可以让「Token 用量」页覆盖更长 + # 历史;request_logs 约 0.7 KB/行,按每天 1500 行算,90 天大约 150 MB。 + CLI2API_LOG_RETENTION_DAYS: "${CLI2API_LOG_RETENTION_DAYS:-7}" + CLI2API_LOG_MAX_ROWS: "${CLI2API_LOG_MAX_ROWS:-20000}" volumes: - qoder-data:/data - "${CLI2API_UPDATER_SOCKET_DIR:-/tmp/cli2api-updater}:/run/cli2api-updater:ro" diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 174456ab..f55982d0 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -13,6 +13,7 @@ import { LoginPage } from '@/pages/LoginPage' import { SystemPage } from '@/pages/SystemPage' import { LogsPage } from '@/pages/LogsPage' import { KeysPage } from '@/pages/KeysPage' +import { UsagePage } from '@/pages/UsagePage' export default function App() { return ( @@ -32,6 +33,7 @@ export default function App() { } /> } /> } /> + } /> } /> } /> } /> diff --git a/frontend/src/api/usage.ts b/frontend/src/api/usage.ts new file mode 100644 index 00000000..348eff7b --- /dev/null +++ b/frontend/src/api/usage.ts @@ -0,0 +1,73 @@ +import { api } from './client' + +export type ModelPriceBand = { + cache_hit: number + cache_miss: number + output: number +} + +export type ModelPrice = { + id: string + label: string + vendor: string + currency: string + off_peak: ModelPriceBand + peak: ModelPriceBand + peak_start_hour: number + peak_end_hour: number + peak_weekdays_only: boolean + peak_note?: string + source?: string +} + +export type PricingCatalog = { + currency: string + models: ModelPrice[] + note?: string +} + +export type ModelCost = { + id: string + label: string + vendor: string + currency: string + requests: number + cache_hit: number + cache_miss: number + output: number + total_tokens: number + cost: number + cost_off_peak: number + cost_peak: number + peak_requests: number + credits: number + priced: boolean +} + +export type CostSeriesPoint = { + at: string + per_model: Record + tokens: number + credits: number +} + +export type CostBreakdown = { + window: { from: string; to: string; hours: number } + currency: string + models: ModelCost[] + totals: ModelCost + series: CostSeriesPoint[] + unpriced?: string[] +} + +export function fetchUsagePricing() { + return api('/api/usage/pricing') +} + +export function fetchUsageCost(query: { from?: string; to?: string } = {}) { + const params = new URLSearchParams() + if (query.from) params.set('from', query.from) + if (query.to) params.set('to', query.to) + const suffix = params.toString() ? `?${params}` : '' + return api(`/api/usage/cost${suffix}`) +} diff --git a/frontend/src/components/layout/AppSidebar.tsx b/frontend/src/components/layout/AppSidebar.tsx index de9c1382..4d62f01b 100644 --- a/frontend/src/components/layout/AppSidebar.tsx +++ b/frontend/src/components/layout/AppSidebar.tsx @@ -1,7 +1,7 @@ import { useEffect, useRef, useState } from 'react' import { NavLink, useLocation } from 'react-router-dom' import { Drawer, Button, Chip, Separator, Tooltip } from '@heroui/react' -import { Cube, Gauge, GearSix, Key, Lightning, Scroll, SidebarSimple, UsersThree, X } from '@phosphor-icons/react' +import { ChartLineUp, Cube, Gauge, GearSix, Key, Lightning, Scroll, SidebarSimple, UsersThree, X } from '@phosphor-icons/react' import { BrandMark } from '@/components/BrandMark' import { SkeletonBlock } from '@/components/ui/PageSkeletons' import { gsap } from 'gsap' @@ -15,6 +15,7 @@ const nav = [ { to: '/providers', key: 'navProviders', icon: Cube, section: 'develop' }, { to: '/access', key: 'navAccess', icon: Lightning, section: 'develop' }, { to: '/logs', key: 'navLogs', icon: Scroll, section: 'system' }, + { to: '/usage', key: 'navUsage', icon: ChartLineUp, section: 'system' }, { to: '/keys', key: 'navKeys', icon: Key, section: 'system' }, { to: '/system', key: 'navSystem', icon: GearSix, section: 'system' }, ] as const diff --git a/frontend/src/components/usage/CostChart.tsx b/frontend/src/components/usage/CostChart.tsx new file mode 100644 index 00000000..c3cef888 --- /dev/null +++ b/frontend/src/components/usage/CostChart.tsx @@ -0,0 +1,184 @@ +import { useMemo, useRef, useLayoutEffect } from 'react' +import gsap from 'gsap' +import { + Area, + AreaChart, + CartesianGrid, + ResponsiveContainer, + Tooltip, + XAxis, + YAxis, +} from 'recharts' +import type { CostSeriesPoint, ModelCost } from '@/api/usage' +import { formatCNY } from '@/lib/format' + +// Stacked bands need distinct, sober hues. Row 1 uses the console accent ink +// (charcoal / snow); deeper rows fall back to muted steel and the two status +// hues so the stack stays readable without inventing a second palette. Order is +// stable by cost (the caller sorts models), so the biggest spender is always ink. +const SERIES_COLORS = ['var(--accent)', 'var(--muted)', 'var(--success)', 'var(--warning)'] + +function bucketLabel(value: string, daily: boolean, lang: 'en' | 'zh') { + const date = new Date(value) + if (!Number.isFinite(date.getTime())) return '' + return new Intl.DateTimeFormat(lang === 'zh' ? 'zh-CN' : 'en-US', daily + ? { month: 'short', day: 'numeric' } + : { month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', hour12: false }).format(date) +} + +type ChartRow = { at: string } & Record + +function CostTooltip({ + active, + payload, + label, + daily, + lang, + models, + totalLabel, +}: { + active?: boolean + payload?: Array<{ dataKey: string; value: number }> + label?: string + daily: boolean + lang: 'en' | 'zh' + models: ModelCost[] + totalLabel: string +}) { + if (!active || !payload?.length) return null + const labelById = new Map(models.map((model) => [model.id, model.label])) + const rows = payload.filter((item) => (item.value ?? 0) > 0).sort((a, b) => b.value - a.value) + const total = payload.reduce((sum, item) => sum + (item.value ?? 0), 0) + return ( +
+
{bucketLabel(String(label), daily, lang)}
+
+ {rows.map((item) => ( +
+ + m.id === item.dataKey) % SERIES_COLORS.length] }} /> + {labelById.get(item.dataKey) || item.dataKey} + + {formatCNY(item.value)} +
+ ))} +
+ {totalLabel} + {formatCNY(total)} +
+
+
+ ) +} + +export function CostChart({ + series, + models, + lang, + emptyLabel, + totalLabel, +}: { + series: CostSeriesPoint[] + models: ModelCost[] + lang: 'en' | 'zh' + emptyLabel: string + totalLabel: string +}) { + const rootRef = useRef(null) + const ordered = useMemo(() => models.map((model) => model.id), [models]) + const data = useMemo(() => series.map((point) => { + const row: ChartRow = { at: point.at } + for (const id of ordered) row[id] = Number((point.per_model[id] ?? 0).toFixed(4)) + return row + }), [series, ordered]) + const peak = Math.max(0, ...data.map((row) => ordered.reduce((sum, id) => sum + Number(row[id] ?? 0), 0))) + const hasCost = peak > 0 + const span = data.length > 1 ? Date.parse(data[data.length - 1].at) - Date.parse(data[0].at) : 0 + const daily = span > 48 * 60 * 60 * 1000 + const signature = data.map((row) => `${row.at}:${ordered.map((id) => Number(row[id])).join(',')}`).join('|') + + useLayoutEffect(() => { + const root = rootRef.current + if (!root || !hasCost) return + const media = gsap.matchMedia() + media.add('(prefers-reduced-motion: no-preference)', () => { + const fills = gsap.utils.toArray('.recharts-area-area', root) + gsap.fromTo(fills, { autoAlpha: 0 }, { + autoAlpha: 1, + duration: 0.5, + ease: 'power2.out', + stagger: 0.05, + }) + }, root) + return () => media.revert() + }, [hasCost, signature]) + + if (!series.length || !hasCost) { + return ( +
+ {emptyLabel} +
+ ) + } + + return ( +
+
+ + + + {ordered.map((id, index) => ( + + + + + ))} + + + bucketLabel(value, daily, lang)} + /> + `¥${value >= 10 ? Math.round(value) : Number(value.toFixed(1))}`} + /> + } + /> + {ordered.map((id, index) => ( + + ))} + + +
+
+ {models.map((model, index) => ( + + + {model.label} + + ))} +
+
+ ) +} diff --git a/frontend/src/i18n/messages.ts b/frontend/src/i18n/messages.ts index 16395278..4e3801b1 100644 --- a/frontend/src/i18n/messages.ts +++ b/frontend/src/i18n/messages.ts @@ -45,6 +45,53 @@ export const messages: Record = { navLogs: 'Logs', navKeys: 'API keys', navSystem: 'System settings', + navUsage: 'Token usage', + usageTitle: 'Token usage & official price', + usageLead: 'Tokens and subscription quota consumed through cli2api, per model. Quota applies to every provider; the equivalent cost converts DeepSeek usage at the official list price so you can compare against pay-as-you-go.', + usageWindow: 'Window', + usageWindow24h: '24h', + usageWindow7d: '7d', + usageWindowTotal: 'All retained', + usageCredits: 'Quota used', + usageCreditsHint: 'Subscription credits consumed across all providers', + usageEstCost: 'Equivalent cost', + usageTotalTokens: 'Total tokens', + usageRequests: 'Requests', + usageCacheHitRate: 'Cache hit', + usageTokenSplitNote: 'hit / miss / output', + usageCostHint: 'Official DeepSeek list price (CNY per 1M tokens). Peak hours bill at double the off-peak rate; off-peak is half. These requests are actually served by subscription accounts, so this is not money spent.', + usageChartTitle: 'Cost over time', + usageChartHint: 'Stacked by model, valued at the official list price.', + usageChartEmpty: 'No priced usage in this window.', + usageBreakdownTitle: 'By model', + usageBreakdownHint: 'Tokens and equivalent cost per model.', + usageColModel: 'Model', + usageColRequests: 'Requests', + usageColInputHit: 'Input · cache hit', + usageColInputMiss: 'Input · cache miss', + usageColOutput: 'Output', + usageColTokens: 'Total tokens', + usageColCost: 'Equiv. cost', + usageColCredits: 'Quota', + usageUnpricedCost: 'no list price', + usageColSplit: 'Peak / off-peak', + usageTotals: 'Total', + usageEmpty: 'No usage recorded in this window.', + usageRetentionHint: 'Request logs are pruned on a schedule, so “All retained” covers only what is still stored.', + usageRenderNote: 'Assumes usage was billed at DeepSeek list price; actual billing on Qoder / WorkBuddy / subscription accounts differs.', + usagePeakNote: 'Estimated peak = Beijing time Mon–Fri 09:00-12:00 & 14:00-18:00; off-peak is half price. Holidays and adjusted working days are not handled.', + usageUnpricedHint: 'These models have no official DeepSeek list price, so they only count toward quota and tokens: {models}', + usageNoteTitle: 'How this is calculated', + usagePriceTitle: 'Official price table', + usagePriceModel: 'Model', + usagePriceHit: 'Cache hit', + usagePriceMiss: 'Cache miss', + usagePriceOutput: 'Output', + usagePriceBandOff: 'Off-peak', + usagePriceBandPeak: 'Peak', + usageOffPeak: 'Off-peak', + usagePeak: 'Peak', + failedUsage: 'Failed to load usage: {msg}', sidebarFoot: 'CLI login-state gateway. More providers later.', systemSettingsTitle: 'System settings', systemSettingsLead: 'Manage cross-provider routing, provider check-in defaults, updates, SQLite protection, and the console API key.', @@ -760,6 +807,53 @@ export const messages: Record = { navLogs: '日志', navKeys: 'API 密钥', navSystem: '系统设置', + navUsage: 'Token 用量', + usageTitle: 'Token 用量与官方价格', + usageLead: '按模型统计经 cli2api 消耗的 token 与订阅额度。额度对所有 provider 都成立;折合费用把 DeepSeek 用量按官方列表价换算,方便与按量付费对比。', + usageWindow: '时间范围', + usageWindow24h: '24 小时', + usageWindow7d: '7 天', + usageWindowTotal: '全部留存', + usageCredits: '已用额度', + usageCreditsHint: '所有 provider 合计消耗的订阅额度', + usageEstCost: '折合费用', + usageTotalTokens: 'Token 总量', + usageRequests: '请求数', + usageCacheHitRate: '缓存命中', + usageTokenSplitNote: '命中 / 未命中 / 输出', + usageCostHint: '按 DeepSeek 官方列表价(人民币/百万 tokens)折算;高峰时段单价为闲时的两倍。这些请求实际走的是订阅账号,因此这不是真实花费。', + usageChartTitle: '费用趋势', + usageChartHint: '按模型堆叠,按官方列表价折算。', + usageChartEmpty: '该时间范围内暂无计价用量。', + usageBreakdownTitle: '按模型明细', + usageBreakdownHint: '每个模型的 token 用量与折合费用。', + usageColModel: '模型', + usageColRequests: '请求数', + usageColInputHit: '输入·缓存命中', + usageColInputMiss: '输入·缓存未命中', + usageColOutput: '输出', + usageColTokens: 'Token 总量', + usageColCost: '折合费用', + usageColCredits: '额度', + usageUnpricedCost: '无官方价', + usageColSplit: '高峰 / 闲时', + usageTotals: '合计', + usageEmpty: '该时间范围内没有用量记录。', + usageRetentionHint: '请求日志按计划清理,因此「全部留存」只覆盖仍在库内的部分。', + usageRenderNote: '按 DeepSeek 官方列表价折算;Qoder / WorkBuddy / 订阅账号的实际计费方式不同。', + usagePeakNote: '高峰按北京时间周一至周五 09:00-12:00、14:00-18:00 估算;闲时价格为高峰的一半。当前未处理法定节假日及调休。', + usageUnpricedHint: '以下模型没有 DeepSeek 官方列表价,只计入额度与 token:{models}', + usageNoteTitle: '计算说明', + usagePriceTitle: '官方价格表', + usagePriceModel: '模型', + usagePriceHit: '缓存命中', + usagePriceMiss: '缓存未命中', + usagePriceOutput: '输出', + usagePriceBandOff: '闲时', + usagePriceBandPeak: '高峰', + usageOffPeak: '闲时', + usagePeak: '高峰', + failedUsage: '加载用量失败:{msg}', sidebarFoot: 'CLI 登录态网关,后续扩展更多提供方。', systemSettingsTitle: '系统设置', systemSettingsLead: '管理跨 Provider 路由、各供应商签到默认时间、系统更新、SQLite 保护和控制台管理员密钥。', diff --git a/frontend/src/lib/format.ts b/frontend/src/lib/format.ts index d183e21a..deb2ebd5 100644 --- a/frontend/src/lib/format.ts +++ b/frontend/src/lib/format.ts @@ -55,3 +55,22 @@ function trimFixed(value: number) { const digits = Math.abs(value) >= 10 ? 0 : 1 return Number(value.toFixed(digits)).toString() } + +/** Chinese-yuan amount with two decimals and thousands separators. */ +export function formatCNY(value: number | null | undefined) { + if (value == null || !Number.isFinite(value)) return '—' + return `¥${value.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` +} + +/** Raw unit price (already in CNY per 1M tokens); trims needless decimals. */ +export function formatUnitPrice(value: number | null | undefined) { + if (value == null || !Number.isFinite(value)) return '—' + return `¥${Number(value.toFixed(4))}` +} + +/** Subscription quota spent, in the provider's own credit unit. */ +export function formatCredits(value: number | null | undefined) { + if (value == null || !Number.isFinite(value)) return '—' + if (value >= 10_000) return formatCompact(value) + return value.toLocaleString('zh-CN', { minimumFractionDigits: value < 100 ? 2 : 0, maximumFractionDigits: 2 }) +} diff --git a/frontend/src/pages/UsagePage.tsx b/frontend/src/pages/UsagePage.tsx new file mode 100644 index 00000000..82ebffda --- /dev/null +++ b/frontend/src/pages/UsagePage.tsx @@ -0,0 +1,279 @@ +import { lazy, Suspense, useCallback, useEffect, useState } from 'react' +import { Button, Card, Chip, Table } from '@heroui/react' +import { ArrowClockwise, CurrencyCny, Coin, Coins, Stack } from '@phosphor-icons/react' +import { fetchUsageCost, fetchUsagePricing, type CostBreakdown, type PricingCatalog } from '@/api/usage' +import { EmptyPanel } from '@/components/ui/EmptyPanel' +import { FilterToggle } from '@/components/ui/FilterToggle' +import { PageAlert } from '@/components/ui/PageAlert' +import { SkeletonBlock } from '@/components/ui/PageSkeletons' +import { useI18n } from '@/hooks/useI18n' +import { formatCNY, formatCompact, formatCredits, formatUnitPrice } from '@/lib/format' + +const CostChart = lazy(() => import('@/components/usage/CostChart').then((mod) => ({ default: mod.CostChart }))) + +type UsageWindow = '24' | '168' | 'all' + +const EMPTY_BREAKDOWN: CostBreakdown = { + window: { from: '', to: '', hours: 24 }, + currency: 'CNY', + models: [], + totals: { + id: 'total', label: '', vendor: '', currency: 'CNY', + requests: 0, cache_hit: 0, cache_miss: 0, output: 0, total_tokens: 0, + cost: 0, cost_off_peak: 0, cost_peak: 0, peak_requests: 0, + credits: 0, priced: false, + }, + series: [], +} + +function pct(part: number, whole: number) { + if (!whole) return '0%' + const value = (part / whole) * 100 + return `${value >= 10 ? value.toFixed(0) : value.toFixed(1)}%` +} + +export function UsagePage() { + const { t, lang } = useI18n() + const [window, setWindow] = useState('all') + const [breakdown, setBreakdown] = useState(null) + const [pricing, setPricing] = useState(null) + const [loading, setLoading] = useState(true) + const [error, setError] = useState('') + + useEffect(() => { + let cancelled = false + void fetchUsagePricing() + .then((data) => { if (!cancelled) setPricing(data) }) + .catch(() => { /* pricing table is optional decoration */ }) + return () => { cancelled = true } + }, []) + + const load = useCallback(async () => { + setLoading(true) + try { + const query = window === 'all' + ? {} + : { from: new Date(Date.now() - Number(window) * 3600 * 1000).toISOString(), to: new Date().toISOString() } + const data = await fetchUsageCost(query) + setBreakdown(data) + setError('') + } catch (err) { + setBreakdown(null) + setError(err instanceof Error ? err.message : String(err)) + } finally { + setLoading(false) + } + }, [window]) + + useEffect(() => { void load() }, [load]) + + const data = breakdown ?? EMPTY_BREAKDOWN + const totals = data.totals + const hasData = totals.requests > 0 && data.models.length > 0 + + const metrics = [ + // Quota comes first: every provider consumes it, while the equivalent cost + // only exists for models with an official list price. + { label: t('usageCredits'), value: formatCredits(totals.credits), detail: t('usageCreditsHint'), icon: Coin }, + { label: t('usageEstCost'), value: formatCNY(totals.cost), detail: `${formatCNY(totals.cost_peak)} ${t('usagePeak')} · ${formatCNY(totals.cost_off_peak)} ${t('usageOffPeak')}`, icon: CurrencyCny }, + { label: t('usageTotalTokens'), value: formatCompact(totals.total_tokens), detail: `${formatCompact(totals.cache_hit)} / ${formatCompact(totals.cache_miss)} / ${formatCompact(totals.output)} ${t('usageTokenSplitNote')}`, icon: Stack }, + { label: t('usageRequests'), value: String(totals.requests), detail: `${totals.peak_requests} ${t('usagePeak')} · ${totals.requests - totals.peak_requests} ${t('usageOffPeak')}`, icon: Coins }, + { label: t('usageCacheHitRate'), value: pct(totals.cache_hit, totals.cache_hit + totals.cache_miss), detail: formatCompact(totals.cache_hit), icon: Coins }, + ] + + return ( +
+
+
+

{t('usageTitle')}

+

{t('usageLead')}

+
+
+ setWindow(next as UsageWindow)} + ariaLabel={t('usageWindow')} + options={[ + { id: '24', label: t('usageWindow24h') }, + { id: '168', label: t('usageWindow7d') }, + { id: 'all', label: t('usageWindowTotal') }, + ]} + /> + +
+
+ + {error ? : null} + +
+ {metrics.map((metric, index) => { + const Icon = metric.icon + return ( +
+
+ {metric.label} + +
+
+
+ {loading ? : metric.value} +
+
+ {loading ? : metric.detail} +
+
+
+ ) + })} +
+ + +
+
+

{t('usageChartTitle')}

+

{t('usageChartHint')}

+
+ {formatCNY(totals.cost)} +
+
+ {loading ? ( +
+ ) : hasData ? ( +
}> + + + ) : ( + } title={t('usageEmpty')} hint={t('usageRetentionHint')} /> + )} +
+ + + +
+
+

{t('usageBreakdownTitle')}

+

{t('usageBreakdownHint')}

+
+
+ {loading ? ( +
+ {[0, 1, 2].map((row) => )} +
+ ) : !hasData ? ( + + ) : ( + + + + + {t('usageColModel')} + {t('usageColRequests')} + {t('usageColInputHit')} + {t('usageColInputMiss')} + {t('usageColOutput')} + {t('usageColTokens')} + {t('usageColSplit')} + {t('usageColCost')} + {t('usageColCredits')} + + + {data.models.map((model) => ( + + +
{model.label}
+
{model.id}
+
+ {model.requests} + {formatCompact(model.cache_hit)} + {formatCompact(model.cache_miss)} + {formatCompact(model.output)} + {formatCompact(model.total_tokens)} + + {formatCNY(model.cost_peak)} / {formatCNY(model.cost_off_peak)} + + + + {model.priced ? formatCNY(model.cost) : {t('usageUnpricedCost')}} + + + {formatCredits(model.credits)} +
+ ))} + + {t('usageTotals')} + {totals.requests} + {formatCompact(totals.cache_hit)} + {formatCompact(totals.cache_miss)} + {formatCompact(totals.output)} + {formatCompact(totals.total_tokens)} + {formatCNY(totals.cost_peak)} / {formatCNY(totals.cost_off_peak)} + {formatCNY(totals.cost)} + {formatCredits(totals.credits)} + +
+
+
+
+ )} +
+ +
+ +
+

{t('usagePriceTitle')}

+

{t('usagePeakNote')}

+
+
+ {(pricing?.models ?? []).map((model) => ( +
+
+
{model.label}
+ {model.currency} +
+
{model.id}
+
+
+
{t('usagePriceBandOff')}
+
{formatUnitPrice(model.off_peak.cache_hit)} · {formatUnitPrice(model.off_peak.cache_miss)} · {formatUnitPrice(model.off_peak.output)}
+
{t('usagePriceHit')} · {t('usagePriceMiss')} · {t('usagePriceOutput')}
+
+
+
{t('usagePriceBandPeak')}
+
{formatUnitPrice(model.peak.cache_hit)} · {formatUnitPrice(model.peak.cache_miss)} · {formatUnitPrice(model.peak.output)}
+
{t('usagePriceHit')} · {t('usagePriceMiss')} · {t('usagePriceOutput')}
+
+
+
+ ))} + {!pricing?.models?.length ? ( +
{t('usageEmpty')}
+ ) : null} +
+
+ + +
+

{t('usageNoteTitle')}

+
+
+

{t('usageRenderNote')}

+

{t('usageRetentionHint')}

+

{t('usagePeakNote')}

+ {data.unpriced?.length ?

{t('usageUnpricedHint', { models: data.unpriced.join(', ') })}

: null} + {pricing?.note ?

{pricing.note}

: null} +
+
+
+ + ) +} diff --git a/internal/accounts/model_cost.go b/internal/accounts/model_cost.go new file mode 100644 index 00000000..81b489a4 --- /dev/null +++ b/internal/accounts/model_cost.go @@ -0,0 +1,394 @@ +package accounts + +import ( + "sort" + "strings" + "time" +) + +// TimeBand splits a price list into the off-peak and peak rows DeepSeek (and +// most CN vendors) bill at. Prices are CNY per 1M tokens. +type ModelPriceBand struct { + CacheHit float64 `json:"cache_hit"` + CacheMiss float64 `json:"cache_miss"` + Output float64 `json:"output"` +} + +// ModelPrice carries the official list price for one model. Peak hours are the +// vendor's published peak window in China Standard Time (UTC+8); a zero window +// (empty PeakStart/PeakEnd) means the model has a flat price. When flat, both +// bands hold the same numbers and PeakWeekdaysOnly is irrelevant. +type ModelPrice struct { + ID string `json:"id"` + Label string `json:"label"` + Vendor string `json:"vendor"` + Currency string `json:"currency"` + OffPeak ModelPriceBand `json:"off_peak"` + Peak ModelPriceBand `json:"peak"` + PeakStartHour int `json:"peak_start_hour"` + PeakEndHour int `json:"peak_end_hour"` + PeakWeekdaysOnly bool `json:"peak_weekdays_only"` + PeakNote string `json:"peak_note,omitempty"` + Source string `json:"source,omitempty"` + // Alias marks an id that shares another row's price (legacy rename). The + // console hides alias rows from the price table but still matches them in + // logs so old request rows price correctly. + Alias bool `json:"alias,omitempty"` + // CanonicalID, when set, folds this alias onto the canonical priced model so + // cost totals and the breakdown do not split one model across two rows. + CanonicalID string `json:"canonical_id,omitempty"` +} + +// TokenUsage is the billable token split a request produced. CacheMiss is the +// portion of the prompt that was NOT served from cache (prompt - cache_read). +type TokenUsage struct { + CacheHit int64 `json:"cache_hit"` + CacheMiss int64 `json:"cache_miss"` + Output int64 `json:"output"` +} + +// Total returns all billable tokens together. +func (u TokenUsage) Total() int64 { return u.CacheHit + u.CacheMiss + u.Output } + +// ModelCost is the monetary breakdown for one model over one window. +type ModelCost struct { + ID string `json:"id"` + Label string `json:"label"` + Vendor string `json:"vendor"` + Currency string `json:"currency"` + Requests int64 `json:"requests"` + CacheHit int64 `json:"cache_hit"` + CacheMiss int64 `json:"cache_miss"` + Output int64 `json:"output"` + TotalTokens int64 `json:"total_tokens"` + Cost float64 `json:"cost"` + CostOffPeak float64 `json:"cost_off_peak"` + CostPeak float64 `json:"cost_peak"` + PeakRequests int64 `json:"peak_requests"` + // Credits is the subscription quota this model consumed, as recorded by the + // provider. It applies to every provider, priced or not, and is the honest + // cost unit for subscription accounts where no list price exists. + Credits float64 `json:"credits"` + // Priced reports whether an official list price backs the Cost fields. + // Unpriced models still contribute tokens and Credits. + Priced bool `json:"priced"` +} + +// CostBreakdown is the whole DeepSeek cost panel payload. +type CostBreakdown struct { + Window RequestStatsWindow `json:"window"` + Currency string `json:"currency"` + Models []ModelCost `json:"models"` + Totals ModelCost `json:"totals"` + Series []CostSeriesPoint `json:"series"` + Unpriced []string `json:"unpriced,omitempty"` +} + +// CostSeriesPoint is one time bucket of cost for the stacked chart. +type CostSeriesPoint struct { + At time.Time `json:"at"` + PerModel map[string]float64 `json:"per_model"` + Tokens int64 `json:"tokens"` + Credits float64 `json:"credits"` +} + +// chinaLocation is UTC+8 with no DST — DeepSeek's published peak window is +// expressed in Beijing time. +var chinaLocation = time.FixedZone("CST", 8*60*60) + +// deepSeekPrices returns the DeepSeek official list prices in CNY per 1M tokens. +// Source: https://api-docs.deepseek.com/zh-cn/quick_start/pricing (fetched +// 2026-10-16). The estimate uses Beijing time Mon–Fri +// 09:00–12:00 and 14:00–18:00; holidays and adjusted working days are not +// modeled. Off-peak is exactly half price. The midday +// break makes the peak window non-contiguous, so we honor the two segments in +// isPeakHour instead of a single [start,end) pair. +func deepSeekPrices() []ModelPrice { + const src = "https://api-docs.deepseek.com/zh-cn/quick_start/pricing" + return []ModelPrice{ + { + ID: "deepseek-v4.1-flash", Label: "DeepSeek V4.1 Flash", Vendor: "DeepSeek", Currency: "CNY", + OffPeak: ModelPriceBand{CacheHit: 0.02, CacheMiss: 1, Output: 4}, + Peak: ModelPriceBand{CacheHit: 0.04, CacheMiss: 2, Output: 8}, + PeakStartHour: 9, PeakEndHour: 18, PeakWeekdaysOnly: true, Source: src, + PeakNote: "按北京时间周一至周五 09:00-12:00、14:00-18:00 估算高峰价;未处理节假日及调休", + }, + { + ID: "deepseek-v4-flash", Label: "DeepSeek V4.1 Flash(旧名)", Vendor: "DeepSeek", Currency: "CNY", + OffPeak: ModelPriceBand{CacheHit: 0.02, CacheMiss: 1, Output: 4}, + Peak: ModelPriceBand{CacheHit: 0.04, CacheMiss: 2, Output: 8}, + PeakStartHour: 9, PeakEndHour: 18, PeakWeekdaysOnly: true, Source: src, + PeakNote: "旧模型名,按 Flash 价格计费", Alias: true, CanonicalID: "deepseek-v4.1-flash", + }, + { + ID: "deepseek-v4-pro", Label: "DeepSeek V4 Pro", Vendor: "DeepSeek", Currency: "CNY", + OffPeak: ModelPriceBand{CacheHit: 0.15, CacheMiss: 4.5, Output: 13.5}, + Peak: ModelPriceBand{CacheHit: 0.30, CacheMiss: 9.0, Output: 27.0}, + PeakStartHour: 9, PeakEndHour: 18, PeakWeekdaysOnly: true, Source: src, + PeakNote: "按北京时间周一至周五 09:00-12:00、14:00-18:00 估算高峰价;未处理节假日及调休", + }, + } +} + +// ModelPriceCatalog is the full set of priced models, sorted by vendor then id. +func ModelPriceCatalog() []ModelPrice { + prices := deepSeekPrices() + sort.Slice(prices, func(i, j int) bool { + if prices[i].Vendor != prices[j].Vendor { + return prices[i].Vendor < prices[j].Vendor + } + return prices[i].ID < prices[j].ID + }) + return prices +} + +// PricedModelIDs returns the bare model ids that have a price row. The store +// uses this to filter request_logs without re-spelling the catalog. +func PricedModelIDs() []string { + prices := deepSeekPrices() + ids := make([]string, 0, len(prices)) + for _, p := range prices { + ids = append(ids, p.ID) + } + return ids +} + +// LookupModelPrice matches an upstream model id to a price row. Matching is +// case-insensitive, tolerates a provider prefix (workbuddy/...), and strips a +// trailing "-sg" / "_sg" regional suffix so WorkBuddy's Singapore aliases fold +// onto the same official price. +func LookupModelPrice(modelID string) (ModelPrice, bool) { + id := normalizePriceModelID(modelID) + if id == "" { + return ModelPrice{}, false + } + for _, p := range deepSeekPrices() { + if p.ID == id { + return p, true + } + } + return ModelPrice{}, false +} + +func normalizePriceModelID(modelID string) string { + id := strings.ToLower(strings.TrimSpace(modelID)) + if idx := strings.LastIndex(id, "/"); idx >= 0 { + id = id[idx+1:] + } + for _, suffix := range []string{"-sg", "_sg"} { + if strings.HasSuffix(id, suffix) { + id = strings.TrimSuffix(id, suffix) + } + } + return id +} + +// isPeakHour reports whether the UTC timestamp falls in the vendor peak window. +func (p ModelPrice) isPeakHour(at time.Time) bool { + if p.PeakStartHour == 0 && p.PeakEndHour == 0 { + return false + } + local := at.In(chinaLocation) + if p.PeakWeekdaysOnly && (local.Weekday() == time.Saturday || local.Weekday() == time.Sunday) { + return false + } + hour := local.Hour() + // DeepSeek's peak window is 09:00–12:00 and 14:00–18:00, not a single span. + // Models with a single contiguous morning/afternoon window still fit the + // [start,end) test below because the published midday break is the only gap. + if p.PeakStartHour == 9 && p.PeakEndHour == 18 { + return (hour >= 9 && hour < 12) || (hour >= 14 && hour < 18) + } + return hour >= p.PeakStartHour && hour < p.PeakEndHour +} + +// bandCost prices a token split at the given band. +func bandCost(u TokenUsage, b ModelPriceBand) float64 { + const million = 1_000_000 + return (float64(u.CacheHit)*b.CacheHit + float64(u.CacheMiss)*b.CacheMiss + float64(u.Output)*b.Output) / million +} + +// Cost prices one request's usage; when peak is true it bills the whole split +// at the peak band. (Per-request granularity is the caller's; a request that +// straddles the boundary is billed by its start time, which matches how the +// provider stamps usage.) +func (p ModelPrice) Cost(u TokenUsage, peak bool) float64 { + if peak { + return bandCost(u, p.Peak) + } + return bandCost(u, p.OffPeak) +} + +// CostUsageRow is one pre-aggregated slice the store hands back: token usage for +// one model in one whole-hour UTC bucket. Bucketing by hour keeps every row on +// one side of DeepSeek's peak boundary (which is set on Beijing whole hours), so +// the peak/off-peak split stays exact even when callers ask for a daily view. +type CostUsageRow struct { + Model string + HourStart time.Time // UTC, truncated to the hour + Requests int64 + Usage TokenUsage + // Credits is the quota consumed in this bucket; it is provider-agnostic and + // survives models that have no official list price. + Credits float64 +} + +// accumulateUsage folds one bucket's tokens and quota into a target row. Cost is +// added by the caller because only priced rows carry it. +func accumulateUsage(target *ModelCost, row CostUsageRow, cost float64) { + target.Requests += row.Requests + target.CacheHit += row.Usage.CacheHit + target.CacheMiss += row.Usage.CacheMiss + target.Output += row.Usage.Output + target.TotalTokens += row.Usage.Total() + target.Credits += row.Credits + target.Cost += cost +} + +// BuildCostBreakdown prices pre-aggregated usage rows into the console payload. +// When daily is true the series is bucketed by UTC day, otherwise by hour. +func BuildCostBreakdown(rows []CostUsageRow, from, to time.Time, daily bool) CostBreakdown { + from = from.UTC() + to = to.UTC() + hours := int(to.Sub(from).Round(time.Hour) / time.Hour) + if hours < 1 { + hours = 1 + } + + byModel := map[string]*ModelCost{} + order := make([]string, 0, len(rows)) + seen := map[string]bool{} + + // Series buckets keyed by ISO-ish string; we keep the bucket start for sort. + type seriesAcc struct { + at time.Time + perModel map[string]float64 + tokens int64 + credits float64 + } + series := map[string]*seriesAcc{} + seriesOrder := make([]string, 0) + + bucketKey := func(t time.Time) (string, time.Time) { + if daily { + day := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, time.UTC) + return day.Format("2006-01-02"), day + } + h := t.Truncate(time.Hour) + return h.Format("2006-01-02T15"), h + } + + var total ModelCost + unpricedSet := map[string]bool{} + var unpriced []string + for _, row := range rows { + price, ok := LookupModelPrice(row.Model) + if ok && price.CanonicalID != "" { + if canonical, found := LookupModelPrice(price.CanonicalID); found { + price = canonical + } + } + if !ok { + // No official list price, but the request still consumed quota and + // tokens. Keep the row so the usage table and credit totals stay + // complete; only the monetary columns stay zero. + if row.Requests > 0 || row.Usage.Total() > 0 || row.Credits > 0 { + key := strings.TrimSpace(row.Model) + if key == "" { + key = "(unknown)" + } + if !unpricedSet[key] { + unpricedSet[key] = true + unpriced = append(unpriced, key) + } + } + mc := byModel[row.Model] + if mc == nil { + label := strings.TrimSpace(row.Model) + if label == "" { + label = "(unknown)" + } + mc = &ModelCost{ID: label, Label: label, Currency: ""} + byModel[row.Model] = mc + } + if !seen[row.Model] { + seen[row.Model] = true + order = append(order, row.Model) + } + accumulateUsage(mc, row, 0) + accumulateUsage(&total, row, 0) + key, at := bucketKey(row.HourStart) + acc := series[key] + if acc == nil { + acc = &seriesAcc{at: at, perModel: map[string]float64{}} + series[key] = acc + seriesOrder = append(seriesOrder, key) + } + acc.tokens += row.Usage.Total() + acc.credits += row.Credits + continue + } + mc := byModel[price.ID] + if mc == nil { + mc = &ModelCost{ID: price.ID, Label: price.Label, Vendor: price.Vendor, Currency: price.Currency} + byModel[price.ID] = mc + } + if !seen[price.ID] { + seen[price.ID] = true + order = append(order, price.ID) + } + peak := price.isPeakHour(row.HourStart) + cost := price.Cost(row.Usage, peak) + + mc.Priced = true + accumulateUsage(mc, row, cost) + if peak { + mc.CostPeak += cost + mc.PeakRequests += row.Requests + } else { + mc.CostOffPeak += cost + } + + accumulateUsage(&total, row, cost) + if peak { + total.CostPeak += cost + total.PeakRequests += row.Requests + } else { + total.CostOffPeak += cost + } + + key, at := bucketKey(row.HourStart) + acc := series[key] + if acc == nil { + acc = &seriesAcc{at: at, perModel: map[string]float64{}} + series[key] = acc + seriesOrder = append(seriesOrder, key) + } + acc.perModel[price.ID] += cost + acc.tokens += row.Usage.Total() + acc.credits += row.Credits + } + + sort.Slice(order, func(i, j int) bool { return byModel[order[i]].Cost > byModel[order[j]].Cost }) + models := make([]ModelCost, 0, len(order)) + for _, id := range order { + models = append(models, *byModel[id]) + } + + sort.Strings(seriesOrder) + points := make([]CostSeriesPoint, 0, len(seriesOrder)) + for _, key := range seriesOrder { + acc := series[key] + points = append(points, CostSeriesPoint{At: acc.at, PerModel: acc.perModel, Tokens: acc.tokens, Credits: acc.credits}) + } + + sort.Strings(unpriced) + return CostBreakdown{ + Window: RequestStatsWindow{From: from, To: to, Hours: hours}, + Currency: "CNY", + Models: models, + Totals: total, + Series: points, + Unpriced: unpriced, + } +} diff --git a/internal/accounts/model_cost_test.go b/internal/accounts/model_cost_test.go new file mode 100644 index 00000000..e6a0d277 --- /dev/null +++ b/internal/accounts/model_cost_test.go @@ -0,0 +1,177 @@ +package accounts + +import ( + "math" + "strings" + "testing" + "time" +) + +func TestLookupModelPriceNormalizesIDs(t *testing.T) { + cases := map[string]string{ + "deepseek-v4.1-flash": "deepseek-v4.1-flash", + "DeepSeek-V4.1-Flash": "deepseek-v4.1-flash", + "workbuddy/deepseek-v4.1-flash": "deepseek-v4.1-flash", + "deepseek-v4.1-flash-sg": "deepseek-v4.1-flash", + "deepseek-v4-flash": "deepseek-v4-flash", + "deepseek-v4-pro": "deepseek-v4-pro", + } + for in, want := range cases { + price, ok := LookupModelPrice(in) + if !ok { + t.Fatalf("LookupModelPrice(%q) not found", in) + } + if price.ID != want { + t.Fatalf("LookupModelPrice(%q).ID = %q, want %q", in, price.ID, want) + } + } + if _, ok := LookupModelPrice("glm-5.3-flash"); ok { + t.Fatal("glm-5.3-flash must not be priced as DeepSeek") + } + if _, ok := LookupModelPrice(""); ok { + t.Fatal("empty id must not resolve") + } +} + +func TestPeakHourBeijingWindow(t *testing.T) { + price, _ := LookupModelPrice("deepseek-v4.1-flash") + // Beijing is UTC+8. Monday 2026-10-12. + mk := func(beijingHour, minute int) time.Time { + return time.Date(2026, 10, 12, beijingHour, minute, 0, 0, chinaLocation).UTC() + } + peaks := []time.Time{mk(9, 0), mk(11, 59), mk(14, 0), mk(17, 59)} + for _, at := range peaks { + if !price.isPeakHour(at) { + t.Fatalf("%s should be peak", at.In(chinaLocation).Format("Mon 15:04")) + } + } + offpeak := []time.Time{mk(8, 59), mk(12, 0), mk(13, 59), mk(18, 0), mk(3, 0)} + for _, at := range offpeak { + if price.isPeakHour(at) { + t.Fatalf("%s should be off-peak", at.In(chinaLocation).Format("Mon 15:04")) + } + } + // Weekend day is off-peak regardless of hour. + sat := time.Date(2026, 10, 10, 10, 0, 0, 0, chinaLocation).UTC() + if price.isPeakHour(sat) { + t.Fatal("Saturday 10:00 Beijing must be off-peak") + } +} + +func TestModelPriceCost(t *testing.T) { + price, _ := LookupModelPrice("deepseek-v4.1-flash") + usage := TokenUsage{CacheHit: 1_000_000, CacheMiss: 1_000_000, Output: 1_000_000} + // Off-peak: 0.02 + 1 + 4 = 5.02 + if got := price.Cost(usage, false); math.Abs(got-5.02) > 1e-9 { + t.Fatalf("off-peak cost = %v, want 5.02", got) + } + // Peak is exactly double. + if got := price.Cost(usage, true); math.Abs(got-10.04) > 1e-9 { + t.Fatalf("peak cost = %v, want 10.04", got) + } +} + +func TestBuildCostBreakdownSplitsPeakAndOffPeak(t *testing.T) { + // 2026-10-12 02:00 UTC = 10:00 Beijing (peak). 2026-10-12 20:00 UTC = 04:00 + // Beijing next day (off-peak) — both same UTC day so the daily series merges. + peakHour := time.Date(2026, 10, 12, 2, 0, 0, 0, time.UTC) + offHour := time.Date(2026, 10, 12, 20, 0, 0, 0, time.UTC) + rows := []CostUsageRow{ + {Model: "deepseek-v4.1-flash", HourStart: peakHour, Requests: 3, Usage: TokenUsage{CacheHit: 1_000_000, Output: 1_000_000}}, + {Model: "workbuddy/deepseek-v4.1-flash", HourStart: offHour, Requests: 2, Usage: TokenUsage{CacheMiss: 1_000_000, Output: 1_000_000}}, + {Model: "glm-5.3-flash", HourStart: peakHour, Requests: 9, Usage: TokenUsage{Output: 5_000_000}}, // unpriced + } + from := time.Date(2026, 10, 10, 0, 0, 0, 0, time.UTC) + to := time.Date(2026, 10, 16, 0, 0, 0, 0, time.UTC) + got := BuildCostBreakdown(rows, from, to, true) + + // Every model that carried usage is reported; glm-5.3-flash has no list + // price, so it appears with Priced=false and zero cost while still + // contributing its tokens. + if len(got.Models) != 2 { + t.Fatalf("models = %d, want 2 (1 priced + 1 unpriced)", len(got.Models)) + } + var m ModelCost + for _, candidate := range got.Models { + if candidate.Priced { + m = candidate + } else if !strings.Contains(candidate.ID, "glm") { + t.Fatalf("unpriced model = %q, want glm-5.3-flash", candidate.ID) + } + } + if m.Requests != 5 { + t.Fatalf("requests = %d, want 5", m.Requests) + } + // Peak hour: 1M hit*0.04 + 1M out*8 = 8.04 + // Off hour: 1M miss*1 + 1M out*4 = 5.0 + wantPeak, wantOff := 8.04, 5.0 + if math.Abs(m.CostPeak-wantPeak) > 1e-9 || math.Abs(m.CostOffPeak-wantOff) > 1e-9 { + t.Fatalf("peak/off = %v/%v, want %v/%v", m.CostPeak, m.CostOffPeak, wantPeak, wantOff) + } + if math.Abs(m.Cost-(wantPeak+wantOff)) > 1e-9 { + t.Fatalf("total cost = %v, want %v", m.Cost, wantPeak+wantOff) + } + if m.PeakRequests != 3 { + t.Fatalf("peak requests = %d, want 3", m.PeakRequests) + } + if len(got.Unpriced) != 1 || got.Unpriced[0] != "glm-5.3-flash" { + t.Fatalf("unpriced = %v, want [glm-5.3-flash]", got.Unpriced) + } + // Both hours fall on the same UTC day, so the daily series has one point. + if len(got.Series) != 1 { + t.Fatalf("series points = %d, want 1", len(got.Series)) + } + if math.Abs(got.Series[0].PerModel["deepseek-v4.1-flash"]-(wantPeak+wantOff)) > 1e-9 { + t.Fatalf("series bucket = %v, want %v", got.Series[0].PerModel["deepseek-v4.1-flash"], wantPeak+wantOff) + } +} + +func TestBuildCostBreakdownReportsCreditsForUnpricedModels(t *testing.T) { + // Subscription accounts consume quota even for models with no official list + // price, so those rows must still surface tokens and credits with zero cost. + peakHour := time.Date(2026, 10, 12, 2, 0, 0, 0, time.UTC) + rows := []CostUsageRow{ + {Model: "deepseek-v4.1-flash", HourStart: peakHour, Requests: 2, + Usage: TokenUsage{CacheHit: 1_000_000, Output: 1_000_000}, Credits: 1.5}, + {Model: "glm-5.3-flash", HourStart: peakHour, Requests: 4, + Usage: TokenUsage{CacheMiss: 2_000_000, Output: 3_000_000}, Credits: 7.25}, + } + from := time.Date(2026, 10, 10, 0, 0, 0, 0, time.UTC) + to := time.Date(2026, 10, 16, 0, 0, 0, 0, time.UTC) + got := BuildCostBreakdown(rows, from, to, true) + + var priced, unpriced *ModelCost + for i := range got.Models { + if got.Models[i].Priced { + priced = &got.Models[i] + } else { + unpriced = &got.Models[i] + } + } + if priced == nil || unpriced == nil { + t.Fatalf("models = %d, want one priced and one unpriced", len(got.Models)) + } + if unpriced.Credits != 7.25 { + t.Fatalf("unpriced credits = %v, want 7.25", unpriced.Credits) + } + if unpriced.TotalTokens != 5_000_000 { + t.Fatalf("unpriced tokens = %d, want 5000000", unpriced.TotalTokens) + } + if unpriced.Cost != 0 { + t.Fatalf("unpriced cost = %v, want 0", unpriced.Cost) + } + if priced.Credits != 1.5 { + t.Fatalf("priced credits = %v, want 1.5", priced.Credits) + } + // Totals keep both kinds of cost unit so the console can show quota consumed + // across every provider next to the DeepSeek-equivalent money. + if got.Totals.Credits != 8.75 { + t.Fatalf("total credits = %v, want 8.75", got.Totals.Credits) + } + if got.Totals.Requests != 6 { + t.Fatalf("total requests = %d, want 6", got.Totals.Requests) + } + if len(got.Series) != 1 || got.Series[0].Credits != 8.75 { + t.Fatalf("series credits = %+v, want one point with 8.75", got.Series) + } +} diff --git a/internal/api/logs_test.go b/internal/api/logs_test.go index c6d1dad9..51c5eaf5 100644 --- a/internal/api/logs_test.go +++ b/internal/api/logs_test.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "math" "net/http" "net/http/httptest" "strings" @@ -254,3 +255,67 @@ func TestGetRequestLogExposesUsageDetail(t *testing.T) { t.Fatalf("usage_detail = %+v", got.UsageDetail) } } + +func TestUsageCostEndpointPricesDeepSeek(t *testing.T) { + dir := t.TempDir() + srv := New(config.Config{ + Host: "127.0.0.1", Port: 3010, ProxyAPIKey: "secret", + QoderHome: dir, DataDir: dir, + }) + defer srv.Close() + + ctx := context.Background() + // Keep the fixture inside retention even when the asynchronous pruner runs. + // Noon UTC is 20:00 Beijing and always off-peak. + yesterday := time.Now().UTC().Add(-24 * time.Hour) + at := time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 12, 0, 0, 0, time.UTC) + prompt, completion, cacheRead := 1_000_000, 1_000_000, 500_000 + if err := srv.Recorder.Store().InsertRequestLog(ctx, accounts.RequestLog{ + ID: accounts.NewRequestID(), CreatedAt: at, Status: accounts.RequestStatusOK, + RequestedModel: "deepseek-v4.1-flash", AccountID: "acc_wb", Provider: "workbuddy", + PromptTokens: &prompt, CompletionTokens: &completion, CacheReadTokens: &cacheRead, + }); err != nil { + t.Fatal(err) + } + + from := at.Truncate(24 * time.Hour) + to := from.Add(24 * time.Hour) + req := httptest.NewRequest(http.MethodGet, "/api/usage/cost?from="+from.Format(time.RFC3339)+"&to="+to.Format(time.RFC3339), nil) + req.Header.Set("Authorization", "Bearer secret") + rec := httptest.NewRecorder() + srv.Handler().ServeHTTP(rec, req) + if rec.Code != http.StatusOK { + t.Fatalf("status=%d body=%s", rec.Code, rec.Body.String()) + } + var got accounts.CostBreakdown + if err := json.Unmarshal(rec.Body.Bytes(), &got); err != nil { + t.Fatal(err) + } + if got.Totals.Requests != 1 || len(got.Models) != 1 { + t.Fatalf("breakdown = %+v", got.Totals) + } + // Off-peak 500k hit*0.02 + 500k miss*1 + 1M out*4 = 0.01 + 0.5 + 4 = 4.51 + if math.Abs(got.Totals.Cost-4.51) > 1e-6 { + t.Fatalf("cost = %v, want 4.51", got.Totals.Cost) + } + if got.Currency != "CNY" { + t.Fatalf("currency = %q", got.Currency) + } +} + +func TestUsageCostAndPricingRequireConsoleKey(t *testing.T) { + dir := t.TempDir() + srv := New(config.Config{ + Host: "127.0.0.1", Port: 3010, ProxyAPIKey: "secret", + QoderHome: dir, DataDir: dir, + }) + defer srv.Close() + for _, path := range []string{"/api/usage/cost", "/api/usage/pricing"} { + req := httptest.NewRequest(http.MethodGet, path, nil) + rec := httptest.NewRecorder() + srv.Handler().ServeHTTP(rec, req) + if rec.Code != http.StatusUnauthorized { + t.Fatalf("%s without key status=%d, want 401", path, rec.Code) + } + } +} diff --git a/internal/console/usage.go b/internal/console/usage.go new file mode 100644 index 00000000..b5036848 --- /dev/null +++ b/internal/console/usage.go @@ -0,0 +1,90 @@ +package console + +import ( + "net/http" + "strings" + "time" + + "github.com/caigee-cmd/cli2api/internal/accounts" + "github.com/caigee-cmd/cli2api/internal/logs" +) + +// exportWindowHours is the widest range the cost panel can ask for. Request logs +// are pruned on a schedule (CLI2API_LOG_RETENTION_DAYS, 7 days by default), so +// the ceiling follows that setting instead of hardcoding a week — otherwise +// raising retention would still leave the panel reporting a truncated window. +func exportWindowHours() int { + days := logs.RetentionDays() + if days < 1 { + days = 1 + } + return 24 * days +} + +func (h *Handler) HandleUsage(w http.ResponseWriter, r *http.Request) { + path := strings.Trim(r.URL.Path, "/") + switch path { + case "api/usage/pricing": + if r.Method != http.MethodGet { + writeErr(w, http.StatusMethodNotAllowed, "method_not_allowed", "GET only") + return + } + catalog := make([]accounts.ModelPrice, 0) + for _, model := range accounts.ModelPriceCatalog() { + if model.Alias { + continue + } + catalog = append(catalog, model) + } + // No display copy here: the console renders localized text from its own + // i18n messages, so the API stays language-neutral. + writeJSON(w, http.StatusOK, map[string]any{ + "currency": "CNY", + "models": catalog, + }) + case "api/usage/cost": + if r.Method != http.MethodGet { + writeErr(w, http.StatusMethodNotAllowed, "method_not_allowed", "GET only") + return + } + h.handleUsageCost(w, r) + default: + writeErr(w, http.StatusNotFound, "not_found", "unknown usage endpoint") + } +} + +func (h *Handler) handleUsageCost(w http.ResponseWriter, r *http.Request) { + if h.Recorder == nil { + writeErr(w, http.StatusServiceUnavailable, "logs_unavailable", "request logs unavailable") + return + } + now := time.Now().UTC() + to := ParseQueryTime(r.URL.Query().Get("to"), true) + if to == nil { + to = &now + } + from := ParseQueryTime(r.URL.Query().Get("from"), false) + if from == nil { + earliest := to.Add(-time.Duration(exportWindowHours()) * time.Hour) + from = &earliest + } + // Clamp to the retention ceiling so a wide custom range cannot imply + // full coverage of data the pruner already dropped. + if floor := to.Add(-time.Duration(exportWindowHours()) * time.Hour); from.Before(floor) { + from = &floor + } + if !to.After(*from) { + start := to.Add(-24 * time.Hour) + from = &start + } + breakdown, err := h.Recorder.CostBreakdown(r.Context(), *from, *to) + if err != nil { + if err.Error() == "request logs unavailable" { + writeErr(w, http.StatusServiceUnavailable, "logs_unavailable", err.Error()) + return + } + writeErr(w, http.StatusInternalServerError, "cost_failed", err.Error()) + return + } + writeJSON(w, http.StatusOK, breakdown) +} diff --git a/internal/logs/recorder.go b/internal/logs/recorder.go index 8b1288a1..c8b6df96 100644 --- a/internal/logs/recorder.go +++ b/internal/logs/recorder.go @@ -4,12 +4,47 @@ import ( "context" "fmt" "log" + "os" + "strconv" + "strings" "sync" "time" "github.com/caigee-cmd/cli2api/internal/accounts" ) +// Request-log retention. Defaults preserve the historical behaviour (7 days / +// 20k rows); deployments that want a longer usage history can raise the +// retention window and the row cap together. +const ( + defaultRetentionDays = 7 + defaultMaxLogRows = 20_000 + retentionDaysEnv = "CLI2API_LOG_RETENTION_DAYS" + maxLogRowsEnv = "CLI2API_LOG_MAX_ROWS" +) + +// RetentionDays is how long request logs are kept; 0 or an invalid value falls +// back to the default. +func RetentionDays() int { + if v := strings.TrimSpace(os.Getenv(retentionDaysEnv)); v != "" { + if n, err := strconv.Atoi(v); err == nil && n > 0 { + return n + } + } + return defaultRetentionDays +} + +// MaxLogRows caps the retained rows independently of the age window, so a burst +// of traffic cannot grow the SQLite file without bound. +func MaxLogRows() int { + if v := strings.TrimSpace(os.Getenv(maxLogRowsEnv)); v != "" { + if n, err := strconv.Atoi(v); err == nil && n > 0 { + return n + } + } + return defaultMaxLogRows +} + // RequestPersister is the write surface the recorder actually uses. // Query methods stay off this interface so a later store package can // satisfy logs without logs depending on the concrete SQLite type. @@ -30,6 +65,7 @@ type RequestQuery interface { ListRequestLogs(ctx context.Context, filter accounts.RequestLogFilter) (accounts.RequestLogList, error) GetRequestLog(ctx context.Context, id string) (accounts.RequestLog, error) SummarizeRequestLogs(ctx context.Context, from, to time.Time) (accounts.RequestStats, error) + SummarizeModelCosts(ctx context.Context, from, to time.Time) ([]accounts.CostUsageRow, error) } // RequestStore is the union the SQLite store already implements. It keeps @@ -172,7 +208,8 @@ func (r *RequestRecorder) PurgeLoop(stop <-chan struct{}, every time.Duration) { func (r *RequestRecorder) purgeOnce() { r.enqueue(func() { - if _, err := r.store.PurgeRequestLogs(context.Background(), 7*24*time.Hour, 20_000); err != nil { + keep := time.Duration(RetentionDays()) * 24 * time.Hour + if _, err := r.store.PurgeRequestLogs(context.Background(), keep, MaxLogRows()); err != nil { logf("purge request logs: %v", err) } }) @@ -253,6 +290,22 @@ func (r *RequestRecorder) StatsCacheSize() int { return len(r.statsCache) } +// CostBreakdown prices the DeepSeek usage in the window against the official +// list prices. It is computed live (not cached) because the panel is opened on +// demand and the hourly aggregate is cheap. +func (r *RequestRecorder) CostBreakdown(ctx context.Context, from, to time.Time) (accounts.CostBreakdown, error) { + store := r.Store() + if store == nil { + return accounts.CostBreakdown{}, fmt.Errorf("request logs unavailable") + } + rows, err := store.SummarizeModelCosts(ctx, from, to) + if err != nil { + return accounts.CostBreakdown{}, err + } + span := to.Sub(from) + return accounts.BuildCostBreakdown(rows, from, to, span > 48*time.Hour), nil +} + func logf(format string, args ...any) { log.Printf("[logs] "+format, args...) } diff --git a/internal/logs/retention_test.go b/internal/logs/retention_test.go new file mode 100644 index 00000000..a7f50e23 --- /dev/null +++ b/internal/logs/retention_test.go @@ -0,0 +1,44 @@ +package logs + +import ( + "testing" +) + +func TestRetentionDaysDefaultsAndOverride(t *testing.T) { + t.Setenv(retentionDaysEnv, "") + if got := RetentionDays(); got != defaultRetentionDays { + t.Fatalf("default retention = %d, want %d", got, defaultRetentionDays) + } + + t.Setenv(retentionDaysEnv, "90") + if got := RetentionDays(); got != 90 { + t.Fatalf("override retention = %d, want 90", got) + } + + // Invalid values must not silently disable pruning. + for _, bad := range []string{"0", "-3", "abc", " "} { + t.Setenv(retentionDaysEnv, bad) + if got := RetentionDays(); got != defaultRetentionDays { + t.Fatalf("retention for %q = %d, want default %d", bad, got, defaultRetentionDays) + } + } +} + +func TestMaxLogRowsDefaultsAndOverride(t *testing.T) { + t.Setenv(maxLogRowsEnv, "") + if got := MaxLogRows(); got != defaultMaxLogRows { + t.Fatalf("default max rows = %d, want %d", got, defaultMaxLogRows) + } + + t.Setenv(maxLogRowsEnv, "200000") + if got := MaxLogRows(); got != 200000 { + t.Fatalf("override max rows = %d, want 200000", got) + } + + for _, bad := range []string{"0", "-1", "lots"} { + t.Setenv(maxLogRowsEnv, bad) + if got := MaxLogRows(); got != defaultMaxLogRows { + t.Fatalf("max rows for %q = %d, want default %d", bad, got, defaultMaxLogRows) + } + } +} diff --git a/internal/providers/qwenwork/client_test.go b/internal/providers/qwenwork/client_test.go index ace43c81..65bcaa2e 100644 --- a/internal/providers/qwenwork/client_test.go +++ b/internal/providers/qwenwork/client_test.go @@ -873,7 +873,9 @@ func TestQuotaAbsentFieldsError(t *testing.T) { func TestProbeReportsCredentialReadiness(t *testing.T) { payload, _ := readyCredential().Encode() store := &memStore{region: "global", items: map[string][]byte{"acc1": payload}} - client := NewClient(store) + // Incomplete credentials trigger identity discovery. Keep that fallback on + // the local server instead of sending the fixture token to a live gateway. + client := newTestClient(t, store, http.NotFoundHandler()) health, err := client.Probe(context.Background(), "acc1") if err != nil { t.Fatal(err) diff --git a/internal/providers/workbuddy/client.go b/internal/providers/workbuddy/client.go index a24b8a28..e47d1329 100644 --- a/internal/providers/workbuddy/client.go +++ b/internal/providers/workbuddy/client.go @@ -526,7 +526,9 @@ func (c *Client) ChatStream(ctx context.Context, accountID string, req translate return nil, providers.ResolvedChat{}, err } client.Timeout = 0 - resp, err := client.Do(httpReq) + // Fail over fast when the upstream accepts the request but never sends a + // response head; see ttfb.go for why this must not cut a started stream. + resp, err := doWithFirstByteTimeout(client, httpReq, resolveFirstByteTimeout()) if err != nil { return nil, providers.ResolvedChat{}, err } diff --git a/internal/providers/workbuddy/ttfb.go b/internal/providers/workbuddy/ttfb.go new file mode 100644 index 00000000..d03595bf --- /dev/null +++ b/internal/providers/workbuddy/ttfb.go @@ -0,0 +1,93 @@ +package workbuddy + +import ( + "context" + "errors" + "fmt" + "io" + "net/http" + "os" + "strconv" + "strings" + "time" + + "github.com/caigee-cmd/cli2api/internal/providers" +) + +// Streaming first-byte timeout. +// +// WorkBuddy's CN gateway sometimes accepts a chat request and then sends nothing +// at all for minutes — an upstream hang, not a rejection. Without a deadline the +// relay waits until the client gives up, the turn is spent, and a retry lands on +// the same account. Qoder already fails over on this (QODER_STREAM_TTFB_MS); this +// is the WorkBuddy counterpart. +const defaultFirstByteTimeout = 30 * time.Second + +// workbuddyStreamTTFBEnv overrides the first-byte deadline. +const workbuddyStreamTTFBEnv = "WORKBUDDY_STREAM_TTFB_MS" + +// resolveFirstByteTimeout reads WORKBUDDY_STREAM_TTFB_MS. Absent or invalid +// values fall back to the default; sub-5s values clamp up so the knob cannot be +// set so low that normal upstream latency looks like a hang. +func resolveFirstByteTimeout() time.Duration { + raw := strings.TrimSpace(os.Getenv(workbuddyStreamTTFBEnv)) + if raw == "" { + return defaultFirstByteTimeout + } + ms, err := strconv.Atoi(raw) + if err != nil || ms <= 0 { + return defaultFirstByteTimeout + } + d := time.Duration(ms) * time.Millisecond + if d < 5*time.Second { + return 5 * time.Second + } + return d +} + +// doWithFirstByteTimeout sends req and returns once the response head arrives. +// If the head does not arrive within timeout the error wraps +// providers.ErrFirstByteTimeout, which the executor classifies as an upstream +// failure and fails over to another account. +// +// The deadline context must NOT be cancelled after a successful head: Go ties +// the response body to the request context, so cancelling would truncate the +// stream that has already started. Only the error path cancels; on success the +// timer stops and the derived context is released by Body.Close. +func doWithFirstByteTimeout(client *http.Client, req *http.Request, timeout time.Duration) (*http.Response, error) { + if timeout <= 0 { + timeout = defaultFirstByteTimeout + } + parent := req.Context() + ttfbCtx, cancelTTFB := context.WithCancel(parent) + timer := time.AfterFunc(timeout, cancelTTFB) + resp, err := client.Do(req.WithContext(ttfbCtx)) + if err == nil { + timer.Stop() + resp.Body = &cancelOnCloseBody{ReadCloser: resp.Body, cancel: cancelTTFB} + return resp, nil + } + timer.Stop() + // Decide the cause before cancelTTFB, which would otherwise make + // ttfbCtx.Err() non-nil regardless of what actually happened. A parent + // cancel stays a plain cancel so a client disconnect is not cooled down. + timedOut := parent.Err() == nil && ttfbCtx.Err() != nil && !errors.Is(parent.Err(), context.Canceled) + cancelTTFB() + if timedOut { + return nil, fmt.Errorf("%w: no response head within %s", providers.ErrFirstByteTimeout, timeout) + } + return nil, err +} + +// cancelOnCloseBody releases the TTFB-derived context when the caller is done +// with the stream, without cutting the body short the way an eager cancel would. +type cancelOnCloseBody struct { + io.ReadCloser + cancel context.CancelFunc +} + +func (b *cancelOnCloseBody) Close() error { + err := b.ReadCloser.Close() + b.cancel() + return err +} diff --git a/internal/providers/workbuddy/ttfb_test.go b/internal/providers/workbuddy/ttfb_test.go new file mode 100644 index 00000000..80226128 --- /dev/null +++ b/internal/providers/workbuddy/ttfb_test.go @@ -0,0 +1,98 @@ +package workbuddy + +import ( + "context" + "errors" + "net/http" + "net/http/httptest" + "testing" + "time" + + "github.com/caigee-cmd/cli2api/internal/providers" +) + +func TestResolveFirstByteTimeout(t *testing.T) { + t.Setenv(workbuddyStreamTTFBEnv, "") + if got := resolveFirstByteTimeout(); got != defaultFirstByteTimeout { + t.Fatalf("default = %s, want %s", got, defaultFirstByteTimeout) + } + + t.Setenv(workbuddyStreamTTFBEnv, "45000") + if got := resolveFirstByteTimeout(); got != 45*time.Second { + t.Fatalf("override = %s, want 45s", got) + } + + // Below the floor must clamp up, otherwise normal latency looks like a hang. + t.Setenv(workbuddyStreamTTFBEnv, "100") + if got := resolveFirstByteTimeout(); got != 5*time.Second { + t.Fatalf("floor = %s, want 5s", got) + } + + // Invalid values fall back to the default rather than disabling the guard. + for _, bad := range []string{"0", "-1", "soon", " "} { + t.Setenv(workbuddyStreamTTFBEnv, bad) + if got := resolveFirstByteTimeout(); got != defaultFirstByteTimeout { + t.Fatalf("value %q = %s, want default %s", bad, got, defaultFirstByteTimeout) + } + } +} + +func TestChatStreamFailsOverWhenHeadNeverArrives(t *testing.T) { + release := make(chan struct{}) + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // Accept the request, then never write a head — the upstream hang this + // guard exists for. + <-release + })) + defer server.Close() + defer close(release) + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + req, err := http.NewRequestWithContext(ctx, http.MethodPost, server.URL, nil) + if err != nil { + t.Fatal(err) + } + + start := time.Now() + _, err = doWithFirstByteTimeout(server.Client(), req, 150*time.Millisecond) + if err == nil { + t.Fatal("expected a first-byte timeout") + } + if !errors.Is(err, providers.ErrFirstByteTimeout) { + t.Fatalf("err = %v, want ErrFirstByteTimeout", err) + } + if elapsed := time.Since(start); elapsed > 3*time.Second { + t.Fatalf("waited %s, the deadline did not fire", elapsed) + } +} + +func TestChatStreamKeepsBodyAliveAfterHead(t *testing.T) { + // A head that arrives in time must leave the body readable: cancelling the + // deadline context after success would truncate the stream. + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.(http.Flusher).Flush() + time.Sleep(300 * time.Millisecond) + _, _ = w.Write([]byte("data: ok\n\n")) + })) + defer server.Close() + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + req, err := http.NewRequestWithContext(ctx, http.MethodPost, server.URL, nil) + if err != nil { + t.Fatal(err) + } + + resp, err := doWithFirstByteTimeout(server.Client(), req, 2*time.Second) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + defer resp.Body.Close() + buf := make([]byte, 64) + n, _ := resp.Body.Read(buf) + if n == 0 { + t.Fatal("body was truncated after a successful head") + } +} diff --git a/internal/runtime/providers_test.go b/internal/runtime/providers_test.go index 7a5bebbf..c052c490 100644 --- a/internal/runtime/providers_test.go +++ b/internal/runtime/providers_test.go @@ -107,6 +107,7 @@ func TestManagerRefreshUsesInProcessProber(t *testing.T) { registry.Register(providers.Adapter{ID: "workbuddy", Prober: prober}) manager := accountruntime.NewManager(accountruntime.ManagerConfig{DataDir: t.TempDir()}, store, &fakeStarter{}) + defer manager.Close() manager.SetProviders(registry) manager.Pool().Upsert(executor.Item{ID: account.ID, Provider: "workbuddy", Runtime: "in_process"}) @@ -191,6 +192,7 @@ func TestManagerRefreshPersistsQuotaWindows(t *testing.T) { registry := providers.NewRegistry() registry.Register(providers.Adapter{ID: "devin", Prober: prober}) manager := accountruntime.NewManager(accountruntime.ManagerConfig{DataDir: t.TempDir()}, store, &fakeStarter{}) + defer manager.Close() manager.SetProviders(registry) manager.Pool().Upsert(executor.Item{ID: account.ID, Provider: "devin", Runtime: "in_process"}) if err := manager.RefreshAll(ctx, false); err != nil { @@ -254,6 +256,7 @@ func TestManagerRefreshClearsRecoveredDevinQuotaCooldown(t *testing.T) { registry := providers.NewRegistry() registry.Register(providers.Adapter{ID: "devin", Prober: prober}) manager := accountruntime.NewManager(accountruntime.ManagerConfig{DataDir: t.TempDir()}, store, &fakeStarter{}) + defer manager.Close() manager.SetProviders(registry) manager.Pool().Upsert(executor.Item{ID: account.ID, Provider: "devin", Runtime: "in_process"}) manager.Pool().MarkClassified(account.ID, executor.Classified{ @@ -300,6 +303,7 @@ func TestManagerRefreshSkipsEmptyURLWithoutProber(t *testing.T) { t.Fatal(err) } manager := accountruntime.NewManager(accountruntime.ManagerConfig{DataDir: t.TempDir()}, store, &fakeStarter{}) + defer manager.Close() manager.Pool().Upsert(executor.Item{ID: account.ID, Provider: "workbuddy", Runtime: "in_process"}) if err := manager.RefreshAll(ctx, false); err != nil { t.Fatalf("refresh without prober must be a no-op, got %v", err) @@ -346,6 +350,7 @@ func TestManagerRefreshUsesQoderAdapterCatalog(t *testing.T) { t.Fatal(err) } manager := accountruntime.NewManager(accountruntime.ManagerConfig{DataDir: t.TempDir(), ProxyAPIKey: "proxy-key"}, store, &fakeStarter{}) + defer manager.Close() client := qoder.NewClient() client.Bind(manager.AccountURL, manager.ProxyAPIKey) registry := providers.NewRegistry() @@ -376,6 +381,7 @@ func TestQoderAdapterRegistrationDoesNotProbeEmptyURL(t *testing.T) { t.Fatal(err) } manager := accountruntime.NewManager(accountruntime.ManagerConfig{DataDir: t.TempDir()}, store, &fakeStarter{}) + defer manager.Close() client := qoder.NewClient() client.Bind(manager.AccountURL, manager.ProxyAPIKey) registry := providers.NewRegistry() diff --git a/internal/server/router.go b/internal/server/router.go index c00e14e3..edde5f62 100644 --- a/internal/server/router.go +++ b/internal/server/router.go @@ -30,6 +30,8 @@ func (s *Server) routes() { s.mux.HandleFunc("/api/accounts/", s.withConsoleKey(s.consoleHandler().HandleAccountByID)) s.mux.HandleFunc("/api/logs", s.withConsoleKey(s.consoleHandler().HandleLogs)) s.mux.HandleFunc("/api/logs/", s.withConsoleKey(s.consoleHandler().HandleLogs)) + s.mux.HandleFunc("/api/usage", s.withConsoleKey(s.consoleHandler().HandleUsage)) + s.mux.HandleFunc("/api/usage/", s.withConsoleKey(s.consoleHandler().HandleUsage)) s.mux.HandleFunc("/api/chat", s.withConsoleKey(s.consoleHandler().HandleChat)) s.mux.HandleFunc(endpoint.ModelsPath, s.withAPIKey(s.gatewayHandler().HandleModels)) s.mux.HandleFunc(endpoint.ChatCompletionsPath, s.withAPIKey(s.gatewayHandler().HandleChatCompletions)) @@ -52,7 +54,7 @@ func (s *Server) routes() { r.URL.Path != "/og-card.svg" && r.URL.Path != "/site.webmanifest" { switch r.URL.Path { - case "/login", "/auth", "/providers", "/access", "/accounts", "/system", "/logs", "/keys": + case "/login", "/auth", "/providers", "/access", "/accounts", "/system", "/logs", "/keys", "/usage": default: http.NotFound(w, r) return diff --git a/internal/store/request_logs.go b/internal/store/request_logs.go index 6382afd1..003fb618 100644 --- a/internal/store/request_logs.go +++ b/internal/store/request_logs.go @@ -860,3 +860,72 @@ func nullIntPtr(value sql.NullInt64) *int { converted := int(value.Int64) return &converted } + +// SummarizeModelCosts aggregates token usage and consumed quota per model per +// whole UTC hour. It covers every provider, not only the ones with an official +// list price: subscription accounts still consume quota for unpriced models, and +// the console reports that quota alongside tokens. Rows with a NULL +// prompt_tokens (failed before usage was known) contribute no tokens but still +// count their recorded credits. +func (s *Store) SummarizeModelCosts(ctx context.Context, from, to time.Time) ([]accounts.CostUsageRow, error) { + if from.IsZero() { + from = time.Now().UTC().Add(-24 * time.Hour) + } + if to.IsZero() { + to = time.Now().UTC() + } + from = from.UTC() + to = to.UTC() + if !to.After(from) { + to = from.Add(time.Hour) + } + + // Prefer the model actually served over the public requested alias. Older + // logs without a mapped model fall back to the requested name. Pricing + // normalizes provider prefixes and regional suffixes after aggregation. + rows, err := s.db.QueryContext(ctx, ` +SELECT + COALESCE(NULLIF(TRIM(mapped_model), ''), NULLIF(TRIM(requested_model), ''), '') AS model_id, + substr(created_at, 1, 13) AS hour_key, + COALESCE(SUM(CASE WHEN prompt_tokens IS NOT NULL OR completion_tokens IS NOT NULL THEN 1 ELSE 0 END), 0), + COALESCE(SUM(COALESCE(cache_read_tokens, 0)), 0), + COALESCE(SUM(CASE WHEN prompt_tokens IS NULL THEN 0 ELSE MAX(prompt_tokens - COALESCE(cache_read_tokens, 0), 0) END), 0), + COALESCE(SUM(COALESCE(completion_tokens, 0)), 0), + COALESCE(SUM(COALESCE(credits, 0)), 0) +FROM request_logs +WHERE substr(created_at, 1, 19) >= ? AND substr(created_at, 1, 19) <= ? + AND COALESCE(NULLIF(TRIM(mapped_model), ''), NULLIF(TRIM(requested_model), ''), '') <> '' +GROUP BY model_id, hour_key`, from.Format("2006-01-02T15:04:05"), to.Format("2006-01-02T15:04:05")) + if err != nil { + return nil, fmt.Errorf("summarize model costs: %w", err) + } + defer rows.Close() + + out := make([]accounts.CostUsageRow, 0, 128) + for rows.Next() { + var ( + model string + hourKey string + requests int64 + hit int64 + miss int64 + output int64 + credits float64 + ) + if err := rows.Scan(&model, &hourKey, &requests, &hit, &miss, &output, &credits); err != nil { + return nil, fmt.Errorf("scan model cost row: %w", err) + } + hour, err := time.Parse("2006-01-02T15", hourKey) + if err != nil { + continue + } + out = append(out, accounts.CostUsageRow{ + Model: model, + HourStart: hour.UTC(), + Requests: requests, + Usage: accounts.TokenUsage{CacheHit: hit, CacheMiss: miss, Output: output}, + Credits: credits, + }) + } + return out, rows.Err() +} diff --git a/internal/store/request_logs_test.go b/internal/store/request_logs_test.go index 5a5f532c..72fc25cc 100644 --- a/internal/store/request_logs_test.go +++ b/internal/store/request_logs_test.go @@ -3,6 +3,7 @@ package store import ( "context" "github.com/caigee-cmd/cli2api/internal/accounts" + "math" "path/filepath" "testing" "time" @@ -439,3 +440,129 @@ func TestRequestLogPersistsRouting(t *testing.T) { t.Fatalf("detail = %+v, err=%v", detail, err) } } + +func TestSummarizeModelCostsAggregatesPricedModels(t *testing.T) { + ctx := context.Background() + store, err := OpenStore(filepath.Join(t.TempDir(), "qoder.db")) + if err != nil { + t.Fatal(err) + } + defer store.Close() + + // Peak hour (Beijing 10:00 = UTC 02:00) and off-peak hour, same day. + peak := time.Date(2026, 10, 12, 2, 15, 0, 0, time.UTC) + off := time.Date(2026, 10, 12, 20, 15, 0, 0, time.UTC) + insert := func(id, model string, at time.Time, prompt, completion, cacheRead int) { + p, c, cr := prompt, completion, cacheRead + if err := store.InsertRequestLog(ctx, accounts.RequestLog{ + ID: id, CreatedAt: at, Status: accounts.RequestStatusOK, RequestedModel: model, + PromptTokens: &p, CompletionTokens: &c, CacheReadTokens: &cr, UsageSource: "estimate", + }); err != nil { + t.Fatal(err) + } + } + insert("req_peak1", "deepseek-v4.1-flash", peak, 1_000_000, 1_000_000, 400_000) + insert("req_peak2", "deepseek-v4.1-flash", peak, 500_000, 0, 500_000) + insert("req_off1", "workbuddy/deepseek-v4.1-flash", off, 1_000_000, 1_000_000, 0) + insert("req_glm", "glm-5.3-flash", peak, 10, 10, 0) // unpriced, must be excluded + // A failed row with NULL prompt tokens must contribute nothing. + if err := store.InsertRequestLog(ctx, accounts.RequestLog{ + ID: "req_failed", CreatedAt: peak, Status: accounts.RequestStatusError, RequestedModel: "deepseek-v4.1-flash", + }); err != nil { + t.Fatal(err) + } + + from := time.Date(2026, 10, 12, 0, 0, 0, 0, time.UTC) + to := time.Date(2026, 10, 13, 0, 0, 0, 0, time.UTC) + rows, err := store.SummarizeModelCosts(ctx, from, to) + if err != nil { + t.Fatal(err) + } + breakdown := accounts.BuildCostBreakdown(rows, from, to, true) + // Model rows now include unpriced models so the console can still report + // their tokens and quota; only the priced one carries the monetary columns. + if len(breakdown.Models) != 2 { + t.Fatalf("models = %d, want 2 (priced + unpriced glm)", len(breakdown.Models)) + } + var m accounts.ModelCost + var unpriced accounts.ModelCost + for _, candidate := range breakdown.Models { + if candidate.Priced { + m = candidate + } else { + unpriced = candidate + } + } + if unpriced.ID != "glm-5.3-flash" { + t.Fatalf("unpriced id = %q, want glm-5.3-flash", unpriced.ID) + } + if unpriced.Output != 10 || unpriced.Cost != 0 { + t.Fatalf("unpriced output/cost = %d/%v, want 10/0", unpriced.Output, unpriced.Cost) + } + // Peak rows: hit 400k+500k=900k, miss (600k+0)=600k, output 1M. + // Off row: hit 0, miss 1M, output 1M. + if m.CacheHit != 900_000 || m.CacheMiss != 1_600_000 || m.Output != 2_000_000 { + t.Fatalf("tokens hit/miss/out = %d/%d/%d", m.CacheHit, m.CacheMiss, m.Output) + } + if m.Requests != 3 { + t.Fatalf("requests = %d, want 3", m.Requests) + } + wantPeak := (900_000*0.04 + 600_000*2 + 1_000_000*8) / 1_000_000 + wantOff := (0*0.02 + 1_000_000*1 + 1_000_000*4) / 1_000_000 + if math.Abs(m.CostPeak-wantPeak) > 1e-9 || math.Abs(m.CostOffPeak-wantOff) > 1e-9 { + t.Fatalf("peak/off = %v/%v, want %v/%v", m.CostPeak, m.CostOffPeak, wantPeak, wantOff) + } +} + +func TestSummarizeModelCostsUsesServedModel(t *testing.T) { + cases := []struct { + name, requested, mapped, want string + priced bool + }{ + {"alias to priced model", "my-model", "workbuddy/deepseek-v4.1-flash-sg", "deepseek-v4.1-flash", true}, + {"priced alias to unpriced model", "deepseek-v4.1-flash", "glm-5.3-flash", "glm-5.3-flash", false}, + {"old log without mapping", "deepseek-v4.1-flash", "", "deepseek-v4.1-flash", true}, + {"blank mapping", "deepseek-v4.1-flash", " ", "deepseek-v4.1-flash", true}, + {"mapping without requested model", "", "deepseek-v4.1-flash", "deepseek-v4.1-flash", true}, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + ctx := context.Background() + store, err := OpenStore(filepath.Join(t.TempDir(), "qoder.db")) + if err != nil { + t.Fatal(err) + } + defer store.Close() + at := time.Date(2026, 10, 12, 20, 15, 0, 0, time.UTC) + prompt, output := 1_000_000, 1_000_000 + credits := 2.5 + if err := store.InsertRequestLog(ctx, accounts.RequestLog{ + ID: "mapped-usage", CreatedAt: at, Status: accounts.RequestStatusOK, + RequestedModel: tc.requested, MappedModel: tc.mapped, + PromptTokens: &prompt, CompletionTokens: &output, Credits: &credits, + }); err != nil { + t.Fatal(err) + } + from, to := at.Add(-time.Hour), at.Add(time.Hour) + rows, err := store.SummarizeModelCosts(ctx, from, to) + if err != nil { + t.Fatal(err) + } + got := accounts.BuildCostBreakdown(rows, from, to, false) + if len(got.Models) != 1 { + t.Fatalf("models = %+v, want one served model", got.Models) + } + model := got.Models[0] + if model.ID != tc.want || model.Priced != tc.priced { + t.Fatalf("model = %q priced=%v, want %q priced=%v", model.ID, model.Priced, tc.want, tc.priced) + } + wantCost := 0.0 + if tc.priced { + wantCost = 5.0 + } + if math.Abs(model.Cost-wantCost) > 1e-9 || model.TotalTokens != 2_000_000 || model.Requests != 1 || model.Credits != credits { + t.Fatalf("wrong served-model usage: %+v", model) + } + }) + } +} diff --git a/internal/webui/static/assets/CartesianChart-L2THuTTV.js b/internal/webui/static/assets/CartesianChart-L2THuTTV.js new file mode 100644 index 00000000..54df9482 --- /dev/null +++ b/internal/webui/static/assets/CartesianChart-L2THuTTV.js @@ -0,0 +1,53 @@ +import{a as e,c as t,d as n,f as r,l as i,s as a,u as o}from"./index-Csxv7Rej.js";var s=r(i()),c=r(t()),l=`dangerouslySetInnerHTML.onCopy.onCopyCapture.onCut.onCutCapture.onPaste.onPasteCapture.onCompositionEnd.onCompositionEndCapture.onCompositionStart.onCompositionStartCapture.onCompositionUpdate.onCompositionUpdateCapture.onFocus.onFocusCapture.onBlur.onBlurCapture.onChange.onChangeCapture.onBeforeInput.onBeforeInputCapture.onInput.onInputCapture.onReset.onResetCapture.onSubmit.onSubmitCapture.onInvalid.onInvalidCapture.onLoad.onLoadCapture.onError.onErrorCapture.onKeyDown.onKeyDownCapture.onKeyPress.onKeyPressCapture.onKeyUp.onKeyUpCapture.onAbort.onAbortCapture.onCanPlay.onCanPlayCapture.onCanPlayThrough.onCanPlayThroughCapture.onDurationChange.onDurationChangeCapture.onEmptied.onEmptiedCapture.onEncrypted.onEncryptedCapture.onEnded.onEndedCapture.onLoadedData.onLoadedDataCapture.onLoadedMetadata.onLoadedMetadataCapture.onLoadStart.onLoadStartCapture.onPause.onPauseCapture.onPlay.onPlayCapture.onPlaying.onPlayingCapture.onProgress.onProgressCapture.onRateChange.onRateChangeCapture.onSeeked.onSeekedCapture.onSeeking.onSeekingCapture.onStalled.onStalledCapture.onSuspend.onSuspendCapture.onTimeUpdate.onTimeUpdateCapture.onVolumeChange.onVolumeChangeCapture.onWaiting.onWaitingCapture.onAuxClick.onAuxClickCapture.onClick.onClickCapture.onContextMenu.onContextMenuCapture.onDoubleClick.onDoubleClickCapture.onDrag.onDragCapture.onDragEnd.onDragEndCapture.onDragEnter.onDragEnterCapture.onDragExit.onDragExitCapture.onDragLeave.onDragLeaveCapture.onDragOver.onDragOverCapture.onDragStart.onDragStartCapture.onDrop.onDropCapture.onMouseDown.onMouseDownCapture.onMouseEnter.onMouseLeave.onMouseMove.onMouseMoveCapture.onMouseOut.onMouseOutCapture.onMouseOver.onMouseOverCapture.onMouseUp.onMouseUpCapture.onSelect.onSelectCapture.onTouchCancel.onTouchCancelCapture.onTouchEnd.onTouchEndCapture.onTouchMove.onTouchMoveCapture.onTouchStart.onTouchStartCapture.onPointerDown.onPointerDownCapture.onPointerMove.onPointerMoveCapture.onPointerUp.onPointerUpCapture.onPointerCancel.onPointerCancelCapture.onPointerEnter.onPointerEnterCapture.onPointerLeave.onPointerLeaveCapture.onPointerOver.onPointerOverCapture.onPointerOut.onPointerOutCapture.onGotPointerCapture.onGotPointerCaptureCapture.onLostPointerCapture.onLostPointerCaptureCapture.onScroll.onScrollCapture.onWheel.onWheelCapture.onAnimationStart.onAnimationStartCapture.onAnimationEnd.onAnimationEndCapture.onAnimationIteration.onAnimationIterationCapture.onTransitionEnd.onTransitionEndCapture`.split(`.`);function u(e){return typeof e==`string`&&l.includes(e)}var d=new Set(`aria-activedescendant.aria-atomic.aria-autocomplete.aria-busy.aria-checked.aria-colcount.aria-colindex.aria-colspan.aria-controls.aria-current.aria-describedby.aria-details.aria-disabled.aria-errormessage.aria-expanded.aria-flowto.aria-haspopup.aria-hidden.aria-invalid.aria-keyshortcuts.aria-label.aria-labelledby.aria-level.aria-live.aria-modal.aria-multiline.aria-multiselectable.aria-orientation.aria-owns.aria-placeholder.aria-posinset.aria-pressed.aria-readonly.aria-relevant.aria-required.aria-roledescription.aria-rowcount.aria-rowindex.aria-rowspan.aria-selected.aria-setsize.aria-sort.aria-valuemax.aria-valuemin.aria-valuenow.aria-valuetext.className.color.height.id.lang.max.media.method.min.name.style.target.width.role.tabIndex.accentHeight.accumulate.additive.alignmentBaseline.allowReorder.alphabetic.amplitude.arabicForm.ascent.attributeName.attributeType.autoReverse.azimuth.baseFrequency.baselineShift.baseProfile.bbox.begin.bias.by.calcMode.capHeight.clip.clipPath.clipPathUnits.clipRule.colorInterpolation.colorInterpolationFilters.colorProfile.colorRendering.contentScriptType.contentStyleType.cursor.cx.cy.d.decelerate.descent.diffuseConstant.direction.display.divisor.dominantBaseline.dur.dx.dy.edgeMode.elevation.enableBackground.end.exponent.externalResourcesRequired.fill.fillOpacity.fillRule.filter.filterRes.filterUnits.floodColor.floodOpacity.focusable.fontFamily.fontSize.fontSizeAdjust.fontStretch.fontStyle.fontVariant.fontWeight.format.from.fx.fy.g1.g2.glyphName.glyphOrientationHorizontal.glyphOrientationVertical.glyphRef.gradientTransform.gradientUnits.hanging.horizAdvX.horizOriginX.href.ideographic.imageRendering.in2.in.intercept.k1.k2.k3.k4.k.kernelMatrix.kernelUnitLength.kerning.keyPoints.keySplines.keyTimes.lengthAdjust.letterSpacing.lightingColor.limitingConeAngle.local.markerEnd.markerHeight.markerMid.markerStart.markerUnits.markerWidth.mask.maskContentUnits.maskUnits.mathematical.mode.numOctaves.offset.opacity.operator.order.orient.orientation.origin.overflow.overlinePosition.overlineThickness.paintOrder.panose1.pathLength.patternContentUnits.patternTransform.patternUnits.pointerEvents.pointsAtX.pointsAtY.pointsAtZ.preserveAlpha.preserveAspectRatio.primitiveUnits.r.radius.refX.refY.renderingIntent.repeatCount.repeatDur.requiredExtensions.requiredFeatures.restart.result.rotate.rx.ry.seed.shapeRendering.slope.spacing.specularConstant.specularExponent.speed.spreadMethod.startOffset.stdDeviation.stemh.stemv.stitchTiles.stopColor.stopOpacity.strikethroughPosition.strikethroughThickness.string.stroke.strokeDasharray.strokeDashoffset.strokeLinecap.strokeLinejoin.strokeMiterlimit.strokeOpacity.strokeWidth.surfaceScale.systemLanguage.tableValues.targetX.targetY.textAnchor.textDecoration.textLength.textRendering.to.transform.u1.u2.underlinePosition.underlineThickness.unicode.unicodeBidi.unicodeRange.unitsPerEm.vAlphabetic.values.vectorEffect.version.vertAdvY.vertOriginX.vertOriginY.vHanging.vIdeographic.viewTarget.visibility.vMathematical.widths.wordSpacing.writingMode.x1.x2.x.xChannelSelector.xHeight.xlinkActuate.xlinkArcrole.xlinkHref.xlinkRole.xlinkShow.xlinkTitle.xlinkType.xmlBase.xmlLang.xmlns.xmlnsXlink.xmlSpace.y1.y2.y.yChannelSelector.z.zoomAndPan.ref.key.angle`.split(`.`));function f(e){return typeof e==`string`&&d.has(e)}function p(e){return typeof e==`string`&&e.startsWith(`data-`)}function m(e){if(typeof e!=`object`||!e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(f(n)||p(n))&&(t[n]=e[n]);return t}function h(e){if(e==null)return null;if((0,s.isValidElement)(e)&&typeof e.props==`object`&&e.props!==null){var t=e.props;return m(t)}return typeof e==`object`&&!Array.isArray(e)?m(e):null}function g(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(f(n)||p(n)||u(n))&&(t[n]=e[n]);return t}function _(e){return e==null?null:(0,s.isValidElement)(e)?g(e.props):typeof e==`object`&&!Array.isArray(e)?g(e):null}var v=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.width,i=e.height,o=e.viewBox,c=e.className,l=e.style,u=e.title,d=e.desc,f=b(e,v),p=o||{width:r,height:i,x:0,y:0},m=a(`recharts-surface`,c);return s.createElement(`svg`,y({},g(f),{className:m,width:r,height:i,style:l,viewBox:`${p.x} ${p.y} ${p.width} ${p.height}`,ref:t}),s.createElement(`title`,null,u),s.createElement(`desc`,null,d),n)}),C=[`children`,`className`];function w(){return w=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.className,i=T(e,C),o=a(`recharts-layer`,r);return s.createElement(`g`,w({className:o},g(i),{ref:t}),n)});function O(e){return e===`__proto__`}var k=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function A(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:k.test(e);default:return!1}}function j(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function M(e){return typeof e==`symbol`||e instanceof Symbol}function N(e){return e==null?``:ee(e)}function ee(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(ee).join(`,`);if(M(e))return e.toString();let t=e+``;return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function te(e){if(Array.isArray(e))return e.map(j);if(typeof e==`symbol`)return[e];e=N(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r1&&arguments[1]!==void 0?arguments[1]:ie),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function P(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+ae(i)+n},``)}var oe=e=>e===0?0:e>0?1:-1,F=e=>typeof e==`number`&&e!=+e,se=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,I=e=>(typeof e==`number`||e instanceof Number)&&!F(e),ce=e=>I(e)||typeof e==`string`,le=0,ue=e=>{var t=++le;return`${e||``}${t}`},de=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(!I(e)&&typeof e!=`string`)return n;var i;if(se(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return F(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},fe=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;re&&(typeof t==`function`?t(e):ne(e,t))===n)}var he=e=>e==null,ge=e=>he(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function _e(e){return e!=null}function ve(){}function ye(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t{var t=e.viewBox,n=e.position,r=e.offset,i=r===void 0?0:r,a=e.parentViewBox,o=e.clamp,s=ye(t),c=s.x,l=s.y,u=s.height,d=s.upperWidth,f=s.lowerWidth,p=c,m=c+(d-f)/2,h=(p+m)/2,g=(d+f)/2,_=p+d/2,v=u>=0?1:-1,y=v*i,b=v>0?`end`:`start`,x=v>0?`start`:`end`,S=d>=0?1:-1,C=S*i,w=S>0?`end`:`start`,T=S>0?`start`:`end`,E=a;if(n===`top`){var D={x:p+d/2,y:l-y,horizontalAnchor:`middle`,verticalAnchor:b};return o&&E&&(D.height=Math.max(l-E.y,0),D.width=d),D}if(n===`bottom`){var O={x:m+f/2,y:l+u+y,horizontalAnchor:`middle`,verticalAnchor:x};return o&&E&&(O.height=Math.max(E.y+E.height-(l+u),0),O.width=f),O}if(n===`left`){var k={x:h-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`};return o&&E&&(k.width=Math.max(k.x-E.x,0),k.height=u),k}if(n===`right`){var A={x:h+g+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`};return o&&E&&(A.width=Math.max(E.x+E.width-A.x,0),A.height=u),A}var j=o&&E?{width:g,height:u}:{};return n===`insideLeft`?xe({x:h+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`},j):n===`insideRight`?xe({x:h+g-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`},j):n===`insideTop`?xe({x:p+d/2,y:l+y,horizontalAnchor:`middle`,verticalAnchor:x},j):n===`insideBottom`?xe({x:m+f/2,y:l+u-y,horizontalAnchor:`middle`,verticalAnchor:b},j):n===`insideTopLeft`?xe({x:p+C,y:l+y,horizontalAnchor:T,verticalAnchor:x},j):n===`insideTopRight`?xe({x:p+d-C,y:l+y,horizontalAnchor:w,verticalAnchor:x},j):n===`insideBottomLeft`?xe({x:m+C,y:l+u-y,horizontalAnchor:T,verticalAnchor:b},j):n===`insideBottomRight`?xe({x:m+f-C,y:l+u-y,horizontalAnchor:w,verticalAnchor:b},j):n&&typeof n==`object`&&(I(n.x)||se(n.x))&&(I(n.y)||se(n.y))?xe({x:c+de(n.x,g),y:l+de(n.y,u),horizontalAnchor:`end`,verticalAnchor:`end`},j):xe({x:_,y:l+u/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},j)},Ee=[`top`,`left`,`right`,`bottom`];function De(e){return e==null?!1:typeof e==`object`||Ee.includes(e)}var Oe=(0,s.createContext)(null);function L(e){return function(){return e}}var ke=Math.PI,Ae=2*ke,je=1e-6,Me=Ae-je;function Ne(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw Error(`invalid digits: ${e}`);if(t>15)return Ne;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;tje){if(!(Math.abs(u*s-c*l)>je)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((ke-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>je&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>je||Math.abs(this._y1-l)>je)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Ae+Ae),d>Me?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>je&&this._append`A${n},${n},0,${+(d>=ke)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Fe.prototype;function Ie(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Fe(t)}Array.prototype.slice;function Le(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Re(e){this._context=e}Re.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function ze(e){return new Re(e)}function Be(e){return e[0]}function Ve(e){return e[1]}function He(e,t){var n=L(!0),r=null,i=ze,a=null,o=Ie(s);e=typeof e==`function`?e:e===void 0?Be:L(e),t=typeof t==`function`?t:t===void 0?Ve:L(t);function s(s){var c,l=(s=Le(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return He().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:L(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:L(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:L(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:L(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:L(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:L(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:L(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var We=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}};function Ge(e){return new We(e,!0)}function Ke(e){return new We(e,!1)}function qe(){}function Je(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Ye(e){this._context=e}Ye.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Je(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Je(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Xe(e){return new Ye(e)}function Ze(e){this._context=e}Ze.prototype={areaStart:qe,areaEnd:qe,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Je(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Qe(e){return new Ze(e)}function $e(e){this._context=e}$e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Je(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function et(e){return new $e(e)}function tt(e){this._context=e}tt.prototype={areaStart:qe,areaEnd:qe,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function nt(e){return new tt(e)}function rt(e){return e<0?-1:1}function it(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(rt(a)+rt(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function at(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function ot(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function st(e){this._context=e}st.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ot(this,this._t0,at(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,ot(this,at(this,n=it(this,e,t)),n);break;default:ot(this,this._t0,n=it(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function ct(e){this._context=new lt(e)}(ct.prototype=Object.create(st.prototype)).point=function(e,t){st.prototype.point.call(this,t,e)};function lt(e){this._context=e}lt.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function ut(e){return new st(e)}function dt(e){return new ct(e)}function ft(e){this._context=e}ft.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n){if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=pt(e),i=pt(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function gt(e){return new ht(e,.5)}function _t(e){return new ht(e,0)}function vt(e){return new ht(e,1)}function yt(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n=0;)n[t]=t;return n}function xt(e,t){return e[t]}function St(e){let t=[];return t.key=e,t}function Ct(){var e=L([]),t=bt,n=yt,r=xt;function i(i){var a=Array.from(e.apply(this,arguments),St),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o0){for(var n,r,i=0,a=e[0].length,o;i0){for(var n=0,r=e[t[0]],i,a=r.length;n0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r`radius`in e&&`startAngle`in e&&`endAngle`in e,Ot=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,s.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{u(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},kt=(e,t,n)=>r=>(e(t,n,r),null),At=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];u(i)&&typeof a==`function`&&(r||={},r[i]=kt(a,t,n))}),r};function jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Mt(e){for(var t=1;t(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function Lt(e,t){let n=new Map;for(let r=0;r=0}function Vt(e){return e!=null&&typeof e!=`function`&&Bt(e.length)}function Ht(e){return function(t){return ne(t,e)}}function Ut(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function Wt(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Gt(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function Kt(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var qt=`[object RegExp]`,Jt=`[object String]`,Yt=`[object Number]`,Xt=`[object Boolean]`,Zt=`[object Arguments]`,Qt=`[object Symbol]`,$t=`[object Date]`,en=`[object Map]`,tn=`[object Set]`,nn=`[object Array]`,rn=`[object Function]`,an=`[object ArrayBuffer]`,on=`[object Object]`,sn=`[object Error]`,cn=`[object DataView]`,ln=`[object Uint8Array]`,un=`[object Uint8ClampedArray]`,dn=`[object Uint16Array]`,fn=`[object Uint32Array]`,pn=`[object BigUint64Array]`,mn=`[object Int8Array]`,hn=`[object Int16Array]`,gn=`[object Int32Array]`,_n=`[object BigInt64Array]`,vn=`[object Float32Array]`,yn=`[object Float64Array]`,bn=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})();function xn(e){return bn.Buffer!==void 0&&bn.Buffer.isBuffer(e)}function Sn(e,t){return Cn(e,void 0,e,new Map,t)}function Cn(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(Ut(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;avoid 0)}function An(e,t,n,r,i=!1){if(t===e)return!0;switch(typeof t){case`object`:return jn(e,t,n,r,i);case`function`:return Object.keys(t).length>0?An(e,{...t},n,r,i):Dn(e,t);default:return On(e)&&i?typeof t!=`string`||t===``:Dn(e,t)}}function jn(e,t,n,r,i=!1){if(t==null)return!0;if(Array.isArray(t))return Nn(e,t,n,r);if(t instanceof Map)return Mn(e,t,n,r);if(t instanceof Set)return Pn(e,t,n,r);let a=Object.keys(t);if(e==null)return i&&a.length===0;if(i)Ut(e)&&(e=Object(e));else{let t=Kt(e);if(t!==`[object Object]`&&t!==`[object Arguments]`)return!1}if(a.length===0)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let i=0;ivoid 0)}function In(e){return e=En(e),t=>Fn(t,e)}function Ln(e,t){return Sn(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(Kt(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),wn(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case Yt:case Jt:case Xt:{let t=new e.constructor(e?.valueOf());return wn(t,e),t}case Zt:{let t={};return wn(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function Rn(e){return Ln(e)}var zn=/^(?:0|[1-9]\d*)$/;function Bn(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e{var n=i(),r=e();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=r.useSyncExternalStore,c=n.useRef,l=n.useEffect,u=n.useMemo,d=n.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),Yn=o(((e,t)=>{t.exports=Jn()}))(),Xn=(0,s.createContext)(null),Zn=e=>e,R=()=>{var e=(0,s.useContext)(Xn);return e?e.store.dispatch:Zn},Qn=()=>{},$n=()=>Qn,er=(e,t)=>e===t;function z(e){var t=(0,s.useContext)(Xn),n=(0,s.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:Qn,[t,e]);return(0,Yn.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:$n,t?t.store.getState:Qn,t?t.store.getState:Qn,n,er)}function tr(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function nr(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var rr=e=>Array.isArray(e)?e:[e];function ir(e){let t=Array.isArray(e[0])?e[0]:e;return nr(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function ar(e,t){let n=[],{length:r}=e;for(let i=0;i`u`?or:WeakRef,cr=0,lr=1;function ur(){return{s:cr,v:void 0,o:null,p:null}}function dr(e){return e instanceof sr?e.deref():e}function fr(e,t={}){let n=ur(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e{n=ur(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function pr(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),tr(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=fr,argsMemoizeOptions:u=[]}={...n,...a},d=rr(c),f=rr(u),p=ir(e),m=s(function(){return t++,o.apply(null,arguments)},...d),h=l(function(){r++;let e=ar(p,arguments);return i=m.apply(null,e),i},...f);return Object.assign(h,{resultFunc:o,memoizedResultFunc:m,dependencies:p,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var B=pr(fr);function mr(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a{if(e!==t){let r=gr(e),i=gr(t);if(r===i&&r===0){if(et)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0},vr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yr=/^\w*$/;function br(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||M(e)?!0:typeof e==`string`&&(yr.test(e)||!vr.test(e))||t!=null&&Object.hasOwn(t,e)}function xr(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=Vt(e)?Array.from(e):Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||br(e)?e:{key:e,path:te(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;re.original)}function Sr(e,...t){let n=t.length;return n>1&&hr(e,t[0],t[1])?t=[]:n>2&&hr(t[0],t[1],t[2])&&(t=[t[0]]),xr(e,mr(t),[`asc`])}var Cr=e=>e.legend.settings,wr=e=>e.legend.size;B([e=>e.legend.payload,Cr],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?Sr(r,n):r});function Tr(e,t){return Ar(e)||kr(e,t)||Dr(e,t)||Er()}function Er(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dr(e,t){if(e){if(typeof e==`string`)return Or(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Or(e,t):void 0}}function Or(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);njr||Math.abs(e.left-t.left)>jr||Math.abs(e.top-t.top)>jr||Math.abs(e.width-t.width)>jr}function Nr(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Pr(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=Tr((0,s.useState)({height:0,left:0,top:0,width:0}),2),n=t[0],r=t[1],i=(0,s.useRef)(null),a=(0,s.useRef)(n);a.current=n;var o=(0,s.useCallback)(e=>{if(i.current!=null&&(i.current.disconnect(),i.current=null),e!=null){var t=Nr(e);if(Mr(t,a.current)&&r(t),typeof ResizeObserver<`u`){var n=new ResizeObserver(()=>{var t=Nr(e);Mr(t,a.current)&&r(t)});n.observe(e),i.current=n}}},[...e]);return(0,s.useEffect)(()=>()=>{var e;(e=i.current)==null||e.disconnect()},[]),[n,o]}function Fr(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Ir=typeof Symbol==`function`&&Symbol.observable||`@@observable`,Lr=()=>Math.random().toString(36).substring(7).split(``).join(`.`),Rr={INIT:`@@redux/INIT${Lr()}`,REPLACE:`@@redux/REPLACE${Lr()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Lr()}`};function zr(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Br(e,t,n){if(typeof e!=`function`)throw Error(Fr(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(Fr(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(Fr(1));return n(Br)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(Fr(3));return i}function d(e){if(typeof e!=`function`)throw Error(Fr(4));if(c)throw Error(Fr(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(Fr(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!zr(e))throw Error(Fr(7));if(e.type===void 0)throw Error(Fr(8));if(typeof e.type!=`string`)throw Error(Fr(17));if(c)throw Error(Fr(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(Fr(10));r=e,f({type:Rr.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(Fr(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[Ir](){return this}}}return f({type:Rr.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[Ir]:m}}function Vr(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:Rr.INIT})===void 0)throw Error(Fr(12));if(n(void 0,{type:Rr.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(Fr(13))})}function Hr(e){let t=Object.keys(e),n={};for(let r=0;re:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function Wr(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(Fr(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=Ur(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function Gr(e){return zr(e)&&`type`in e&&typeof e.type==`string`}var Kr=Symbol.for(`immer-nothing`),qr=Symbol.for(`immer-draftable`),Jr=Symbol.for(`immer-state`);function Yr(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Xr=Object,Zr=Xr.getPrototypeOf,Qr=`constructor`,$r=`prototype`,ei=`configurable`,ti=`enumerable`,ni=`writable`,ri=`value`,ii=e=>!!e&&!!e[Jr];function ai(e){return e?ci(e)||hi(e)||!!e[qr]||!!e[Qr]?.[qr]||gi(e)||_i(e):!1}var oi=Xr[$r][Qr].toString(),si=new WeakMap;function ci(e){if(!e||!vi(e))return!1;let t=Zr(e);if(t===null||t===Xr[$r])return!0;let n=Xr.hasOwnProperty.call(t,Qr)&&t[Qr];if(n===Object)return!0;if(!yi(n))return!1;let r=si.get(n);return r===void 0&&(r=Function.toString.call(n),si.set(n,r)),r===oi}function li(e,t,n=!0){ui(e)===0?(n?Reflect.ownKeys(e):Xr.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function ui(e){let t=e[Jr];return t?t.type_:hi(e)?1:gi(e)?2:_i(e)?3:0}var di=(e,t,n=ui(e))=>n===2?e.has(t):Xr[$r].hasOwnProperty.call(e,t),fi=(e,t,n=ui(e))=>n===2?e.get(t):e[t],pi=(e,t,n,r=ui(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function mi(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var hi=Array.isArray,gi=e=>e instanceof Map,_i=e=>e instanceof Set,vi=e=>typeof e==`object`,yi=e=>typeof e==`function`,bi=e=>typeof e==`boolean`;function xi(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Si=e=>e.copy_||e.base_,Ci=e=>e.modified_?e.copy_:e.base_;function wi(e,t){if(gi(e))return new Map(e);if(_i(e))return new Set(e);if(hi(e))return Array[$r].slice.call(e);let n=ci(e);if(t===!0||t===`class_only`&&!n){let t=Xr.getOwnPropertyDescriptors(e);delete t[Jr];let n=Reflect.ownKeys(t);for(let r=0;r1&&Xr.defineProperties(e,{set:Di,add:Di,clear:Di,delete:Di}),Xr.freeze(e),t&&li(e,(e,t)=>{Ti(t,!0)},!1),e)}function Ei(){Yr(2)}var Di={[ri]:Ei};function Oi(e){return e===null||!vi(e)||Xr.isFrozen(e)}var ki=`MapSet`,Ai=`Patches`,ji=`ArrayMethods`,Mi={};function Ni(e){let t=Mi[e];return t||Yr(0,e),t}var Pi=e=>!!Mi[e],Fi,Ii=()=>Fi,Li=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Pi(ki)?Ni(ki):void 0,arrayMethodsPlugin_:Pi(ji)?Ni(ji):void 0});function Ri(e,t){t&&(e.patchPlugin_=Ni(Ai),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function zi(e){Bi(e),e.drafts_.forEach(Hi),e.drafts_=null}function Bi(e){e===Fi&&(Fi=e.parent_)}var Vi=e=>Fi=Li(Fi,e);function Hi(e){let t=e[Jr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Ui(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[Jr].modified_&&(zi(t),Yr(4)),ai(e)&&(e=Wi(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Jr].base_,e,t)}else e=Wi(t,n);return Gi(t,e,!0),zi(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===Kr?void 0:e}function Wi(e,t){if(Oi(t))return t;let n=t[Jr];if(!n)return $i(t,e.handledSet_,e);if(!qi(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);Zi(n,e)}return n.copy_}function Gi(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ti(t,n)}function Ki(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var qi=(e,t)=>e.scope_===t,Ji=[];function Yi(e,t,n,r){let i=Si(e),a=e.type_;if(r!==void 0&&fi(i,r,a)===t){pi(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;li(i,(e,n)=>{if(ii(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Ji;for(let e of o)pi(i,e,n,a)}function Xi(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!qi(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Ci(i);Yi(e,i.draft_??i,a,n),Zi(i,r)})}function Zi(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Ki(e)}}function Qi(e,t,n){let{scope_:r}=e;if(ii(n)){let i=n[Jr];qi(i,r)&&i.callbacks_.push(function(){ca(e),Yi(e,n,Ci(i),t)})}else ai(n)&&e.callbacks_.push(function(){let i=Si(e);e.type_===3?i.has(n)&&$i(n,r.handledSet_,r):fi(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&$i(fi(e.copy_,t,e.type_),r.handledSet_,r)})}function $i(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||ii(e)||t.has(e)||!ai(e)||Oi(e)?e:(t.add(e),li(e,(r,i)=>{if(ii(i)){let t=i[Jr];qi(t,n)&&(pi(e,r,Ci(t),e.type_),Ki(t))}else ai(i)&&$i(i,t,n)}),e)}function ea(e,t){let n=hi(e),r={type_:+!!n,scope_:t?t.scope_:Ii(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=ta;n&&(i=[r],a=na);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var ta={get(e,t){if(t===Jr)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Si(e);if(!di(i,t,e.type_))return aa(e,i,t);let a=i[t];if(e.finalized_||!ai(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&xi(t))return a;if(a===ra(e.base_,t)||ia(e,t,a)){ca(e);let n=e.type_===1?+t:t,r=ua(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Si(e)},ownKeys(e){return Reflect.ownKeys(Si(e))},set(e,t,n){let r=oa(Si(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=ra(Si(e),t),i=r?.[Jr];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(mi(n,r)&&(n!==void 0||di(e.base_,t,e.type_)))return!0;ca(e),sa(e)}return e.copy_[t]===n&&(n!==void 0||di(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),Qi(e,t,n),!0)},deleteProperty(e,t){return ca(e),ra(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),sa(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Si(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[ni]:!0,[ei]:e.type_!==1||t!==`length`,[ti]:r[ti],[ri]:n[t]}},defineProperty(){Yr(11)},getPrototypeOf(e){return Zr(e.base_)},setPrototypeOf(){Yr(12)}},na={};for(let e in ta){let t=ta[e];na[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}na.deleteProperty=function(e,t){return na.set.call(this,e,t,void 0)},na.set=function(e,t,n){return ta.set.call(this,e[0],t,n,e[0])};function ra(e,t){let n=e[Jr];return(n?Si(n):e)[t]}function ia(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!ai(n)||n[Jr]?!1:e.baseRefs_.has(n)}function aa(e,t,n){let r=oa(t,n);return r?ri in r?r[ri]:r.get?.call(e.draft_):void 0}function oa(e,t){if(!(t in e))return;let n=Zr(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Zr(n)}}function sa(e){e.modified_||(e.modified_=!0,e.parent_&&sa(e.parent_))}function ca(e){e.copy_||=(e.assigned_=new Map,wi(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var la=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(yi(e)&&!yi(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}yi(t)||Yr(6),n!==void 0&&!yi(n)&&Yr(7);let r;if(ai(e)){let i=Vi(this),a=ua(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?zi(i):Bi(i)}return Ri(i,n),Ui(r,i)}if(!e||!vi(e)){if(r=t(e),r===void 0&&(r=e),r===Kr&&(r=void 0),this.autoFreeze_&&Ti(r,!0),n){let t=[],i=[];Ni(Ai).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}Yr(1,e)},this.produceWithPatches=(e,t)=>{if(yi(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},bi(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),bi(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),bi(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){ai(e)||Yr(8),ii(e)&&(e=da(e));let t=Vi(this),n=ua(t,e,void 0);return n[Jr].isManual_=!0,Bi(t),n}finishDraft(e,t){let n=e&&e[Jr];(!n||!n.isManual_)&&Yr(9);let{scope_:r}=n;return Ri(r,t),Ui(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Ni(Ai).applyPatches_;return ii(e)?r(e,t):this.produce(e,e=>r(e,t))}};function ua(e,t,n,r){let[i,a]=gi(t)?Ni(ki).proxyMap_(t,n):_i(t)?Ni(ki).proxySet_(t,n):ea(t,n);return(n?.scope_??Ii()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?Xi(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function da(e){return ii(e)||Yr(10,e),fa(e)}function fa(e){if(!ai(e)||Oi(e))return e;let t=e[Jr],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=wi(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=wi(e,!0);return li(n,(e,t)=>{pi(n,e,fa(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator?.from;var pa=new la().produce,V=e=>e;function ma(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var ha=ma(),ga=ma,_a=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?Ur:Ur.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function va(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(Do(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>Gr(t)&&t.type===e,n}var ya=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function ba(e){return ai(e)?pa(e,()=>{}):e}function xa(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function Sa(e){return typeof e==`boolean`}var Ca=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new ya;return t&&(Sa(t)?a.push(ha):a.push(ga(t.extraArgument))),a},wa=`RTK_autoBatch`,H=()=>e=>({payload:e,meta:{[wa]:!0}}),Ta=e=>t=>{setTimeout(t,e)},Ea=(e,t)=>n=>{let r=!1,i=()=>{r||(r=!0,cancelAnimationFrame(a),clearTimeout(o),n())},a=e(i),o=setTimeout(i,t)},Da=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?Ea(window.requestAnimationFrame,100):Ta(10):e.type===`callback`?e.queueNotification:Ta(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[wa],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},Oa=e=>function(t){let{autoBatch:n=!0}=t??{},r=new ya(e);return n&&r.push(Da(typeof n==`object`?n:void 0)),r};function ka(e){let t=Ca(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(zr(n))c=Hr(n);else throw Error(Do(1));let l;l=typeof r==`function`?r(t):t();let u=Ur;i&&(u=_a({trace:!1,...typeof i==`object`&&i}));let d=Oa(Wr(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return Br(c,o,p)}function Aa(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(Do(28));if(r in t)throw Error(Do(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function ja(e){return typeof e==`function`}function Ma(e,t){let[n,r,i]=Aa(t),a;if(ja(e))a=()=>ba(e());else{let t=ba(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n){if(ii(e)){let r=n(e,t);return r===void 0?e:r}if(ai(e))return pa(e,e=>n(e,t));{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}}return e},e)}return o.getInitialState=a,o}var Na=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,Pa=(e=21)=>{let t=``,n=e;for(;n--;)t+=Na[Math.random()*64|0];return t},Fa=Symbol.for(`rtk-slice-createasyncthunk`);function Ia(e,t){return`${e}/${t}`}function La({creators:e}={}){let t=e?.asyncThunk?.[Fa];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error(Do(11));let i=(typeof e.reducers==`function`?e.reducers(Ba()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error(Do(12));if(n in o.sliceCaseReducersByType)throw Error(Do(13));return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:Ia(n,r),createNotation:typeof e.reducers==`function`};Ha(a)?Wa(o,a,s,t):Va(o,a,s)});function c(){let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?Aa(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return Ma(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];return i===void 0&&n&&(i=xa(d,r,m)),i}function i(t=l){return xa(xa(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=Ra(a,t,()=>xa(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function Ra(e,t,n,r){function i(i,...a){let o=t(i);return o===void 0&&r&&(o=n()),e(o,...a)}return i.unwrapped=e,i}var za=La();function Ba(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function Va({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!Ua(r))throw Error(Do(17));a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?va(e,o):va(e))}function Ha(e){return e._reducerDefinitionType===`asyncThunk`}function Ua(e){return e._reducerDefinitionType===`reducerWithPrepare`}function Wa({type:e,reducerName:t},n,r,i){if(!i)throw Error(Do(18));let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||Ga,pending:s||Ga,rejected:c||Ga,settled:l||Ga})}function Ga(){}var Ka=`task`,qa=`listener`,Ja=`completed`,Ya=`cancelled`,Xa=`task-${Ya}`,Za=`task-${Ja}`,Qa=`${qa}-${Ya}`,$a=`${qa}-${Ja}`,eo=class{constructor(e){this.code=e,this.message=`${Ka} ${Ya} (reason: ${e})`}code;name=`TaskAbortError`;message},to=(e,t)=>{if(typeof e!=`function`)throw TypeError(Do(32))},no=()=>{},ro=(e,t=no)=>(e.catch(t),e),io=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),ao=e=>{if(e.aborted)throw new eo(e.reason)};function oo(e,t){let n=no;return new Promise((r,i)=>{let a=()=>i(new eo(e.reason));if(e.aborted){a();return}n=io(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=no})}var so=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof eo?`cancelled`:`rejected`,error:e}}finally{t?.()}},co=e=>t=>ro(oo(e,t).then(t=>(ao(e),t))),lo=e=>{let t=co(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:uo}=Object,fo={},po=`listenerMiddleware`,mo=(e,t)=>{let n=t=>io(e,()=>t.abort(e.reason));return(r,i)=>{to(r,`taskExecutor`);let a=new AbortController;n(a);let o=so(async()=>{ao(e),ao(a.signal);let t=await r({pause:co(a.signal),delay:lo(a.signal),signal:a.signal});return ao(a.signal),t},()=>a.abort(Za));return i?.autoJoin&&t.push(o.catch(no)),{result:co(e)(o),cancel(){a.abort(Xa)}}}},ho=(e,t)=>{let n=async(n,r)=>{ao(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await oo(t,Promise.race(a));return ao(t),e}finally{i()}};return((e,t)=>ro(n(e,t)))},go=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=va(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(Do(21));return to(a,`options.listener`),{predicate:i,type:t,effect:a}},_o=uo(e=>{let{type:t,predicate:n,effect:r}=go(e);return{id:Pa(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(Do(22))}}},{withTypes:()=>_o}),vo=(e,t)=>{let{type:n,effect:r,predicate:i}=go(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},yo=e=>{e.pending.forEach(e=>{e.abort(Qa)})},bo=(e,t)=>()=>{for(let e of t.keys())yo(e);e.clear()},xo=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},So=uo(va(`${po}/add`),{withTypes:()=>So}),Co=va(`${po}/removeAll`),wo=uo(va(`${po}/remove`),{withTypes:()=>wo}),To=(...e)=>{console.error(`${po}/error`,...e)},Eo=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=To}=e;to(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&yo(e)}),c=(e=>{let n=vo(t,e)??_o(e);return s(n)});uo(c,{withTypes:()=>c});let l=e=>{let n=vo(t,e);return n&&(n.unsubscribe(),e.cancelActive&&yo(n)),!!n};uo(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=ho(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,uo({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:lo(u.signal),pause:co(u.signal),extra:a,signal:u.signal,fork:mo(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(Qa),n.delete(e))})},cancel:()=>{u.abort(Qa),e.pending.delete(u)},throwIfCancelled:()=>{ao(u.signal)}})))}catch(e){e instanceof eo||xo(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort($a),i(e),e.pending.delete(u)}},d=bo(t,n);return{middleware:e=>n=>r=>{if(!Gr(r))return n(r);if(So.match(r))return c(r.payload);if(Co.match(r)){d();return}if(wo.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===fo)throw Error(Do(23));return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,xo(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=fo}return s},startListening:c,stopListening:l,clearListeners:d}};function Do(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Oo=za({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),ko=Oo.actions,Ao=ko.setMargin,jo=ko.setLayout,Mo=ko.setChartSize,No=ko.setScale,Po=Oo.reducer;function Fo(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function U(e){return Number.isFinite(e)}function Io(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function Lo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ro(e){for(var t=1;t{if(t&&n){var r=n.width,i=n.height,a=t.align,o=t.verticalAlign,s=t.layout,c=t.position,l=t.offset,u=l===void 0?0:l;if(c!=null){if(De(c)){if(c===`top`&&I(e.top))return Ro(Ro({},e),{},{top:e.top+(i||0)+u});if(c===`bottom`&&I(e.bottom))return Ro(Ro({},e),{},{bottom:e.bottom+(i||0)+u});if(c===`left`&&I(e.left))return Ro(Ro({},e),{},{left:e.left+(r||0)+u});if(c===`right`&&I(e.right))return Ro(Ro({},e),{},{right:e.right+(r||0)+u})}return e}if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&I(e[a]))return Ro(Ro({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&I(e[o]))return Ro(Ro({},e),{},{[o]:e[o]+(i||0)})}return e},Uo=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,Wo=(e,t,n,r)=>{if(r)return e.map(e=>e.coordinate);var i,a,o=e.map(e=>(e.coordinate===t&&(i=!0),e.coordinate===n&&(a=!0),e.coordinate));return i||o.push(t),a||o.push(n),o},Go=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,s=e.realScaleType,c=e.isCategorical,l=e.categoricalDomain,u=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var m=s===`scaleBand`&&o.bandwidth?o.bandwidth()/2:2,h=(t||n)&&i===`category`&&o.bandwidth?o.bandwidth()/m:0;return h=p===`angleAxis`&&a&&a.length>=2?oe(a[0]-a[1])*2*h:h,t&&(d||f)?(d||f||[]).map((e,t)=>{var n=r?r.indexOf(e):e,i=o.map(n);return U(i)?{coordinate:i+h,value:e,offset:h,index:t}:null}).filter(_e):c&&l?l.map((e,t)=>{var n=o.map(e);return U(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(_e):o.ticks&&!n&&u!=null?o.ticks(u).map((e,t)=>{var n=o.map(e);return U(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(_e):o.domain().map((e,t)=>{var n=o.map(e);return U(n)?{coordinate:n+h,value:r?r[e]:e,index:t,offset:h}:null}).filter(_e)},Ko={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:wt,none:yt,silhouette:Tt,wiggle:Et,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},qo=(e,t,n)=>{var r=Ko[n]??yt,i=Ct().keys(t).value((e,t)=>Number(W(e,t,0))).order(bt).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=W(e[i],t[r],0);Array.isArray(a)&&a.length===2&&I(a[0])&&I(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i};function Jo(e){return e==null?void 0:String(e)}function Yo(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type===`category`){if(!t.allowDuplicatedCategory&&t.dataKey&&!he(i[t.dataKey])){var s=me(n,`value`,i[t.dataKey]);if(s)return s.coordinate+r/2}return n!=null&&n[a]?n[a].coordinate+r/2:null}var c=W(i,he(o)?t.dataKey:o),l=t.scale.map(c);return I(l)?l:null}var Xo=e=>{var t=e.flat(2).filter(I);return[Math.min(...t),Math.max(...t)]},Zo=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],Qo=(e,t,n)=>{if(e!=null&&Object.keys(e).length!==0)return Zo(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var o=a.stackedData.reduce((e,r)=>{var i=Xo(Fo(r,t,n));return!U(i[0])||!U(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},$o=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,es=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ts=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=Sr(t,e=>e.coordinate),a=[],o=0,s=1,c=i.length;su&&(d=Math.min(f,d));return d===1/0?0:d}return n?void 0:0};function ns(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,i=e.value,a=e.name;return Ro(Ro({},t),{},{dataKey:n,payload:r,value:i,name:a})}function rs(e,t){if(e!=null)return String(e);if(typeof t==`string`)return t}var is=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},as=(e,t)=>t===`centric`?e.angle:e.radius,os=e=>e.layout.width,ss=e=>e.layout.height,cs=e=>e.layout.scale,ls=e=>e.layout.margin,us=B(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),ds=B(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),fs=`data-recharts-item-index`;function ps(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ms(e){for(var t=1;te.brush.height;function ys(e){return ds(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function bs(e){return ds(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function xs(e){return us(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}function Ss(e){return us(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}var Cs=B([os,ss,ls,vs,ys,bs,xs,Ss,Cr,wr],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=ms(ms({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=Ho(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return ms(ms({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),ws=B(Cs,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Ts=B(os,ss,(e,t)=>({x:0,y:0,width:e,height:t})),Es=(0,s.createContext)(null),Ds=()=>(0,s.useContext)(Es)!=null,Os=e=>e.brush,ks=B([Os,Cs,ls],(e,t,n)=>({height:e.height,x:I(e.x)?e.x:t.left,y:I(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:I(e.width)?e.width:t.width}));function As(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function js(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:r=!1,trailing:i=!0,maxWait:a}=n,o=[,,];r&&(o[0]=`leading`),i&&(o[1]=`trailing`);let s,c=null,l=As(function(...t){s=e.apply(this,t),c=null},t,{edges:o}),u=function(...t){return a!=null&&(c===null&&(c=Date.now()),Date.now()-c>=a)?((r||i)&&(s=e.apply(this,t)),c=Date.now(),l.cancel(),l.schedule(),s):(l.apply(this,t),s)};return u.cancel=l.cancel,u.flush=()=>(l.flush(),s),u}function Ms(e,t=0,n={}){let{leading:r=!0,trailing:i=!0}=n;return js(e,t,{leading:r,maxWait:t,trailing:i})}var Ns=function(e,t){var n=[...arguments].slice(2);if(typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e)){if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}}},Ps={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},Fs=(e,t,n)=>{var r=n.width,i=r===void 0?Ps.width:r,a=n.height,o=a===void 0?Ps.height:a,s=n.aspect,c=n.maxHeight,l=se(i)?e:Number(i),u=se(o)?t:Number(o);return s&&s>0&&(l?u=l/s:u&&(l=u*s),c&&u!=null&&u>c&&(u=c)),{calculatedWidth:l,calculatedHeight:u}},Is={width:0,height:0,overflow:`visible`},Ls={width:0,overflowX:`visible`},Rs={height:0,overflowY:`visible`},zs={},Bs=e=>{var t=e.width,n=e.height,r=se(t),i=se(n);return r&&i?Is:r?Ls:i?Rs:zs};function Vs(e){var t=e.width,n=e.height,r=e.aspect,i=t,a=n;return i===void 0&&a===void 0?(i=Ps.width,a=Ps.height):i===void 0?i=r&&r>0?void 0:Ps.width:a===void 0&&(a=r&&r>0?void 0:Ps.height),{width:i,height:a}}var Hs=[`aspect`,`initialDimension`,`width`,`height`,`minWidth`,`minHeight`,`maxHeight`,`children`,`debounce`,`id`,`className`,`onResize`,`style`];function Us(){return Us=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n({width:n,height:r}),[n,r]);return ic(i)?s.createElement(rc.Provider,{value:i},t):null}var oc=()=>(0,s.useContext)(rc),sc=(0,s.forwardRef)((e,t)=>{var n=e.aspect,r=e.initialDimension,i=r===void 0?Ps.initialDimension:r,o=e.width,c=e.height,l=e.minWidth,u=l===void 0?Ps.minWidth:l,d=e.minHeight,f=e.maxHeight,p=e.children,m=e.debounce,h=m===void 0?Ps.debounce:m,g=e.id,_=e.className,v=e.onResize,y=e.style,b=y===void 0?{}:y,x=tc(e,Hs),S=(0,s.useRef)(null),C=(0,s.useRef)();C.current=v,(0,s.useImperativeHandle)(t,()=>S.current);var w=Ys((0,s.useState)({containerWidth:i.width,containerHeight:i.height}),2),T=w[0],E=w[1],D=(0,s.useCallback)((e,t)=>{E(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,s.useEffect)(()=>{if(S.current==null||typeof ResizeObserver>`u`)return ve;var e=e=>{var t,n=e[0];if(n!=null){var r=n.contentRect,i=r.width,a=r.height;D(i,a),(t=C.current)==null||t.call(C,i,a)}};h>0&&(e=Ms(e,h,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=S.current.getBoundingClientRect(),r=n.width,i=n.height;return D(r,i),t.observe(S.current),()=>{t.disconnect()}},[D,h]);var O=T.containerWidth,k=T.containerHeight;Ns(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var A=Fs(O,k,{width:o,height:c,aspect:n,maxHeight:f}),j=A.calculatedWidth,M=A.calculatedHeight;return Ns(O<0||k<0||j!=null&&j>0||M!=null&&M>0,`The width(%s) and height(%s) of chart should be greater than 0, + please check the style of container, or the props width(%s) and height(%s), + or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the + height and width.`,j,M,o,c,u,d,n),s.createElement(`div`,Us({id:g?`${g}`:void 0,className:a(`recharts-responsive-container`,_),style:Gs(Gs({},b),{},{width:o,height:c,minWidth:u,minHeight:d,maxHeight:f}),ref:S},x),s.createElement(`div`,{style:Bs({width:o,height:c})},s.createElement(ac,{width:j,height:M},p)))}),cc=(0,s.forwardRef)((e,t)=>{var n=oc();if(Io(n.width)&&Io(n.height))return e.children;var r=Vs({width:e.width,height:e.height,aspect:e.aspect}),i=r.width,a=r.height,o=Fs(void 0,void 0,{width:i,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),c=o.calculatedWidth,l=o.calculatedHeight;return I(c)&&I(l)?s.createElement(ac,{width:c,height:l},e.children):s.createElement(sc,Us({},e,{width:i,height:a,ref:t}))}),lc=()=>{var e=Ds(),t=z(ws),n=z(ks),r=z(Os)?.padding;return!e||!n||!r?t:{width:n.width-r.left-r.right,height:n.height-r.top-r.bottom,x:r.left,y:r.top}},uc={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},dc=()=>z(Cs)??uc,fc=()=>z(os),pc=()=>z(ss),G=e=>e.layout.layoutType,mc=()=>z(G),hc=()=>{var e=mc();if(e===`horizontal`||e===`vertical`)return e},gc=e=>{var t=e.layout.layoutType;if(t===`centric`||t===`radial`)return t},_c=()=>mc()!==void 0,vc=e=>{var t=R(),n=Ds(),r=e.width,i=e.height,a=oc(),o=r,c=i;return a&&(o=a.width>0?a.width:r,c=a.height>0?a.height:i),(0,s.useEffect)(()=>{!n&&Io(o)&&Io(c)&&t(Mo({width:o,height:c}))},[t,n,o,c]),null},yc=za({name:`legend`,initialState:{settings:{layout:`horizontal`,align:`center`,verticalAlign:`bottom`,itemSorter:`value`,position:void 0,offset:0},size:{width:0,height:0},payload:[]},reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(V(t.payload))},prepare:H()},replaceLegendPayload:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=da(e).payload.indexOf(V(r));a>-1&&(e.payload[a]=V(i))},prepare:H()},removeLegendPayload:{reducer(e,t){var n=da(e).payload.indexOf(V(t.payload));n>-1&&e.payload.splice(n,1)},prepare:H()}}}),bc=yc.actions;bc.setLegendSize,bc.setLegendSettings;var xc=bc.addLegendPayload,Sc=bc.replaceLegendPayload,Cc=bc.removeLegendPayload,wc=yc.reducer,Tc=o((e=>{var t=i();t.useSyncExternalStore,t.useRef,t.useEffect,t.useMemo,t.useDebugValue}));o(((e,t)=>{t.exports=Tc()}))();function Ec(e){e()}function Dc(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Ec(()=>{let t=e;for(;t;)t.callback(),t=t.next})},get(){let t=[],n=e;for(;n;)t.push(n),n=n.next;return t},subscribe(n){let r=!0,i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Oc={notify(){},get:()=>[]};function kc(e,t){let n,r=Oc,i=0,a=!1;function o(e){u();let t=r.subscribe(e),n=!1;return()=>{n||(n=!0,t(),d())}}function s(){r.notify()}function c(){m.onStateChange&&m.onStateChange()}function l(){return a}function u(){i++,n||(n=t?t.addNestedSub(c):e.subscribe(c),r=Dc())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Oc)}function f(){a||(a=!0,u())}function p(){a&&(a=!1,d())}let m={addNestedSub:o,notifyNestedSubs:s,handleChangeWrapper:c,isSubscribed:l,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>r};return m}var Ac=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,jc=typeof navigator<`u`&&navigator.product===`ReactNative`,Mc=Ac||jc?s.useLayoutEffect:s.useEffect;function Nc(e,t){return e===t?e!==0||t!==0||1/e==1/t:e!==e&&t!==t}function Pc(e,t){if(Nc(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r=0;r{let e=kc(i);return{store:i,subscription:e,getServerState:r?()=>r:void 0}},[i,r]),o=s.useMemo(()=>i.getState(),[i]);Mc(()=>{let{subscription:e}=a;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),o!==i.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[a,o]);let c=n||Rc;return s.createElement(c.Provider,{value:a},t)}var Bc=zc,Vc=new Set([`axisLine`,`tickLine`,`activeBar`,`activeDot`,`activeLabel`,`activeShape`,`allowEscapeViewBox`,`background`,`cursor`,`dot`,`label`,`line`,`margin`,`padding`,`position`,`shape`,`style`,`tick`,`wrapperStyle`,`radius`,`throttledEvents`]);function Hc(e,t){return e==null&&t==null?!0:typeof e==`number`&&typeof t==`number`?e===t||e!==e&&t!==t:e===t}function Uc(e,t){for(var n of new Set([...Object.keys(e),...Object.keys(t)]))if(Vc.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Pc(e[n],t[n]))return!1}else if(!Hc(e[n],t[n]))return!1;return!0}function Wc(){return Wc=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.separator,n=t===void 0?rl.separator:t,r=e.contentStyle,i=e.itemStyle,o=e.labelStyle,c=o===void 0?rl.labelStyle:o,l=e.payload,u=e.formatter,d=e.itemSorter,f=e.wrapperClassName,p=e.labelClassName,m=e.label,h=e.labelFormatter,g=e.accessibilityLayer,_=g===void 0?rl.accessibilityLayer:g,v=()=>{if(l&&l.length){var e={padding:0,margin:0},t=il(l,d).map((e,t)=>{if(!e||e.type===`none`)return null;var r=e.formatter||u||nl,a=e.value,o=e.name,c=a,d=o;if(r){var f=r(a,o,e,t,l);if(Array.isArray(f)){var p=Xc(f,2);c=p[0],d=p[1]}else if(f!=null)c=f;else return null}var m=Kc(Kc({},rl.itemStyle),{},{color:e.color||rl.itemStyle.color},i);return s.createElement(`li`,{className:`recharts-tooltip-item`,key:`tooltip-item-${t}`,style:m},ce(d)?s.createElement(`span`,{className:`recharts-tooltip-item-name`},d):null,ce(d)?s.createElement(`span`,{className:`recharts-tooltip-item-separator`},n):null,s.createElement(`span`,{className:`recharts-tooltip-item-value`},c),s.createElement(`span`,{className:`recharts-tooltip-item-unit`},e.unit||``))});return s.createElement(`ul`,{className:`recharts-tooltip-item-list`,style:e},t)}return null},y=Kc(Kc({},rl.contentStyle),r),b=Kc({margin:0},c),x=!he(m),S=x?m:``,C=a(`recharts-default-tooltip`,f),w=a(`recharts-tooltip-label`,p);x&&h&&l!=null&&(S=h(m,l));var T=_?{role:`status`,"aria-live":`assertive`}:{};return s.createElement(`div`,Wc({className:C,style:y},T),s.createElement(`p`,{className:w,style:b},s.isValidElement(S)?S:`${S}`),v())},ol=`recharts-tooltip-wrapper`,sl={visibility:`hidden`};function cl(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return a(ol,{[`${ol}-right`]:I(n)&&t&&I(t.x)&&n>=t.x,[`${ol}-left`]:I(n)&&t&&I(t.x)&&n=t.y,[`${ol}-top`]:I(r)&&t&&I(t.y)&&r0?i:0),d=n[r]+i;if(t[r])return o[r]?u:d;var f=c[r];return f==null?0:o[r]?Math.max(uf+l?Math.max(u,f):Math.max(d,f)}function ul(e){var t=e.translateX,n=e.translateY;return{transform:e.useTranslate3d?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function dl(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTop,i=e.offsetLeft,a=e.position,o=e.reverseDirection,s=e.tooltipBox,c=e.useTranslate3d,l=e.viewBox,u,d,f;return s&&s.height>0&&s.width>0&&n?(d=ll({allowEscapeViewBox:t,coordinate:n,key:`x`,offset:i,position:a,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=ll({allowEscapeViewBox:t,coordinate:n,key:`y`,offset:r,position:a,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),u=ul({translateX:d,translateY:f,useTranslate3d:c})):u=sl,{cssProperties:u,cssClasses:cl({translateX:d,translateY:f,coordinate:n})}}var fl={devToolsEnabled:!0,isSsr:!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)};function pl(e,t){return vl(e)||_l(e,t)||hl(e,t)||ml()}function ml(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hl(e,t){if(e){if(typeof e==`string`)return gl(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gl(e,t):void 0}}function gl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nfl.isSsr||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),2),t=e[0],n=e[1];return(0,s.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>{n(e.matches)};return e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}}},[]),t}function bl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function xl(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),2),r=n[0],i=n[1];s.useEffect(()=>{var t=t=>{t.key===`Escape`&&i({dismissed:!0,dismissedAtCoordinate:{x:e.coordinate?.x??0,y:e.coordinate?.y??0}})};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e.coordinate?.x,e.coordinate?.y]),r.dismissed&&((e.coordinate?.x??0)!==r.dismissedAtCoordinate.x||(e.coordinate?.y??0)!==r.dismissedAtCoordinate.y)&&i(xl(xl({},r),{},{dismissed:!1}));var a=dl({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset==`number`?e.offset:e.offset.x,offsetTop:typeof e.offset==`number`?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),o=a.cssClasses,c=a.cssProperties,l=xl(xl({},e.hasPortalFromProps?{}:xl(xl({transition:jl({prefersReducedMotion:t,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},c),{},{pointerEvents:`none`,position:`absolute`,top:0,left:0})),{},{visibility:!r.dismissed&&e.active&&e.hasPayload?`visible`:`hidden`},e.wrapperStyle);return s.createElement(`div`,{xmlns:`http://www.w3.org/1999/xhtml`,tabIndex:-1,className:o,style:l,ref:e.innerRef},e.children)}var Nl=s.memo(Ml),Pl=()=>z(e=>e.rootProps.accessibilityLayer)??!0;function Fl(){return Fl=Object.assign?Object.assign.bind():function(e){for(var t=1;tU(e.x)&&U(e.y),Ul=e=>e.base!=null&&Hl(e.base)&&Hl(e),Wl=e=>e.x,Gl=e=>e.y,Kl=(e,t)=>{if(typeof e==`function`)return e;var n=`curve${ge(e)}`;if((n===`curveMonotone`||n===`curveBump`)&&t){var r=Vl[`${n}${t===`vertical`?`Y`:`X`}`];if(r)return r}return Vl[n]||ze},ql={connectNulls:!1,type:`linear`},Jl=e=>{var t=e.type,n=t===void 0?ql.type:t,r=e.points,i=r===void 0?[]:r,a=e.baseLine,o=e.layout,s=e.connectNulls,c=s===void 0?ql.connectNulls:s,l=Kl(n,o),u=c?i.filter(Hl):i;if(Array.isArray(a)){var d,f=i.map((e,t)=>Ll(Ll({},e),{},{base:a[t]}));return d=o===`vertical`?Ue().y(Gl).x1(Wl).x0(e=>e.base.x):Ue().x(Wl).y1(Gl).y0(e=>e.base.y),d.defined(Ul).curve(l)(c?f.filter(Ul):f)}return(o===`vertical`&&I(a)?Ue().y(Gl).x1(Wl).x0(a):I(a)?Ue().x(Wl).y1(Gl).y0(a):He().x(Wl).y(Gl)).defined(Hl).curve(l)(u)},Yl=e=>{var t=e.className,n=e.points,r=e.path,i=e.pathRef,o=mc();if((!n||!n.length)&&!r)return null;var c={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},l=n&&n.length?Jl(c):r;return s.createElement(`path`,Fl({},m(e),Ot(e),{className:a(`recharts-curve`,t),d:l===null?void 0:l,ref:i}))},Xl=[`x`,`y`,`top`,`left`,`width`,`height`,`className`];function Zl(){return Zl=Object.assign?Object.assign.bind():function(e){for(var t=1;t`M${e},${i}v${r}M${a},${t}h${n}`,ou=e=>{var t=e.x,n=t===void 0?0:t,r=e.y,i=r===void 0?0:r,o=e.top,c=o===void 0?0:o,l=e.left,u=l===void 0?0:l,d=e.width,f=d===void 0?0:d,p=e.height,m=p===void 0?0:p,h=e.className,_=ru(e,Xl),v=$l({x:n,y:i,top:c,left:u,width:f,height:m},_);return!I(n)||!I(i)||!I(f)||!I(m)||!I(c)||!I(u)?null:s.createElement(`path`,Zl({},g(v),{className:a(`recharts-cross`,h),d:au(n,i,f,m,c,u)}))};function su(e,t,n,r){var i=r/2;return{stroke:`none`,fill:`#ccc`,x:e===`horizontal`?t.x-i:n.left+.5,y:e===`horizontal`?n.top+.5:t.y-i,width:e===`horizontal`?r:n.width-1,height:e===`horizontal`?n.height-1:r}}var cu=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],lu=(e,t)=>e.map((e,n)=>e*t**n).reduce((e,t)=>e+t),uu=(e,t)=>n=>lu(cu(e,t),n),du=(e,t)=>n=>lu([...cu(e,t).map((e,t)=>e*t).slice(1),0],n),fu=e=>{var t,n=e.split(`(`);if(n.length!==2||n[0]!==`cubic-bezier`)return null;var r=(t=n[1])==null||(t=t.split(`)`)[0])==null?void 0:t.split(`,`);if(r==null||r.length!==4)return null;var i=r.map(e=>parseFloat(e));return[i[0],i[1],i[2],i[3]]},pu=function(){var e=[...arguments];if(e.length===1)switch(e[0]){case`linear`:return[0,0,1,1];case`ease`:return[.25,.1,.25,1];case`ease-in`:return[.42,0,1,1];case`ease-out`:return[.42,0,.58,1];case`ease-in-out`:return[0,0,.58,1];default:var t=fu(e[0]);if(t)return t}return e.length===4?e:[0,0,1,1]},mu=(e,t,n,r)=>{var i=uu(e,n),a=uu(t,r),o=du(e,n),s=e=>e>1?1:e<0?0:e,c=e=>{for(var t=e>1?1:e,n=t,r=0;r<8;++r){var c=i(n)-t,l=o(n);if(Math.abs(c-t)<1e-4||l<1e-4)return a(n);n=s(n-c/l)}return a(n)};return c.isStepper=!1,c},hu=function(){return mu(...pu(...arguments))},gu=function(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.stiff,n=t===void 0?100:t,r=e.damping,i=r===void 0?8:r,a=e.dt,o=a===void 0?16.67:a,s=1,c=[0],l=0,u=0,d=1e4,f=0;f{if(e<=0)return 0;if(e>=1)return s;var t=e*h,n=Math.floor(t),r=t-n;return(c[n]??0)+((c[n+1]??0)-(c[n]??0))*r}},_u=e=>{if(typeof e==`string`)switch(e){case`ease`:case`ease-in-out`:case`ease-out`:case`ease-in`:case`linear`:return hu(e);case`spring`:return gu();default:if(e.split(`(`)[0]===`cubic-bezier`)return hu(e)}return typeof e==`function`?e:null},vu=(0,s.createContext)((e,t,n)=>{var r,i=a=>{var o=t.tick(a);if(t.getState()===`active`){if(n(t.getInterpolated()),t.getProgress()===1){t.complete(),r=void 0;return}r=e.setTimeout(i,o);return}r=e.setTimeout(i,o)};return r=e.setTimeout(i,0),()=>r?.()});vu.Provider;function yu(e){var t=(0,s.useContext)(vu);return(0,s.useMemo)(()=>e??t,[e,t])}function bu(e,t,n){return(t=xu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xu(e){var t=Su(e,`string`);return typeof t==`symbol`?t:t+``}function Su(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Cu=`init`,wu=`pending`,Tu=`active`,Eu=`completed`;function Du(e){return Math.max(0,e)}var Ou=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(e){var t;bu(this,`state`,Cu),this.animationId=e.animationId,this.onAnimationEnd=e.onAnimationEnd,this.animationDuration=Du(e.animationDuration),this.animationBegin=Du(e.animationBegin),this.progress=0,this.from=e.from,this.to=e.to,this.easing=e.easing,(t=e.onAnimationStart)==null||t.call(e)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(e){if(this.getState()===Cu)return this.state=wu,this.beginStartedTime=e,this.animationBegin;if(this.getState()===wu){if(this.beginStartedTime==null)throw Error();var t=e-this.beginStartedTime;return t>=this.animationBegin?(this.state=Tu,this.animationStartedTime=e,this.nextAnimationUpdate(0)):Du(this.animationBegin-t)}if(this.getState()===Tu){if(this.animationStartedTime==null)throw Error();var n=e-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(e){this.progress=Math.min(1,Math.max(0,e))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state===`active`){var e;(e=this.onAnimationEnd)==null||e.call(this)}this.state=Eu}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},ku=class extends Ou{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(pe(this.getFrom(),this.getTo(),this.getProgress()))}},Au=class{setTimeout(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),r=null,i=a=>{a-n>=t?e(a):r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>{r!=null&&cancelAnimationFrame(r)}}};function ju(e,t){return Iu(e)||Fu(e,t)||Nu(e,t)||Mu()}function Mu(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Nu(e,t){if(e){if(typeof e==`string`)return Pu(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pu(e,t):void 0}}function Pu(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{},onAnimationStart:()=>{}},Ru=0,zu=1;function Bu(e){var t=It(e,Lu),n=t.animationId,r=t.isActive,i=t.canBegin,a=t.duration,o=t.easing,c=t.begin,l=t.onAnimationEnd,u=t.onAnimationStart,d=t.children,f=yl(),p=r===`auto`?!fl.isSsr&&!f:r,m=yu(t.animationController),h=ju((0,s.useState)(p?Ru:zu),2),g=h[0],_=h[1];return(0,s.useEffect)(()=>{p||_(zu)},[p]),(0,s.useEffect)(()=>{var e=_u(o);return!p||!i||e==null?ve:m(new Au,new ku({animationId:n,easing:e,animationDuration:a,animationBegin:c,onAnimationStart:u,onAnimationEnd:l,from:Ru,to:zu}),_)},[m,n,p,i,a,o,c,u,l]),d(Number(g))}function Vu(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`animation-`,n=(0,s.useRef)(ue(t)),r=(0,s.useRef)(e);return r.current!==e&&(n.current=ue(t),r.current=e),n.current}var Hu=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),Uu=(e,t,n)=>e.map(e=>`${Hu(e)} ${t}ms ${n}`).join(`,`),Wu=[`radius`],Gu=[`radius`],Ku,qu,Ju,Yu,Xu,Zu,Qu,$u,ed,td;function nd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function rd(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var a=ae(n),o=ae(r),s=Math.min(Math.abs(a)/2,Math.abs(o)/2),c=o>=0?1:-1,l=a>=0?1:-1,u=+(o>=0&&a>=0||o<0&&a<0),d;if(s>0&&Array.isArray(i)){for(var f=[0,0,0,0],p=0,m=4;ps?s:h}d=P(Ku||=gd([`M`,`,`,``]),e,t+c*f[0]),f[0]>0&&(d+=P(qu||=gd([`A `,`,`,`,0,0,`,`,`,`,`,``]),f[0],f[0],u,e+l*f[0],t)),d+=P(Ju||=gd([`L `,`,`,``]),e+n-l*f[1],t),f[1]>0&&(d+=P(Yu||=gd([`A `,`,`,`,0,0,`,`, + `,`,`,``]),f[1],f[1],u,e+n,t+c*f[1])),d+=P(Xu||=gd([`L `,`,`,``]),e+n,t+r-c*f[2]),f[2]>0&&(d+=P(Zu||=gd([`A `,`,`,`,0,0,`,`, + `,`,`,``]),f[2],f[2],u,e+n-l*f[2],t+r)),d+=P(Qu||=gd([`L `,`,`,``]),e+l*f[3],t+r),f[3]>0&&(d+=P($u||=gd([`A `,`,`,`,0,0,`,`, + `,`,`,``]),f[3],f[3],u,e,t+r-c*f[3])),d+=`Z`}else if(s>0&&i===+i&&i>0){var g=Math.min(s,i);d=P(ed||=gd(`M .,. + A .,.,0,0,.,.,. + L .,. + A .,.,0,0,.,.,. + L .,. + A .,.,0,0,.,.,. + L .,. + A .,.,0,0,.,.,. Z`.split(`.`)),e,t+c*g,g,g,u,e+l*g,t,e+n-l*g,t,g,g,u,e+n,t+c*g,e+n,t+r-c*g,g,g,u,e+n-l*g,t+r,e+l*g,t+r,g,g,u,e,t+r-c*g)}else d=P(td||=gd([`M `,`,`,` h `,` v `,` h `,` Z`]),e,t,n,r,-n);return d},vd={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},yd=e=>{var t=It(e,vd),n=(0,s.useRef)(null),r=ud((0,s.useState)(-1),2),i=r[0],o=r[1];(0,s.useEffect)(()=>{if(n.current&&n.current.getTotalLength)try{var e=n.current.getTotalLength();e&&o(e)}catch{}},[]);var c=t.x,l=t.y,u=t.width,d=t.height,f=t.radius,p=t.className,m=t.animationEasing,h=t.animationDuration,_=t.animationBegin,v=t.isAnimationActive,y=t.isUpdateAnimationActive,b=(0,s.useRef)(u),x=(0,s.useRef)(d),S=(0,s.useRef)(c),C=(0,s.useRef)(l),w=Vu((0,s.useMemo)(()=>({x:c,y:l,width:u,height:d,radius:f}),[c,l,u,d,f]),`rectangle-`);if(c!==+c||l!==+l||u!==+u||d!==+d||u===0||d===0)return null;var T=a(`recharts-rectangle`,p);if(!y){var E=g(t);E.radius;var D=cd(E,Wu);return s.createElement(`path`,sd({},D,{x:ae(c),y:ae(l),width:ae(u),height:ae(d),radius:typeof f==`number`?f:void 0,className:T,d:_d(c,l,u,d,f)}))}var O=b.current,k=x.current,A=S.current,j=C.current,M=`0px ${i===-1?1:i}px`,N=`${i}px ${i}px`,ee=Uu([`strokeDasharray`],h,typeof m==`string`?m:vd.animationEasing);return s.createElement(Bu,{animationId:w,key:w,canBegin:i>0,duration:h,easing:m,isActive:y,begin:_},e=>{var r=pe(O,u,e),i=pe(k,d,e),a=pe(A,c,e),o=pe(j,l,e);n.current&&(b.current=r,x.current=i,S.current=a,C.current=o);var p=v?e>0?{transition:ee,strokeDasharray:N}:{strokeDasharray:M}:{strokeDasharray:N},m=g(t);m.radius;var h=cd(m,Gu);return s.createElement(`path`,sd({},h,{radius:typeof f==`number`?f:void 0,className:T,d:_d(a,o,r,i,f),ref:n,style:rd(rd({},p),t.style)}))})};function bd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function xd(e){for(var t=1;te*180/Math.PI,Dd=(e,t,n,r)=>({x:e+Math.cos(-Td*r)*n,y:t+Math.sin(-Td*r)*n}),Od=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},kd=(e,t)=>{var n=e.x,r=e.y,i=t.x,a=t.y;return Math.sqrt((n-i)**2+(r-a)**2)},Ad=(e,t)=>{var n=e.x,r=e.y,i=t.cx,a=t.cy,o=kd({x:n,y:r},{x:i,y:a});if(o<=0)return{radius:o,angle:0};var s=(n-i)/o,c=Math.acos(s);return r>a&&(c=2*Math.PI-c),{radius:o,angle:Ed(c),angleInRadian:c}},jd=e=>{var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},Md=(e,t)=>{var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),a=Math.floor(r/360);return e+Math.min(i,a)*360},Nd=(e,t)=>{var n=e.relativeX,r=e.relativeY,i=Ad({x:n,y:r},t),a=i.radius,o=i.angle,s=t.innerRadius,c=t.outerRadius;if(ac||a===0)return null;var l=jd(t),u=l.startAngle,d=l.endAngle,f=o,p;if(u<=d){for(;f>d;)f-=360;for(;f=u&&f<=d}else{for(;f>u;)f-=360;for(;f=d&&f<=u}return p?xd(xd({},t),{},{radius:a,angle:Md(f,t)}):null};function Pd(e){var t=e.cx,n=e.cy,r=e.radius,i=e.startAngle,a=e.endAngle;return{points:[Dd(t,n,r,i),Dd(t,n,r,a)],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}var Fd,Id,Ld,Rd,zd,Bd,Vd;function Hd(){return Hd=Object.assign?Object.assign.bind():function(e){for(var t=1;toe(t-e)*Math.min(Math.abs(t-e),359.999),Gd=e=>{var t=e.cx,n=e.cy,r=e.radius,i=e.angle,a=e.sign,o=e.isExternal,s=e.cornerRadius,c=e.cornerIsExternal,l=s*(o?1:-1)+r,u=Math.asin(s/l)/Td,d=c?i:i+a*u,f=Dd(t,n,l,d),p=Dd(t,n,r,d),m=c?i-a*u:i;return{center:f,circleTangency:p,lineTangency:Dd(t,n,l*Math.cos(u*Td),m),theta:u}},Kd=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.startAngle,o=e.endAngle,s=Wd(a,o),c=a+s,l=Dd(t,n,i,a),u=Dd(t,n,i,c),d=P(Fd||=Ud([`M `,`,`,` + A `,`,`,`,0, + `,`,`,`, + `,`,`,` + `]),l.x,l.y,i,i,+(Math.abs(s)>180),+(a>c),u.x,u.y);if(r>0){var f=Dd(t,n,r,a),p=Dd(t,n,r,c);d+=P(Id||=Ud([`L `,`,`,` + A `,`,`,`,0, + `,`,`,`, + `,`,`,` Z`]),p.x,p.y,r,r,+(Math.abs(s)>180),+(a<=c),f.x,f.y)}else d+=P(Ld||=Ud([`L `,`,`,` Z`]),t,n);return d},qd=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,l=e.endAngle,u=oe(l-c),d=Gd({cx:t,cy:n,radius:i,angle:c,sign:u,cornerRadius:a,cornerIsExternal:s}),f=d.circleTangency,p=d.lineTangency,m=d.theta,h=Gd({cx:t,cy:n,radius:i,angle:l,sign:-u,cornerRadius:a,cornerIsExternal:s}),g=h.circleTangency,_=h.lineTangency,v=h.theta,y=s?Math.abs(c-l):Math.abs(c-l)-m-v;if(y<0)return o?P(Rd||=Ud([`M `,`,`,` + a`,`,`,`,0,0,1,`,`,0 + a`,`,`,`,0,0,1,`,`,0 + `]),p.x,p.y,a,a,a*2,a,a,-a*2):Kd({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:l});var b=P(zd||=Ud([`M `,`,`,` + A`,`,`,`,0,0,`,`,`,`,`,` + A`,`,`,`,0,`,`,`,`,`,`,`,` + A`,`,`,`,0,0,`,`,`,`,`,` + `]),p.x,p.y,a,a,+(u<0),f.x,f.y,i,i,+(y>180),+(u<0),g.x,g.y,a,a,+(u<0),_.x,_.y);if(r>0){var x=Gd({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),S=x.circleTangency,C=x.lineTangency,w=x.theta,T=Gd({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),E=T.circleTangency,D=T.lineTangency,O=T.theta,k=s?Math.abs(c-l):Math.abs(c-l)-w-O;if(k<0&&a===0)return`${b}L${t},${n}Z`;b+=P(Bd||=Ud([`L`,`,`,` + A`,`,`,`,0,0,`,`,`,`,`,` + A`,`,`,`,0,`,`,`,`,`,`,`,` + A`,`,`,`,0,0,`,`,`,`,`,`Z`]),D.x,D.y,a,a,+(u<0),E.x,E.y,r,r,+(k>180),+(u>0),S.x,S.y,a,a,+(u<0),C.x,C.y)}else b+=P(Vd||=Ud([`L`,`,`,`Z`]),t,n);return b},Jd={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},Yd=e=>{var t=It(e,Jd),n=t.cx,r=t.cy,i=t.innerRadius,o=t.outerRadius,c=t.cornerRadius,l=t.forceCornerRadius,u=t.cornerIsExternal,d=t.startAngle,f=t.endAngle,p=t.className;if(o0&&Math.abs(d-f)<360?qd({cx:n,cy:r,innerRadius:i,outerRadius:o,cornerRadius:Math.min(_,h/2),forceCornerRadius:l,cornerIsExternal:u,startAngle:d,endAngle:f}):Kd({cx:n,cy:r,innerRadius:i,outerRadius:o,startAngle:d,endAngle:f});return s.createElement(`path`,Hd({},g(t),{className:m,d:v}))};function Xd(e,t,n){if(e===`horizontal`)return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e===`vertical`)return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(Dt(t)){if(e===`centric`){var r=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,s=t.angle,c=Dd(r,i,a,s),l=Dd(r,i,o,s);return[{x:c.x,y:c.y},{x:l.x,y:l.y}]}return Pd(t)}}function Zd(e){return M(e)?NaN:Number(e)}function Qd(e){return e?(e=Zd(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function $d(e,t,n){n&&typeof n!=`number`&&hr(e,t,n)&&(t=n=void 0),e=Qd(e),t===void 0?(t=e,e=0):t=Qd(t),n=n===void 0?ee.chartData,tf=B([ef],e=>{var t=e.chartData==null?0:e.chartData.length-1;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),nf=(e,t,n,r)=>r?tf(e):ef(e),rf=(e,t,n)=>n?tf(e):ef(e),af=B([nf],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});B([tf],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});var of=B([ef],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});function sf(e,t){return ff(e)||df(e,t)||lf(e,t)||cf()}function cf(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lf(e,t){if(e){if(typeof e==`string`)return uf(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uf(e,t):void 0}}function uf(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=re.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||en)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;tr?1:-1;else for(i=a=0;it[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,j=r.s==i.s?1:-1,M=r.d,N=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=N.length,T=M.length,g=new A(j),_=g.d=[],u=0;N[u]==(M[u]||0);)++u;if(N[u]>(M[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,N=N[0],x++;(u1&&(N=e(N,d),M=e(M,d),O=N.length,T=M.length),w=O,v=M.slice(0,O),y=v.length;y=f/2&&++E;do d=0,c=t(N,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(N,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(e,t){var n,r,a;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),rh||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function j(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i){t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;return}if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=j,i.config=i.set=M,e===void 0&&(e={}),e)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`LN10`],t=0;t=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i)}if((i=e[r=`LN10`])!==void 0){if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i)}return this}r=j(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(e)}))());function _f(e){return e===0?1:Math.floor(new K.default(e).abs().log(10).toNumber())+1}function vf(e,t,n){for(var r=new K.default(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}function yf(e,t){return wf(e)||Cf(e,t)||xf(e,t)||bf()}function bf(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xf(e,t){if(e){if(typeof e==`string`)return Sf(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sf(e,t):void 0}}function Sf(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=yf(e,2),n=t[0],r=t[1],i=n,a=r;return n>r&&(i=r,a=n),[i,a]},Ef=(e,t,n)=>{if(e.lte(0))return new K.default(0);var r=_f(e.toNumber()),i=new K.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new K.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?new K.default(s.toNumber()):new K.default(Math.ceil(s.toNumber()))},Df=(e,t,n)=>{if(e.lte(0))return new K.default(0);var r=[1,2,2.5,5],i=e.toNumber(),a=Math.floor(new K.default(i).abs().log(10).toNumber()),o=new K.default(10).pow(a),s=e.div(o).toNumber(),c=r.findIndex(e=>e>=s-1e-10);if(c===-1&&(o=o.mul(10),c=0),c+=n,c>=r.length){var l=Math.floor(c/r.length);c%=r.length,o=o.mul(new K.default(10).pow(l))}var u=r[c]??1,d=new K.default(u).mul(o);return t?d:new K.default(Math.ceil(d.toNumber()))},Of=(e,t,n)=>{var r=new K.default(1),i=new K.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new K.default(10).pow(_f(e)-1),i=new K.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new K.default(Math.floor(e)))}else e===0?i=new K.default(Math.floor((t-1)/2)):n||(i=new K.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),s=[],c=0;c4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Ef;if(!Number.isFinite((t-e)/(n-1)))return{step:new K.default(0),tickMin:new K.default(0),tickMax:new K.default(0)};var o=a(new K.default(t).sub(e).div(n-1),r,i),s;e<=0&&t>=0?s=new K.default(0):(s=new K.default(e).add(t).div(2),s=s.sub(new K.default(s).mod(o)));var c=Math.ceil(s.sub(e).div(o).toNumber()),l=Math.ceil(new K.default(t).sub(s).div(o).toNumber()),u=c+l+1;return u>n?kf(e,t,n,r,i+1,a):(u0?l+(n-u):l,c=t>0?c:c+(n-u)),{step:o,tickMin:s.sub(new K.default(c).mul(o)),tickMax:s.add(new K.default(l).mul(o))})},Af=function(e){var t=yf(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=Math.max(i,2),c=yf(Tf([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0){var d=u===1/0?[l,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),u];return n>r?d.reverse():d}if(l===u)return Of(l,i,a);var f=kf(l,u,s,a,0,o===`snap125`?Df:Ef),p=f.step,m=f.tickMin,h=f.tickMax,g=vf(m,h.add(new K.default(.1).mul(p)),p);return n>r?g.reverse():g},jf=function(e,t){var n=yf(e,2),r=n[0],i=n[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=yf(Tf([r,i]),2),c=s[0],l=s[1];if(c===-1/0||l===1/0)return[r,i];if(c===l)return[c];var u=o===`snap125`?Df:Ef,d=Math.max(t,2),f=u(new K.default(l).sub(c).div(d-1),a,0),p=[...vf(new K.default(c),new K.default(l),f),l];if(a===!1){p=p.map(e=>Math.round(e));var m=p.length-1;m>0&&p[m]===p[m-1]&&(p=p.slice(0,m))}return r>i?p.reverse():p},Mf=e=>e.rootProps.barCategoryGap,Nf=e=>e.rootProps.stackOffset,Pf=e=>e.rootProps.reverseStackOrder,Ff=e=>e.options.chartName,If=e=>e.rootProps.syncId,Lf=e=>e.rootProps.syncMethod,Rf=e=>e.options.eventEmitter,zf=e=>e.rootProps.baseValue,Bf={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},Vf={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:`polygon`,cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:`auto`,orientation:`outer`,reversed:!1,scale:`auto`,tick:!0,tickLine:!0,tickSize:8,type:`auto`,zIndex:Bf.axis},Hf={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:`auto`,label:!1,orientation:`right`,radiusAxisId:0,reversed:!1,scale:`auto`,stroke:`#ccc`,tick:!0,tickCount:5,tickLine:!0,type:`auto`,zIndex:Bf.axis},Uf=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Wf(e,t,n){if(n!==`auto`)return n;if(e!=null)return Uo(e,t)?`category`:`number`}function Gf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Kf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},gc],(e,t)=>{if(e!=null)return e;var n=Wf(t,`angleAxis`,Xf.type)??`category`;return Kf(Kf({},Xf),{},{type:n})}),$f=B([(e,t)=>e.polarAxis.radiusAxis[t],gc],(e,t)=>{if(e!=null)return e;var n=Wf(t,`radiusAxis`,Zf.type)??`category`;return Kf(Kf({},Zf),{},{type:n})}),ep=e=>e.polarOptions,tp=B([os,ss,Cs],Od),np=B([ep,tp],(e,t)=>{if(e!=null)return de(e.innerRadius,t,0)}),rp=B([ep,tp],(e,t)=>{if(e!=null)return de(e.outerRadius,t,t*.8)}),ip=B([ep],e=>e==null?[0,0]:[e.startAngle,e.endAngle]);B([Qf,ip],Uf);var ap=B([tp,np,rp],(e,t,n)=>{if(e!=null&&t!=null&&n!=null)return[t,n]});B([$f,ap],Uf);var op=B([G,ep,np,rp,os,ss],(e,t,n,r,i,a)=>{if(!(e!==`centric`&&e!==`radial`||t==null||n==null||r==null)){var o=t.cx,s=t.cy,c=t.startAngle,l=t.endAngle;return{cx:de(o,i,i/2),cy:de(s,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:l,clockWise:!1}}}),sp=(e,t)=>t,cp=(e,t,n)=>n;function lp(e){return e?.id}function up(e,t,n){var r=t.chartData,i=r===void 0?[]:r,a=n.allowDuplicatedCategory,o=n.dataKey,s=new Map;return e.forEach(e=>{var t=e.data??i;if(t!=null&&t.length!==0){var n=lp(e);t.forEach((t,r)=>{var i=o==null||a?r:String(W(t,o,null)),c=W(t,e.dataKey,0),l=s.has(i)?s.get(i):{};Object.assign(l,{[n]:c}),s.set(i,l)})}}),Array.from(s.values())}function dp(e){return`stackId`in e&&e.stackId!=null&&e.dataKey!=null}var fp=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function pp(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function mp(e,t){if(e.length===t.length){for(var n=0;n{var t=G(e);return t===`horizontal`?`xAxis`:t===`vertical`?`yAxis`:t===`centric`?`angleAxis`:`radiusAxis`},gp=e=>e.tooltip.settings.axisId;function _p(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(e){var t=i[0],n=i[1];return t<=n?e>=t&&e<=n:e>=n&&e<=t},bandwidth:n?()=>n.call(e):void 0,ticks:t?n=>t.call(e,n):void 0,map:(t,n)=>{var r=e(t);if(r!=null){if(e.bandwidth&&n!=null&&n.position){var i=e.bandwidth();switch(n.position){case`middle`:r+=i/2;break;case`end`:r+=i}}return r}}}}}var vp=(e,t)=>{if(t!=null)switch(e){case`linear`:if(!pf(t)){for(var n,r,i=0;ir)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t;default:return t}};function yp(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function bp(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function xp(e){let t,n,r;e.length===2?(t=e===yp||e===bp?e:Sp,n=e,r=e):(t=yp,n=(t,n)=>yp(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i>>1;n(e[t],r)<0?i=t+1:a=t}while(i>>1;n(e[t],r)<=0?i=t+1:a=t}while(in&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function Sp(){return 0}function Cp(e){return e===null?NaN:+e}function*wp(e,t){if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var Tp=xp(yp),Ep=Tp.right;Tp.left,xp(Cp).center;var Dp=class extends Map{constructor(e,t=jp){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(Op(this,e))}has(e){return super.has(Op(this,e))}set(e,t){return super.set(kp(this,e),t)}delete(e){return super.delete(Ap(this,e))}};function Op({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function kp({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Ap({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function jp(e){return typeof e==`object`&&e?e.valueOf():e}function Mp(e=yp){if(e===yp)return Np;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Np(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et))}var Pp=Math.sqrt(50),Fp=Math.sqrt(10),Ip=Math.sqrt(2);function Lp(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Pp?10:a>=Fp?5:a>=Ip?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/lt&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*lt&&--c),c0))return[];if(e===t)return[e];let r=t=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n=i)&&(n=i)}return n}function Hp(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Up(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?Np:Mp(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));Up(e,t,u,d,i)}let a=e[t],o=n,s=r;for(Wp(e,n,t),i(e[r],a)>0&&Wp(e,n,r);o0;)--s}i(e[n],a)===0?Wp(e,n,s):(++s,Wp(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function Wp(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Gp(e,t,n){if(e=Float64Array.from(wp(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Hp(e);if(t>=1)return Vp(e);var r,i=(r-1)*t,a=Math.floor(i),o=Vp(Up(e,a).subarray(0,a+1));return o+(Hp(e.subarray(a+1))-o)*(i-a)}}function Kp(e,t,n=Cp){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function qp(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Cm(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Cm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=um.exec(e))?new Em(t[1],t[2],t[3],1):(t=dm.exec(e))?new Em(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=fm.exec(e))?Cm(t[1],t[2],t[3],t[4]):(t=pm.exec(e))?Cm(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=mm.exec(e))?Nm(t[1],t[2]/100,t[3]/100,1):(t=hm.exec(e))?Nm(t[1],t[2]/100,t[3]/100,t[4]):gm.hasOwnProperty(e)?Sm(gm[e]):e===`transparent`?new Em(NaN,NaN,NaN,0):null}function Sm(e){return new Em(e>>16&255,e>>8&255,e&255,1)}function Cm(e,t,n,r){return r<=0&&(e=t=n=NaN),new Em(e,t,n,r)}function wm(e){return e instanceof rm||(e=xm(e)),e?(e=e.rgb(),new Em(e.r,e.g,e.b,e.opacity)):new Em}function Tm(e,t,n,r){return arguments.length===1?wm(e):new Em(e,t,n,r??1)}function Em(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}tm(Em,Tm,nm(rm,{brighter(e){return e=e==null?am:am**+e,new Em(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?im:im**+e,new Em(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Em(jm(this.r),jm(this.g),jm(this.b),Am(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Dm,formatHex:Dm,formatHex8:Om,formatRgb:km,toString:km}));function Dm(){return`#${Mm(this.r)}${Mm(this.g)}${Mm(this.b)}`}function Om(){return`#${Mm(this.r)}${Mm(this.g)}${Mm(this.b)}${Mm((isNaN(this.opacity)?1:this.opacity)*255)}`}function km(){let e=Am(this.opacity);return`${e===1?`rgb(`:`rgba(`}${jm(this.r)}, ${jm(this.g)}, ${jm(this.b)}${e===1?`)`:`, ${e})`}`}function Am(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function jm(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Mm(e){return e=jm(e),(e<16?`0`:``)+e.toString(16)}function Nm(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Im(e,t,n,r)}function Pm(e){if(e instanceof Im)return new Im(e.h,e.s,e.l,e.opacity);if(e instanceof rm||(e=xm(e)),!e)return new Im;if(e instanceof Im)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n0&&c<1?0:o,new Im(o,s,c,e.opacity)}function Fm(e,t,n,r){return arguments.length===1?Pm(e):new Im(e,t,n,r??1)}function Im(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}tm(Im,Fm,nm(rm,{brighter(e){return e=e==null?am:am**+e,new Im(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?im:im**+e,new Im(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Em(zm(e>=240?e-240:e+120,i,r),zm(e,i,r),zm(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Im(Lm(this.h),Rm(this.s),Rm(this.l),Am(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Am(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Lm(this.h)}, ${Rm(this.s)*100}%, ${Rm(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Lm(e){return e=(e||0)%360,e<0?e+360:e}function Rm(e){return Math.max(0,Math.min(1,e||0))}function zm(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Bm=e=>()=>e;function Vm(e,t){return function(n){return e+n*t}}function Hm(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Um(e){return(e=+e)==1?Wm:function(t,n){return n-t?Hm(t,n,e):Bm(isNaN(t)?n:t)}}function Wm(e,t){var n=t-e;return n?Vm(e,n):Bm(isNaN(e)?t:e)}var Gm=(function e(t){var n=Um(t);function r(e,t){var r=n((e=Tm(e)).r,(t=Tm(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Wm(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Km(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Xm(r,i)})),n=$m.lastIndex;return nt&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function fh(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i2?ph:fh,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Xm))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,sh),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=ih,u()},d.clamp=function(e){return arguments.length?(o=e?!0:lh,u()):o!==lh},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function gh(){return hh()(lh,lh)}function _h(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function vh(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function yh(e){return e=vh(Math.abs(e)),e?e[1]:NaN}function bh(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function xh(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Sh=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ch(e){if(!(t=Sh.exec(e)))throw Error(`invalid format: `+e);var t;return new wh({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Ch.prototype=wh.prototype;function wh(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}wh.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function Th(e){out:for(var t=e.length,n=1,r=-1,i;n0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Eh;function Dh(e,t){var n=vh(e,t);if(!n)return Eh=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Eh=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+vh(e,Math.max(0,t+a-1))[0]}function Oh(e,t){var n=vh(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var kh={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:_h,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Oh(e*100,t),r:Oh,s:Dh,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ah(e){return e}var jh=Array.prototype.map,Mh=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Nh(e){var t=e.grouping===void 0||e.thousands===void 0?Ah:bh(jh.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Ah:xh(jh.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Ch(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):kh[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=kh[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Th(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Eh!==void 0?Mh[8+Eh/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++op||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(yh(t)/3)))*3,r=10**-n,i=l((e=Ch(e),e.type=`f`,e),{suffix:Mh[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Ph,Fh,Ih;Lh({thousands:`,`,grouping:[3],currency:[`$`,``]});function Lh(e){return Ph=Nh(e),Fh=Ph.format,Ih=Ph.formatPrefix,Ph}function Rh(e){return Math.max(0,-yh(Math.abs(e)))}function zh(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(yh(t)/3)))*3-yh(Math.abs(e)))}function Bh(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,yh(t)-yh(e))+1}function Vh(e,t,n,r){var i=Bp(e,t,n),a;switch(r=Ch(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=zh(i,o))&&(r.precision=a),Ih(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Bh(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Rh(i))&&(r.precision=a-(r.type===`%`)*2)}return Fh(r)}function Hh(e){var t=e.domain;return e.ticks=function(e){var n=t();return Rp(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return Vh(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s0;){if(l=zp(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function Uh(){var e=gh();return e.copy=function(){return mh(e,Uh())},Jp.apply(e,arguments),Hh(e)}function Wh(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,sh),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Wh(e).unknown(t)},e=arguments.length?Array.from(e,sh):[0,1],Hh(n)}function Gh(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return ae**+t}function Qh(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function $h(e){return(t,n)=>-e(-t,n)}function eg(e){let t=e(Kh,qh),n=t.domain,r=10,i,a;function o(){return i=Qh(r),a=Zh(r),n()[0]<0?(i=$h(i),a=$h(a),e(Jh,Yh)):e(Kh,qh),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s0){for(;l<=u;++l)for(d=1;ds)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(fs)break;m.push(f)}m.length*2{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Ch(n)).precision==null&&(n.trim=!0),n=Fh(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*rn(Gh(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function tg(){let e=eg(hh()).domain([1,10]);return e.copy=()=>mh(e,tg()).base(e.base()),Jp.apply(e,arguments),e}function ng(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function rg(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function ig(e){var t=1,n=e(ng(t),rg(t));return n.constant=function(n){return arguments.length?e(ng(t=+n),rg(t)):t},Hh(n)}function ag(){var e=ig(hh());return e.copy=function(){return mh(e,ag()).constant(e.constant())},Jp.apply(e,arguments)}function og(e){return function(t){return t<0?-((-t)**+e):t**+e}}function sg(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function cg(e){return e<0?-e*e:e*e}function lg(e){var t=e(lh,lh),n=1;function r(){return n===1?e(lh,lh):n===.5?e(sg,cg):e(og(n),og(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},Hh(t)}function ug(){var e=lg(hh());return e.copy=function(){return mh(e,ug()).exponent(e.exponent())},Jp.apply(e,arguments),e}function dg(){return ug.apply(null,arguments).exponent(.5)}function fg(e){return Math.sign(e)*e*e}function pg(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function mg(){var e=gh(),t=[0,1],n=!1,r;function i(t){var i=pg(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(fg(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,sh)).map(fg)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return mg(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Jp.apply(i,arguments),Hh(i)}function hg(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r0?n[i-1]:e[0],i=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return gg().domain([e,t]).range(i).unknown(a)},Jp.apply(Hh(o),arguments)}function _g(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[Ep(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return _g().domain(e).range(t).unknown(n)},Jp.apply(i,arguments)}var vg=new Date,yg=new Date;function q(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(sq(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(vg.setTime(+t),yg.setTime(+r),e(vg),e(yg),Math.floor(n(vg,yg))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var bg=q(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);bg.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?q(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):bg),bg.range;var xg=1e3,Sg=xg*60,Cg=Sg*60,wg=Cg*24,Tg=wg*7,Eg=wg*30,Dg=wg*365,Og=q(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*xg)},(e,t)=>(t-e)/xg,e=>e.getUTCSeconds());Og.range;var kg=q(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xg)},(e,t)=>{e.setTime(+e+t*Sg)},(e,t)=>(t-e)/Sg,e=>e.getMinutes());kg.range;var Ag=q(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Sg)},(e,t)=>(t-e)/Sg,e=>e.getUTCMinutes());Ag.range;var jg=q(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xg-e.getMinutes()*Sg)},(e,t)=>{e.setTime(+e+t*Cg)},(e,t)=>(t-e)/Cg,e=>e.getHours());jg.range;var Mg=q(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Cg)},(e,t)=>(t-e)/Cg,e=>e.getUTCHours());Mg.range;var Ng=q(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Sg)/wg,e=>e.getDate()-1);Ng.range;var Pg=q(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wg,e=>e.getUTCDate()-1);Pg.range;var Fg=q(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wg,e=>Math.floor(e/wg));Fg.range;function Ig(e){return q(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Sg)/Tg)}var Lg=Ig(0),Rg=Ig(1),zg=Ig(2),Bg=Ig(3),Vg=Ig(4),Hg=Ig(5),Ug=Ig(6);Lg.range,Rg.range,zg.range,Bg.range,Vg.range,Hg.range,Ug.range;function Wg(e){return q(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/Tg)}var Gg=Wg(0),Kg=Wg(1),qg=Wg(2),Jg=Wg(3),Yg=Wg(4),Xg=Wg(5),Zg=Wg(6);Gg.range,Kg.range,qg.range,Jg.range,Yg.range,Xg.range,Zg.range;var Qg=q(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Qg.range;var $g=q(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());$g.range;var e_=q(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());e_.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:q(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),e_.range;var t_=q(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());t_.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:q(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),t_.range;function n_(e,t,n,r,i,a){let o=[[Og,1,xg],[Og,5,5*xg],[Og,15,15*xg],[Og,30,30*xg],[a,1,Sg],[a,5,5*Sg],[a,15,15*Sg],[a,30,30*Sg],[i,1,Cg],[i,3,3*Cg],[i,6,6*Cg],[i,12,12*Cg],[r,1,wg],[r,2,2*wg],[n,1,Tg],[t,1,Eg],[t,3,3*Eg],[e,1,Dg]];function s(e,t,n){let r=te).right(o,i);if(a===o.length)return e.every(Bp(t/Dg,n/Dg,r));if(a===0)return bg.every(Math.max(Bp(t,n,r),1));let[s,c]=o[i/o[a-1][2]53)return null;`w`in r||(r.w=1),`Z`in r?(a=c_(l_(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?Kg.ceil(a):Kg(a),a=Pg.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=s_(l_(r.y,0,1)),o=a.getDay(),a=o>4||o===0?Rg.ceil(a):Rg(a),a=Ng.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?c_(l_(r.y,0,1)).getUTCDay():s_(l_(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,c_(r)):s_(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in d_?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function ee(e){return a[e.getDay()]}function te(e){return c[e.getMonth()]}function ne(e){return s[e.getMonth()]}function re(e){return i[+(e.getHours()>=12)]}function ie(e){return 1+~~(e.getMonth()/3)}function ae(e){return o[e.getUTCDay()]}function P(e){return a[e.getUTCDay()]}function oe(e){return c[e.getUTCMonth()]}function F(e){return s[e.getUTCMonth()]}function se(e){return i[+(e.getUTCHours()>=12)]}function I(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var d_={"-":``,_:` `,0:`0`},J=/^\s*\d+/,f_=/^%/,p_=/[\\^$*+?|[\]().{}]/g;function Y(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a[e.toLowerCase(),t]))}function __(e,t,n){var r=J.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function v_(e,t,n){var r=J.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function y_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function b_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function x_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function S_(e,t,n){var r=J.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function C_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function w_(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function T_(e,t,n){var r=J.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function E_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function D_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function O_(e,t,n){var r=J.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function k_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function A_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function j_(e,t,n){var r=J.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function M_(e,t,n){var r=J.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function N_(e,t,n){var r=J.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function P_(e,t,n){var r=f_.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function F_(e,t,n){var r=J.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function I_(e,t,n){var r=J.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function L_(e,t){return Y(e.getDate(),t,2)}function R_(e,t){return Y(e.getHours(),t,2)}function z_(e,t){return Y(e.getHours()%12||12,t,2)}function B_(e,t){return Y(1+Ng.count(e_(e),e),t,3)}function V_(e,t){return Y(e.getMilliseconds(),t,3)}function H_(e,t){return V_(e,t)+`000`}function U_(e,t){return Y(e.getMonth()+1,t,2)}function W_(e,t){return Y(e.getMinutes(),t,2)}function G_(e,t){return Y(e.getSeconds(),t,2)}function K_(e){var t=e.getDay();return t===0?7:t}function q_(e,t){return Y(Lg.count(e_(e)-1,e),t,2)}function J_(e){var t=e.getDay();return t>=4||t===0?Vg(e):Vg.ceil(e)}function Y_(e,t){return e=J_(e),Y(Vg.count(e_(e),e)+(e_(e).getDay()===4),t,2)}function X_(e){return e.getDay()}function Z_(e,t){return Y(Rg.count(e_(e)-1,e),t,2)}function Q_(e,t){return Y(e.getFullYear()%100,t,2)}function $_(e,t){return e=J_(e),Y(e.getFullYear()%100,t,2)}function ev(e,t){return Y(e.getFullYear()%1e4,t,4)}function tv(e,t){var n=e.getDay();return e=n>=4||n===0?Vg(e):Vg.ceil(e),Y(e.getFullYear()%1e4,t,4)}function nv(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Y(t/60|0,`0`,2)+Y(t%60,`0`,2)}function rv(e,t){return Y(e.getUTCDate(),t,2)}function iv(e,t){return Y(e.getUTCHours(),t,2)}function av(e,t){return Y(e.getUTCHours()%12||12,t,2)}function ov(e,t){return Y(1+Pg.count(t_(e),e),t,3)}function sv(e,t){return Y(e.getUTCMilliseconds(),t,3)}function cv(e,t){return sv(e,t)+`000`}function lv(e,t){return Y(e.getUTCMonth()+1,t,2)}function uv(e,t){return Y(e.getUTCMinutes(),t,2)}function dv(e,t){return Y(e.getUTCSeconds(),t,2)}function fv(e){var t=e.getUTCDay();return t===0?7:t}function pv(e,t){return Y(Gg.count(t_(e)-1,e),t,2)}function mv(e){var t=e.getUTCDay();return t>=4||t===0?Yg(e):Yg.ceil(e)}function hv(e,t){return e=mv(e),Y(Yg.count(t_(e),e)+(t_(e).getUTCDay()===4),t,2)}function gv(e){return e.getUTCDay()}function _v(e,t){return Y(Kg.count(t_(e)-1,e),t,2)}function vv(e,t){return Y(e.getUTCFullYear()%100,t,2)}function yv(e,t){return e=mv(e),Y(e.getUTCFullYear()%100,t,2)}function bv(e,t){return Y(e.getUTCFullYear()%1e4,t,4)}function xv(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Yg(e):Yg.ceil(e),Y(e.getUTCFullYear()%1e4,t,4)}function Sv(){return`+0000`}function Cv(){return`%`}function wv(e){return+e}function Tv(e){return Math.floor(e/1e3)}var Ev,Dv,Ov;kv({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function kv(e){return Ev=u_(e),Dv=Ev.format,Ev.parse,Ov=Ev.utcFormat,Ev.utcParse,Ev}function Av(e){return new Date(e)}function jv(e){return e instanceof Date?+e:+new Date(+e)}function Mv(e,t,n,r,i,a,o,s,c,l){var u=gh(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>Gp(e,r/t))},n.copy=function(){return Hv(t).domain(e)},Yp.apply(n,arguments)}function Uv(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=lh,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*eQp,scaleDiverging:()=>Wv,scaleDivergingLog:()=>Gv,scaleDivergingPow:()=>qv,scaleDivergingSqrt:()=>Jv,scaleDivergingSymlog:()=>Kv,scaleIdentity:()=>Wh,scaleImplicit:()=>Xp,scaleLinear:()=>Uh,scaleLog:()=>tg,scaleOrdinal:()=>Zp,scalePoint:()=>em,scalePow:()=>ug,scaleQuantile:()=>hg,scaleQuantize:()=>gg,scaleRadial:()=>mg,scaleSequential:()=>Lv,scaleSequentialLog:()=>Rv,scaleSequentialPow:()=>Bv,scaleSequentialQuantile:()=>Hv,scaleSequentialSqrt:()=>Vv,scaleSequentialSymlog:()=>zv,scaleSqrt:()=>dg,scaleSymlog:()=>ag,scaleThreshold:()=>_g,scaleTime:()=>Nv,scaleUtc:()=>Pv,tickFormat:()=>Vh});function Xv(e){var t=Yv;if(e in t&&typeof t[e]==`function`)return t[e]();var n=`scale${ge(e)}`;if(n in t&&typeof t[n]==`function`)return t[n]()}function Zv(e,t,n){if(typeof e==`function`)return e.copy().domain(t).range(n);if(e!=null){var r=Xv(e);if(r!=null)return r.domain(t).range(n),r}}function Qv(e,t,n,r){if(n!=null&&r!=null)return typeof e.scale==`function`?Zv(e.scale,n,r):Zv(t,n,r)}function $v(e){return`scale${ge(e)}`}function ey(e){return $v(e)in Yv}var ty=(e,t,n)=>{if(e!=null){var r=e.scale,i=e.type;if(r===`auto`)return i===`category`&&n&&(n.indexOf(`LineChart`)>=0||n.indexOf(`AreaChart`)>=0||n.indexOf(`ComposedChart`)>=0&&!t)?`point`:i===`category`?`band`:`linear`;if(typeof r==`string`)return ey(r)?r:`point`}};function ny(e,t){for(var n=0,r=e.length,i=e[0]t)?n=a+1:r=a}return n}function ry(e,t){if(e){var n=t??e.domain(),r=n.map(t=>e(t)??0),i=e.range();if(!(n.length===0||i.length<2))return e=>{var t=ny(r,e);if(t<=0)return n[0];if(t>=n.length)return n[n.length-1];var i=r[t-1]??0,a=r[t]??0;return Math.abs(e-i)<=Math.abs(e-a)?n[t-1]:n[t]}}}function iy(e){if(e!=null)return`invert`in e&&typeof e.invert==`function`?e.invert.bind(e):ry(e,void 0)}function ay(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function oy(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.cartesianAxis.xAxis[t],vy=(e,t)=>_y(e,t)??X,Z={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:gy,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`left`,padding:{top:0,bottom:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`number`,unit:void 0,niceTicks:`auto`,width:60},yy=(e,t)=>e.cartesianAxis.yAxis[t],by=(e,t)=>yy(e,t)??Z,xy={domain:[0,`auto`],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:``,range:[64,64],scale:`auto`,type:`number`,unit:``},Sy=(e,t)=>e.cartesianAxis.zAxis[t]??xy,Cy=(e,t,n)=>{switch(t){case`xAxis`:return vy(e,n);case`yAxis`:return by(e,n);case`zAxis`:return Sy(e,n);case`angleAxis`:return Qf(e,n);case`radiusAxis`:return $f(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},wy=(e,t,n)=>{switch(t){case`xAxis`:return vy(e,n);case`yAxis`:return by(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},Ty=(e,t,n)=>{switch(t){case`xAxis`:return vy(e,n);case`yAxis`:return by(e,n);case`angleAxis`:return Qf(e,n);case`radiusAxis`:return $f(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},Ey=e=>e.graphicalItems.cartesianItems.some(e=>e.type===`bar`)||e.graphicalItems.polarItems.some(e=>e.type===`radialBar`);function Dy(e,t){return n=>{switch(e){case`xAxis`:return`xAxisId`in n&&n.xAxisId===t;case`yAxis`:return`yAxisId`in n&&n.yAxisId===t;case`zAxis`:return`zAxisId`in n&&n.zAxisId===t;case`angleAxis`:return`angleAxisId`in n&&n.angleAxisId===t;case`radiusAxis`:return`radiusAxisId`in n&&n.radiusAxisId===t;default:return!1}}}var Oy=e=>e.graphicalItems.cartesianItems,ky=B([sp,cp],Dy),Ay=(e,t,n)=>e.filter(n).filter(e=>t?.includeHidden===!0||!e.hide),jy=B([Oy,Cy,ky],Ay,{memoizeOptions:{resultEqualityCheck:pp}}),My=B([jy],e=>e.filter(e=>e.type===`area`||e.type===`bar`).filter(dp)),Ny=e=>e.filter(e=>!(`stackId`in e)||e.stackId===void 0),Py=B([jy],Ny),Fy=e=>e.map(e=>e.data).filter(Boolean).flat(1),Iy=B([jy],e=>e.some(e=>!e.data)),Ly=B([jy],Fy,{memoizeOptions:{resultEqualityCheck:pp}}),Ry=(e,t)=>{var n=t.chartData,r=n===void 0?[]:n,i=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:r.slice(i,a+1)},zy=B([Ly,nf],Ry),By=(e,t,n)=>t?.dataKey==null?n.length>0?n.map(e=>e.dataKey).flatMap(t=>e.map(e=>({value:W(e,t)}))):e.map(e=>({value:e})):e.map(e=>({value:W(e,t.dataKey)})),Vy=(e,t,n,r,i,a)=>{var o=r.chartData,s=o===void 0?[]:o,c=r.dataStartIndex,l=r.dataEndIndex,u=By(e,t,n);return i&&t?.dataKey!=null&&a.length>0?[...s.slice(c,l+1).map(e=>({value:W(e,t.dataKey)})).filter(e=>e.value!=null),...u]:u},Hy=B([zy,Cy,jy,nf,Iy,Ly],Vy);function Uy(e){if(ce(e)||e instanceof Date){var t=Number(e);if(U(t))return t}}function Wy(e){if(Array.isArray(e)){var t=[Uy(e[0]),Uy(e[1])];return pf(t)?t:void 0}var n=Uy(e);if(n!=null)return[n,n]}function Gy(e){return e.map(Uy).filter(_e)}function Ky(e,t){var n=Uy(e),r=Uy(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var qy=B([Hy],e=>e?.map(e=>e.value).sort(Ky));function Jy(e,t){switch(e){case`xAxis`:return t.direction===`x`;case`yAxis`:return t.direction===`y`;default:return!1}}function Yy(e,t,n){if(!n||!n.length)return[];var r;if(typeof t==`number`&&!F(t))r=t;else if(Array.isArray(t)){var i=Gy(t);i.length>0&&(r=Math.max(...i))}return r==null?[]:Gy(n.flatMap(t=>{var n=W(e,t.dataKey),i,a;if(Array.isArray(n)){var o=uy(n,2);i=o[0],a=o[1]}else i=a=n;if(!(!U(i)||!U(a)))return[r-i,r+a]}))}var Q=e=>Ty(e,hp(e),gp(e)),Xy=B([Q],e=>e?.dataKey),Zy=B([My,nf,Q],up),Qy=(e,t,n,r)=>{var i=t.reduce((e,t)=>{if(t.stackId==null)return e;var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},{});return Object.fromEntries(Object.entries(i).map(t=>{var i=uy(t,2),a=i[0],o=i[1],s=r?[...o].reverse():o;return[a,{stackedData:qo(e,s.map(lp),n),graphicalItems:s}]}))},$y=B([Zy,My,Nf,Pf],Qy),eb=(e,t,n,r)=>{var i=t.dataStartIndex,a=t.dataEndIndex;if(r==null&&n!==`zAxis`)return Qo(e,i,a)},tb=B([Cy],e=>e.allowDataOverflow),nb=e=>{if(e==null||!(`domain`in e))return gy;if(e.domain!=null)return e.domain;if(`ticks`in e&&e.ticks!=null){if(e.type===`number`){var t=Gy(e.ticks);return[Math.min(...t),Math.max(...t)]}if(e.type===`category`)return e.ticks.map(String)}return e?.domain??gy},rb=B([Cy],nb),ib=B([rb,tb],hf),ab=B([$y,ef,sp,ib],eb,{memoizeOptions:{resultEqualityCheck:fp}}),ob=e=>e.errorBars,sb=(e,t,n)=>e.flatMap(e=>t[e.id]).filter(Boolean).filter(e=>Jy(n,e)),cb=function(){var e=[...arguments].filter(Boolean);if(e.length!==0){var t=e.flat();return[Math.min(...t),Math.max(...t)]}},lb=function(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],o,s;if(n.length>0&&n.forEach(e=>{var n=e.data==null?a:[...e.data],c=r[e.id]?.filter(e=>Jy(i,e));n.forEach(n=>{var r=W(n,t.dataKey??e.dataKey),i=Yy(n,r,c);if(i.length>=2){var a=Math.min(...i),l=Math.max(...i);(o==null||as)&&(s=l)}var u=Wy(r);u!=null&&(o=o==null?u[0]:Math.min(o,u[0]),s=s==null?u[1]:Math.max(s,u[1]))})}),t?.dataKey!=null&&n.length===0&&e.forEach(e=>{var n=Wy(W(e,t.dataKey));n!=null&&(o=o==null?n[0]:Math.min(o,n[0]),s=s==null?n[1]:Math.max(s,n[1]))}),U(o)&&U(s))return[o,s]},ub=B([zy,Cy,Py,ob,sp,af],lb,{memoizeOptions:{resultEqualityCheck:fp}});function db(e){var t=e.value;if(ce(t)||t instanceof Date)return t}var fb=(e,t,n)=>{var r=e.map(db).filter(e=>e!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&fe(r))?$d(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},pb=e=>e.referenceElements.dots,mb=(e,t,n)=>e.filter(e=>e.ifOverflow===`extendDomain`).filter(e=>t===`xAxis`?e.xAxisId===n:e.yAxisId===n),hb=B([pb,sp,cp],mb),gb=e=>e.referenceElements.areas,_b=B([gb,sp,cp],mb),vb=e=>e.referenceElements.lines,yb=B([vb,sp,cp],mb),bb=(e,t)=>{if(e!=null){var n=Gy(e.map(e=>t===`xAxis`?e.x:e.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},xb=B(hb,sp,bb),Sb=(e,t)=>{if(e!=null){var n=Gy(e.flatMap(e=>[t===`xAxis`?e.x1:e.y1,t===`xAxis`?e.x2:e.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},Cb=B([_b,sp],Sb);function wb(e){if(e.x!=null)return Gy([e.x]);var t=e.segment?.map(e=>e.x);return t==null||t.length===0?[]:Gy(t)}function Tb(e){if(e.y!=null)return Gy([e.y]);var t=e.segment?.map(e=>e.y);return t==null||t.length===0?[]:Gy(t)}var Eb=(e,t)=>{if(e!=null){var n=e.flatMap(e=>t===`xAxis`?wb(e):Tb(e));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},Db=B(xb,B([yb,sp],Eb),Cb,(e,t,n)=>cb(e,n,t)),Ob=(e,t,n,r,i,a,o,s,c)=>{if(n!=null)return n;var l=o===`vertical`&&s===`xAxis`||o===`horizontal`&&s===`yAxis`?cb(r,a,i):cb(a,i),u=gf(t,l,e.allowDataOverflow);return u==null&&e.allowDataOverflow&&l==null&&c!=null?c:u},kb=B([Cy,rb,ib,ab,ub,Db,G,sp,B([Cy],e=>{if(!(e==null||e.type!==`number`||!(`ticks`in e)||e.ticks==null)){var t=Gy(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},{memoizeOptions:{resultEqualityCheck:fp}})],Ob,{memoizeOptions:{resultEqualityCheck:fp}}),Ab=[0,1],jb=(e,t,n,r,i,a,o)=>{if(e!=null&&n!=null&&n.length!==0||o!==void 0){var s=e.dataKey,c=e.type,l=Uo(t,a);return l&&s==null?$d(0,n?.length??0):c===`category`?fb(r,e,l):i===`expand`&&!l?Ab:o}},Mb=B([Cy,G,zy,Hy,Nf,sp,kb],jb),Nb=B([Cy,Ey,Ff],ty),Pb=(e,t,n)=>{var r=t.niceTicks;if(r!==`none`){var i=nb(t),a=Array.isArray(i)&&(i[0]===`auto`||i[1]===`auto`);if((r===`snap125`||r===`adaptive`)&&t!=null&&t.tickCount&&pf(e)){if(a)return Af(e,t.tickCount,t.allowDecimals,r);if(t.type===`number`)return jf(e,t.tickCount,t.allowDecimals,r)}if(r===`auto`&&n===`linear`&&t!=null&&t.tickCount){if(a&&pf(e))return Af(e,t.tickCount,t.allowDecimals,`adaptive`);if(t.type===`number`&&pf(e))return jf(e,t.tickCount,t.allowDecimals,`adaptive`)}}},Fb=B([Mb,Ty,Nb],Pb),Ib=(e,t,n,r)=>{if(r!==`angleAxis`&&e?.type===`number`&&pf(t)&&Array.isArray(n)&&n.length>0){var i=t[0],a=n[0]??0,o=t[1],s=n[n.length-1]??0;return[Math.min(i,a),Math.max(o,s)]}return t},Lb=B([Cy,Mb,Fb,sp],Ib),Rb=B(B(Hy,Cy,(e,t)=>{if(!(!t||t.type!==`number`)){var n=1/0,r=Array.from(Gy(e.map(e=>e.value))).sort((e,t)=>e-t),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var s=0;si,(e,t,n,r,i)=>{if(!U(e))return 0;var a=t===`vertical`?r.height:r.width;if(i===`gap`)return e*a/2;if(i===`no-gap`){var o=de(n,e*a),s=e*a/2;return s-o-(s-o)/a*o}return 0}),zb=(e,t,n)=>{var r=vy(e,t);return r==null||typeof r.padding!=`string`?0:Rb(e,`xAxis`,t,n,r.padding)},Bb=(e,t,n)=>{var r=by(e,t);return r==null||typeof r.padding!=`string`?0:Rb(e,`yAxis`,t,n,r.padding)},Vb=B(vy,zb,(e,t)=>{if(e==null)return{left:0,right:0};var n=e.padding;return typeof n==`string`?{left:t,right:t}:{left:(n.left??0)+t,right:(n.right??0)+t}}),Hb=B(by,Bb,(e,t)=>{if(e==null)return{top:0,bottom:0};var n=e.padding;return typeof n==`string`?{top:t,bottom:t}:{top:(n.top??0)+t,bottom:(n.bottom??0)+t}}),Ub=B([Cs,Vb,ks,Os,(e,t,n)=>n],(e,t,n,r,i)=>{var a=r.padding;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),Wb=B([Cs,G,Hb,ks,Os,(e,t,n)=>n],(e,t,n,r,i,a)=>{var o=i.padding;return a?[r.height-o.bottom,o.top]:t===`horizontal`?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),Gb=(e,t,n,r)=>{switch(t){case`xAxis`:return Ub(e,n,r);case`yAxis`:return Wb(e,n,r);case`zAxis`:return Sy(e,n)?.range;case`angleAxis`:return ip(e);case`radiusAxis`:return ap(e,n);default:return}},Kb=B([Cy,Gb],Uf),qb=B([Cy,Nb,B([Nb,Lb],vp),Kb],Qv),Jb=(e,t,n,r)=>{if(n!=null&&n.dataKey!=null){var i=n.type,a=n.scale;if(Uo(e,r)&&(i===`number`||a!==`auto`))return t.map(e=>e.value)}},Yb=B([G,Hy,Ty,sp],Jb),Xb=B([qb],_p);B([qb],iy),B([qb,qy],ry),B([jy,ob,sp],sb);function Zb(e,t){return e.idt.id)}var Qb=(e,t)=>t,$b=(e,t,n)=>n,ex=B(us,Qb,$b,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(Zb)),tx=B(ds,Qb,$b,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(Zb)),nx=(e,t)=>{var n=typeof t.height==`number`?t.height:30;return{width:e.width,height:n}},rx=(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height}),ix=B(Cs,vy,nx),ax=(e,t,n)=>{switch(t){case`top`:return e.top;case`bottom`:return n-e.bottom;default:return 0}},ox=(e,t,n)=>{switch(t){case`left`:return e.left;case`right`:return n-e.right;default:return 0}},sx=B(ss,Cs,ex,Qb,$b,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=nx(t,n);o??=ax(t,r,e);var c=r===`top`&&!i||r===`bottom`&&i;a[n.id]=o-Number(c)*s.height,o+=(c?-1:1)*s.height}),a}),cx=B(os,Cs,tx,Qb,$b,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=rx(t,n);o??=ox(t,r,e);var c=r===`left`&&!i||r===`right`&&i;a[n.id]=o-Number(c)*s.width,o+=(c?-1:1)*s.width}),a}),lx=B([Cs,vy,(e,t)=>{var n=vy(e,t);if(n!=null)return sx(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),ux=B([Cs,by,(e,t)=>{var n=by(e,t);if(n!=null)return cx(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),dx=B(Cs,by,(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height})),fx=(e,t,n,r)=>{if(n!=null){var i=n.allowDuplicatedCategory,a=n.type,o=n.dataKey,s=Uo(e,r),c=t.map(e=>e.value),l=c.filter(e=>e!=null);if(o&&s&&a===`category`&&i&&fe(l))return c}},px=B([G,Hy,Cy,sp],fx),mx=B([G,wy,Nb,Xb,px,Yb,Gb,Fb,sp],(e,t,n,r,i,a,o,s,c)=>{if(t!=null){var l=Uo(e,c);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:c,categoricalDomain:a,duplicateDomain:i,isCategorical:l,niceTicks:s,range:o,realScaleType:n,scale:r}}}),hx=B([G,Ty,Nb,Xb,Fb,Gb,px,Yb,sp],(e,t,n,r,i,a,o,s,c)=>{if(t!=null&&r!=null){var l=Uo(e,c),u=t.type,d=t.ticks,f=t.tickCount,p=n===`scaleBand`&&typeof r.bandwidth==`function`?r.bandwidth()/2:2,m=u===`category`&&r.bandwidth?r.bandwidth()/p:0;m=c===`angleAxis`&&a!=null&&a.length>=2?oe(a[0]-a[1])*2*m:m;var h=d||i;return h?h.map((e,t)=>{var n=o?o.indexOf(e):e,i=r.map(n);return U(i)?{index:t,coordinate:i+m,value:e,offset:m}:null}).filter(_e):l&&s?s.map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(_e):r.ticks?r.ticks(f).map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(_e):r.domain().map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+m,value:o?o[e]:e,index:t,offset:m}:null}).filter(_e)}}),gx=B([G,Ty,Xb,Gb,px,Yb,sp],(e,t,n,r,i,a,o)=>{if(t!=null&&n!=null&&r!=null&&r[0]!==r[1]){var s=Uo(e,o),c=t.tickCount,l=0;return l=o===`angleAxis`&&r?.length>=2?oe(r[0]-r[1])*2*l:l,s&&a?a.map((e,t)=>{var r=n.map(e);return U(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(_e):n.ticks?n.ticks(c).map((e,t)=>{var r=n.map(e);return U(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(_e):n.domain().map((e,t)=>{var r=n.map(e);return U(r)?{coordinate:r+l,value:i?i[e]:e,index:t,offset:l}:null}).filter(_e)}}),_x=B(Cy,Xb,(e,t)=>{if(e!=null&&t!=null)return oy(oy({},e),{},{scale:t})});B((e,t,n)=>Sy(e,n),B([B([Cy,Nb,Mb,Kb],Qv)],_p),(e,t)=>{if(e!=null&&t!=null)return oy(oy({},e),{},{scale:t})});var vx=B([G,us,ds],(e,t,n)=>{switch(e){case`horizontal`:return t.some(e=>e.reversed)?`right-to-left`:`left-to-right`;case`vertical`:return n.some(e=>e.reversed)?`bottom-to-top`:`top-to-bottom`;case`centric`:case`radial`:return`left-to-right`;default:return}});B([(e,t,n)=>e.renderedTicks[t]?.[n]],e=>{if(!(!e||e.length===0))return t=>{var n=1/0,r=e[0];for(var i of e){var a=Math.abs(i.coordinate-t);ae.options.defaultTooltipEventType,bx=e=>e.options.validateTooltipEventTypes;function xx(e,t,n){if(e==null)return t;var r=e?`axis`:`item`;return n==null?t:n.includes(r)?r:t}function Sx(e,t){return xx(t,yx(e),bx(e))}function Cx(e){return z(t=>Sx(t,e))}var wx=(e,t)=>{var n,r=Number(t);if(!(F(r)||t==null))return r>=0?e==null||(n=e[r])==null?void 0:n.value:void 0},Tx=e=>e.tooltip.settings,Ex={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},Dx=za({name:`tooltip`,initialState:{itemInteraction:{click:Ex,hover:Ex},axisInteraction:{click:Ex,hover:Ex},keyboardInteraction:Ex,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:`hover`,axisId:0,active:!1,defaultIndex:void 0}},reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(V(t.payload))},prepare:H()},replaceTooltipEntrySettings:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=da(e).tooltipItemPayloads.indexOf(V(r));a>-1&&(e.tooltipItemPayloads[a]=V(i))},prepare:H()},removeTooltipEntrySettings:{reducer(e,t){var n=da(e).tooltipItemPayloads.indexOf(V(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:H()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Ox=Dx.actions,kx=Ox.addTooltipEntrySettings,Ax=Ox.replaceTooltipEntrySettings,jx=Ox.removeTooltipEntrySettings,Mx=Ox.setTooltipSettingsState,Nx=Ox.setActiveMouseOverItemIndex;Ox.mouseLeaveItem;var Px=Ox.mouseLeaveChart;Ox.setActiveClickItemIndex;var Fx=Ox.setMouseOverAxisIndex,Ix=Ox.setMouseClickAxisIndex,Lx=Ox.setSyncInteraction,Rx=Ox.setKeyboardInteraction,zx=Dx.reducer;function Bx(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Vx(e){for(var t=1;t{if(t==null)return Ex;var i=Gx(e,t,n);if(i==null)return Ex;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(Kx(i)){if(a)return Vx(Vx({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return Vx(Vx({},Ex),{},{coordinate:i.coordinate})};function Jx(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}function Yx(e,t){var n=Jx(e),r=t[0],i=t[1];return n!==void 0&&n>=Math.min(r,i)&&n<=Math.max(r,i)}function Xx(e,t,n){if(n==null||t==null)return!0;var r=W(e,t);return r==null||!pf(n)||Yx(r,n)}var Zx=(e,t,n,r)=>{var i=e?.index;if(i==null)return null;var a=Number(i);if(!U(a))return i;var o=0,s=1/0;t.length>0&&(s=t.length-1);var c=Math.max(o,Math.min(a,s)),l=t[c];return l==null||Xx(l,n,r)?String(c):null},Qx=(e,t,n,r,i,a,o)=>{if(a!=null){var s=o[0]?.getPosition(a);if(s!=null)return s;var c=i?.[Number(a)];if(c)switch(n){case`horizontal`:return{x:c.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:c.coordinate}}}},$x=(e,t,n,r)=>{if(t===`axis`)return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i=n===`hover`?e.itemInteraction.hover.graphicalItemId:e.itemInteraction.click.graphicalItemId;if(e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(r!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a==null?[]:[a]}return e.tooltipItemPayloads.filter(e=>e.settings?.graphicalItemId===i)},eS=e=>e.options.tooltipPayloadSearcher,tS=e=>e.tooltip;function nS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function rS(e){for(var t=1;te(t)}function uS(e){if(typeof e==`string`)return e}function dS(e){if(!(typeof e!=`object`||!e))return{name:`name`in e?sS(e.name):void 0,unit:`unit`in e?cS(e.unit):void 0,dataKey:`dataKey`in e?lS(e.dataKey):void 0,payload:`payload`in e?e.payload:void 0,color:`color`in e?uS(e.color):void 0,fill:`fill`in e?uS(e.fill):void 0}}function fS(e,t){return e??t}var pS=(e,t,n,r,i,a,o)=>{if(t!=null&&a!=null){var s=n.chartData,c=n.computedData,l=n.dataStartIndex,u=n.dataEndIndex;return e.reduce((e,n)=>{var d=n.dataDefinedOnItem,f=n.settings,p=fS(d,s),m=Array.isArray(p)?Fo(p,l,u):p,h=f?.dataKey??r,g=f?.nameKey,_;return r&&Array.isArray(m)&&!Array.isArray(m[0])&&o===`axis`?(_=me(m,r,i),_??=a(m,t,c,g)):_=a(m,t,c,g),Array.isArray(_)?_.forEach(t=>{var n=dS(t),r=n?.name,i=n?.dataKey,a=n?.payload,o=rS(rS({},f),{},{name:r,unit:n?.unit,color:n?.color??f?.color,fill:n?.fill??f?.fill});e.push(ns({tooltipEntrySettings:o,dataKey:i,payload:a,value:W(a,i),name:r==null?void 0:String(r)}))}):e.push(ns({tooltipEntrySettings:f,dataKey:h,payload:_,value:W(_,h),name:W(_,g)??f?.name})),e},[])}},mS=B([Q,Ey,Ff],ty),hS=B([B([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),Q,B([hp,gp],Dy)],Ay,{memoizeOptions:{resultEqualityCheck:pp}}),gS=B([hS],e=>e.filter(dp)),_S=B([hS],Fy,{memoizeOptions:{resultEqualityCheck:pp}}),vS=B([hS],e=>e.some(e=>!e.data)),yS=B([_S,ef],Ry),bS=B([gS,ef,Q],up),xS=B([yS,Q,hS,ef,vS,_S],Vy),SS=B([Q],nb),CS=B([SS,B([Q],e=>e.allowDataOverflow)],hf),wS=B([B([bS,B([hS],e=>e.filter(dp)),Nf,Pf],Qy),ef,hp,CS],eb),TS=B([yS,Q,B([hS],Ny),ob,hp,of],lb,{memoizeOptions:{resultEqualityCheck:fp}}),ES=B([B([pb,hp,gp],mb),hp],bb),DS=B([B([gb,hp,gp],mb),hp],Sb),OS=B([Q,G,yS,xS,Nf,hp,B([Q,SS,CS,wS,TS,B([ES,B([B([vb,hp,gp],mb),hp],Eb),DS],cb),G,hp],Ob)],jb),kS=B([Q,OS,B([OS,Q,mS],Pb),hp],Ib),AS=e=>Gb(e,hp(e),gp(e),!1),jS=B([Q,AS],Uf),MS=B([B([Q,mS,kS,jS],Qv)],_p),NS=B([G,Q,mS,MS,AS,B([G,xS,Q,hp],fx),B([G,xS,Q,hp],Jb),hp],(e,t,n,r,i,a,o,s)=>{if(t){var c=t.type,l=Uo(e,s);if(r){var u=n===`scaleBand`&&r.bandwidth?r.bandwidth()/2:2,d=c===`category`&&r.bandwidth?r.bandwidth()/u:0;return d=s===`angleAxis`&&i!=null&&i?.length>=2?oe(i[0]-i[1])*2*d:d,l&&o?o.map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+d,value:e,index:t,offset:d}:null}).filter(_e):r.domain().map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+d,value:a?a[e]:e,index:t,offset:d}:null}).filter(_e)}}}),PS=B([yx,bx,Tx],(e,t,n)=>xx(n.shared,e,t)),FS=e=>e.tooltip.settings.trigger,IS=e=>e.tooltip.settings.defaultIndex,LS=B([tS,PS,FS,IS],qx),RS=B([LS,yS,Xy,OS],Zx),zS=B([NS,RS],wx),BS=B([LS],e=>{if(e)return e.dataKey}),VS=B([LS],e=>{if(e)return e.graphicalItemId}),HS=B([tS,PS,FS,IS],$x),US=B([LS,B([os,ss,G,Cs,NS,IS,HS],Qx)],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),WS=B([LS],e=>e?.active??!1),GS=B([B([HS,RS,ef,Xy,zS,eS,PS],pS)],e=>{if(e!=null){var t=e.map(e=>e.payload).filter(e=>e!=null);return Array.from(new Set(t))}});function KS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function qS(e){for(var t=1;tz(Q),QS=()=>{var e=ZS(),t=z(NS),n=z(MS);return ts(!e||!n?void 0:qS(qS({},e),{},{scale:n}),t)};function $S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eC(e){for(var t=1;t{var i=t.find(e=>e&&e.index===n);if(i){if(e===`horizontal`)return{x:i.coordinate,y:r.relativeY};if(e===`vertical`)return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},aC=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`centric`){var a=i.coordinate,o=r.radius;return eC(eC(eC({},r),Dd(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var s=i.coordinate,c=r.angle;return eC(eC(eC({},r),Dd(r.cx,r.cy,s,c)),{},{angle:c,radius:s})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function oC(e,t){var n=e.relativeX,r=e.relativeY;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var sC=(e,t,n,r,i)=>{var a=t?.length??0;if(a<=1||e==null)return 0;if(r===`angleAxis`&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var o=i[1]-i[0],s=(t,n,r)=>[e,e+o,e-o].some(e=>(r?e>=t:e>t)&&e<=n),c=0;c0?n[c-1]?.coordinate:n[a-1]?.coordinate,u=n[c]?.coordinate,d=c>=a-1?n[0]?.coordinate:n[c+1]?.coordinate,f=void 0;if(l!=null&&u!=null&&d!=null){if(oe(u-l)!==oe(d-u)){var p=[];if(oe(d-u)===oe(i[1]-i[0])){f=d;var m=u+i[1]-i[0];p[0]=Math.min(m,(m+l)/2),p[1]=Math.max(m,(m+l)/2)}else{f=l;var h=d+i[1]-i[0];p[0]=Math.min(u,(h+u)/2),p[1]=Math.max(u,(h+u)/2)}var g=[Math.min(u,(f+u)/2),Math.max(u,(f+u)/2)];if(s(g[0],g[1],!1)||s(p[0],p[1],!0))return n[c]?.index}else{var _=Math.min(l,d),v=Math.max(l,d);if(s((_+u)/2,(v+u)/2,!1))return n[c]?.index}}}else if(t)for(var y=0;y(b.coordinate+S.coordinate)/2||y>0&&y(b.coordinate+S.coordinate)/2&&e<=(b.coordinate+x.coordinate)/2)return b.index}}return-1},cC=()=>z(Ff),lC=(e,t)=>t,uC=(e,t,n)=>n,dC=(e,t,n,r)=>r,fC=B(NS,e=>Sr(e,e=>e.coordinate)),pC=B([tS,lC,uC,dC],qx),mC=B([pC,yS,Xy,OS],Zx),hC=(e,t,n)=>{if(t!=null){var r=tS(e);return t===`axis`?n===`hover`?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n===`hover`?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},gC=B([tS,lC,uC,dC],$x),_C=B([os,ss,G,Cs,NS,dC,gC],Qx),vC=B([pC,_C],(e,t)=>e.coordinate??t),yC=B([NS,mC],wx),bC=B([gC,mC,ef,Xy,yC,eS,lC],pS),xC=B([pC,mC],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),SC=(e,t,n,r,i,a,o)=>{if(!(!e||!n||!r||!i)&&oC(e,o)){var s=sC(is(e,t),a,i,n,r),c=iC(t,i,s,e);return{activeIndex:String(s),activeCoordinate:c}}},CC=(e,t,n,r,i,a,o)=>{if(!(!e||!r||!i||!a||!n)){var s=Nd(e,n);if(s){var c=sC(as(s,t),o,a,r,i),l=aC(t,a,c,s);return{activeIndex:String(c),activeCoordinate:l}}}},wC=(e,t,n,r,i,a,o,s)=>{if(!(!e||!t||!r||!i||!a))return t===`horizontal`||t===`vertical`?SC(e,t,r,i,a,o,s):CC(e,t,n,r,i,a,o)},TC=B(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),EC=B(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(e=>parseInt(e,10)).concat(Object.values(Bf));return Array.from(new Set(t)).sort((e,t)=>e-t)},{memoizeOptions:{resultEqualityCheck:mp}});function DC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function OC(e){for(var t=1;tOC(OC({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),{})},NC=new Set(Object.values(Bf));function PC(e){return NC.has(e)}var FC=za({name:`zIndex`,initialState:MC,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:H()},unregisterZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(--e.zIndexMap[n].consumers,e.zIndexMap[n].consumers<=0&&!PC(n)&&delete e.zIndexMap[n])},prepare:H()},registerZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload,r=n.zIndex,i=n.element,a=n.isPanorama;e.zIndexMap[r]?a?e.zIndexMap[r].panoramaElement=V(i):e.zIndexMap[r].element=V(i):e.zIndexMap[r]={consumers:0,element:a?void 0:V(i),panoramaElement:a?V(i):void 0}},prepare:H()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:H()}}}),IC=FC.actions,LC=IC.registerZIndexPortal,RC=IC.unregisterZIndexPortal,zC=IC.registerZIndexPortalElement,BC=IC.unregisterZIndexPortalElement,VC=FC.reducer;function HC(e){var t=e.zIndex,n=e.children,r=_c()&&t!==void 0&&t!==0,i=Ds(),a=(0,s.useRef)(void 0),o=(0,s.useRef)(new Set),l=R(),u=z(e=>TC(e,t,i));if((0,s.useLayoutEffect)(()=>{if(!r){var e=o.current;e.forEach(e=>{l(RC({zIndex:e}))}),e.clear(),a.current=void 0;return}if(o.current.has(t)||(l(LC({zIndex:t})),o.current.add(t)),u){a.current=u;var n=o.current;n.forEach(e=>{e!==t&&(l(RC({zIndex:e})),n.delete(e))})}},[l,t,r,u]),(0,s.useLayoutEffect)(()=>{var e=o.current;return()=>{e.forEach(e=>{l(RC({zIndex:e}))}),e.clear()}},[l]),!r)return n;var d=u??a.current;return d?(0,c.createPortal)(n,d):null}function UC(){return UC=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,s.useContext)(QC),ew=r(o(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!F(n))return e[n]}},aw=za({name:`options`,initialState:{chartName:``,tooltipPayloadSearcher:()=>void 0,eventEmitter:void 0,defaultTooltipEventType:`axis`},reducers:{createEventEmitter:e=>{e.eventEmitter??=Symbol(`rechartsEventEmitter`)}}}),ow=aw.reducer,sw=aw.actions.createEventEmitter;function cw(e){return e.tooltip.syncInteraction}var lw=za({name:`chartData`,initialState:{chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},reducers:{setChartData(e,t){if(e.chartData=V(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var n=t.payload,r=n.startIndex,i=n.endIndex;r!=null&&(e.dataStartIndex=r),i!=null&&(e.dataEndIndex=i)}}}),uw=lw.actions,dw=uw.setChartData,fw=uw.setDataStartEndIndexes;uw.setComputedData;var pw=lw.reducer,mw=[`x`,`y`];function hw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gw(e){for(var t=1;te.rootProps.className);(0,s.useEffect)(()=>{if(e==null)return ve;var s=(s,c,l)=>{if(t!==l&&e===s){if(c.payload.active===!1){n(Lx({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r===`index`){var u;if(o&&c!=null&&(u=c.payload)!=null&&u.coordinate&&c.payload.sourceViewBox){var d=c.payload.coordinate,f=d.x,p=d.y,m=bw(d,mw),h=c.payload.sourceViewBox,g=h.x,_=h.y,v=h.width,y=h.height,b=gw(gw({},m),{},{x:o.x+(v?(f-g)/v:0)*o.width,y:o.y+(y?(p-_)/y:0)*o.height});n(gw(gw({},c),{},{payload:gw(gw({},c.payload),{},{coordinate:b})}))}else n(c);return}if(i!=null){var x;typeof r==`function`?x=i[r(i,{activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate})]:r===`value`&&(x=i.find(e=>String(e.value)===c.payload.label));var S=c.payload.coordinate;if(S==null||o==null){n(Lx({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(x==null){n(Lx({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var C=S.x,w=S.y,T=Math.min(C,o.x+o.width),E=Math.min(w,o.y+o.height),D={x:a===`horizontal`?x.coordinate:T,y:a===`horizontal`?E:x.coordinate};n(Lx({active:c.payload.active,coordinate:D,dataKey:c.payload.dataKey,index:String(x.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId}))}}};return tw.on(nw,s),()=>{tw.off(nw,s)}},[c,n,t,e,r,i,a,o])}function Cw(){var e=z(If),t=z(Rf),n=R();(0,s.useEffect)(()=>{if(e==null)return ve;var r=(r,i,a)=>{t!==a&&e===r&&n(fw(i))};return tw.on(rw,r),()=>{tw.off(rw,r)}},[n,t,e])}function ww(){var e=R();(0,s.useEffect)(()=>{e(sw())},[e]),Sw(),Cw()}function Tw(e,t,n,r,i,a){var o=z(n=>hC(n,e,t)),c=z(VS),l=z(Rf),u=z(If),d=z(Lf),f=z(cw)?.sourceViewBox!=null,p=lc();(0,s.useEffect)(()=>{if(!f&&u!=null&&l!=null){var e=Lx({active:a,coordinate:n,dataKey:o,index:i,label:typeof r==`number`?String(r):r,sourceViewBox:p,graphicalItemId:c});tw.emit(nw,u,e,l)}},[f,n,o,c,i,r,l,u,d,a,p])}function Ew(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Dw(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{C(Mx({shared:v,trigger:y,axisId:S,active:n,defaultIndex:w}))},[C,v,y,S,n,w]);var T=lc(),E=Pl(),D=Cx(v),O=z(e=>xC(e,D,y,w))??{},k=O.activeIndex,A=O.isActive,j=z(e=>bC(e,D,y,w)),M=z(e=>yC(e,D,y,w)),N=z(e=>vC(e,D,y,w)),ee=j,te=$C(),ne=n??A??!1,re=jw(Pr([ee,ne]),2),ie=re[0],ae=re[1],P=D===`axis`?M:void 0;Tw(D,y,N,P,k,ne);var oe=x??te;if(oe==null||T==null||D==null)return null;var F=ee??zw;ne||(F=zw),l&&F.length&&(F=qn(F.filter(e=>e.value!=null&&(e.hide!==!0||t.includeHidden)),f,Lw));var se=F.length>0,I=Dw(Dw({},t),{},{payload:F,label:P,active:ne,activeIndex:k,coordinate:N,accessibilityLayer:E}),ce=s.createElement(Nl,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:u,active:ne,coordinate:N,hasPayload:se,offset:d,position:p,reverseDirection:m,useTranslate3d:h,viewBox:T,wrapperStyle:g,lastBoundingBox:ie,innerRef:ae,hasPortalFromProps:!!x},Rw(o,I));return s.createElement(s.Fragment,null,(0,c.createPortal)(ce,oe),ne&&s.createElement(ZC,{cursor:_,tooltipEventType:D,coordinate:N,payload:F,index:k}))}function Hw(e,t,n){return(t=Uw(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Uw(e){var t=Ww(e,`string`);return typeof t==`symbol`?t:t+``}function Ww(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Gw=class{constructor(e){Hw(this,`cache`,new Map),this.maxSize=e}get(e){var t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};function Kw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function qw(e){for(var t=1;t{try{var n=document.getElementById(eT);n||(n=document.createElement(`span`),n.setAttribute(`id`,eT),n.setAttribute(`aria-hidden`,`true`),document.body.appendChild(n)),Object.assign(n.style,$w,t),n.textContent=`${e}`;var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},rT=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||fl.isSsr)return{width:0,height:0};if(!Zw.enableCache)return nT(e,t);var n=tT(e,t),r=Qw.get(n);if(r)return r;var i=nT(e,t);return Qw.set(n,i),i},iT;function aT(e,t){return uT(e)||lT(e,t)||sT(e,t)||oT()}function oT(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sT(e,t){if(e){if(typeof e==`string`)return cT(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?cT(e,t):void 0}}function cT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=e.breakAll,r=e.style;try{var i=[];return he(t)||(i=n?t.toString().split(``):t.toString().split(VT)),{wordsWithComputedWidth:i.map(e=>({word:e,width:rT(e,r).width})),spaceWidth:n?0:rT(`\xA0`,r).width}}catch{return null}};function UT(e){return e===`start`||e===`middle`||e===`end`||e===`inherit`}function WT(e){return he(e)||typeof e==`string`||typeof e==`number`||typeof e==`boolean`}var GT=(e,t,n,r)=>e.reduce((e,i)=>{var a=i.word,o=i.width,s=e[e.length-1];if(s&&o!=null&&(t==null||r||s.width+o+ne.reduce((e,t)=>e.width>t.width?e:t),qT=`…`,JT=(e,t,n,r,i,a,o,s)=>{var c=HT({breakAll:n,style:r,children:e.slice(0,t)+qT});if(!c)return[!1,[]];var l=GT(c.wordsWithComputedWidth,a,o,s);return[l.length>i||KT(l).width>Number(a),l]},YT=(e,t,n,r,i)=>{var a=e.maxLines,o=e.children,s=e.style,c=e.breakAll,l=I(a),u=String(o),d=GT(t,r,n,i);if(!l||i||!(d.length>a||KT(d).width>Number(r)))return d;for(var f=0,p=u.length-1,m=0,h;f<=p&&m<=u.length-1;){var g=Math.floor((f+p)/2),_=FT(JT(u,g-1,c,s,a,r,n,i),2),v=_[0],y=_[1],b=FT(JT(u,g,c,s,a,r,n,i),1)[0];if(!v&&!b&&(f=g+1),v&&b&&(p=g-1),!v&&b){h=y;break}m++}return h||d},XT=e=>[{words:he(e)?[]:e.toString().split(VT),width:void 0}],ZT=e=>{var t=e.width,n=e.scaleToFit,r=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||n)&&!fl.isSsr){var s,c,l=HT({breakAll:a,children:r,style:i});if(l){var u=l.wordsWithComputedWidth,d=l.spaceWidth;s=u,c=d}else return XT(r);return YT({breakAll:a,children:r,maxLines:o,style:i},s,c,t,!!n)}return XT(r)},QT=`#808080`,$T={angle:0,breakAll:!1,capHeight:`0.71em`,fill:QT,lineHeight:`1em`,scaleToFit:!1,textAnchor:`start`,verticalAnchor:`end`,x:0,y:0},eE=(0,s.forwardRef)((e,t)=>{var n=It(e,$T),r=n.x,i=n.y,o=n.lineHeight,c=n.capHeight,l=n.fill,u=n.scaleToFit,d=n.textAnchor,f=n.verticalAnchor,p=NT(n,AT),m=(0,s.useMemo)(()=>ZT({breakAll:p.breakAll,children:p.children,maxLines:p.maxLines,scaleToFit:u,style:p.style,width:p.width}),[p.breakAll,p.children,p.maxLines,u,p.style,p.width]),h=p.dx,_=p.dy,v=p.angle,y=p.className,b=p.breakAll,x=NT(p,jT);if(!ce(r)||!ce(i)||m.length===0)return null;var S=Number(r)+(I(h)?h:0),C=Number(i)+(I(_)?_:0);if(!U(S)||!U(C))return null;var w;switch(f){case`start`:w=kT(`calc(${c})`);break;case`middle`:w=kT(`calc(${(m.length-1)/2} * -${o} + (${c} / 2))`);break;default:w=kT(`calc(${m.length-1} * -${o})`)}var T=[],E=m[0];if(u&&E!=null){var D=E.width,O=p.width;T.push(`scale(${I(O)&&I(D)?O/D:1})`)}return v&&T.push(`rotate(${v}, ${S}, ${C})`),T.length&&(x.transform=T.join(` `)),s.createElement(`text`,MT({},g(x),{ref:t,x:S,y:C,className:a(`recharts-text`,y),textAnchor:d,fill:l.includes(`url`)?QT:l}),m.map((e,t)=>{var n=e.words.join(b?``:` `);return s.createElement(`tspan`,{x:S,dy:t===0?w:o,key:`${n}-${t}`},n)}))});eE.displayName=`Text`;var tE=[`labelRef`],nE=[`content`];function rE(e,t){if(e==null)return{};var n,r,i=iE(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var t=e.x,n=e.y,r=e.upperWidth,i=e.lowerWidth,a=e.width,o=e.height,c=e.children,l=(0,s.useMemo)(()=>({x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:o}),[t,n,r,i,a,o]);return s.createElement(dE.Provider,{value:l},c)},pE=()=>{var e=(0,s.useContext)(dE),t=lc();return e||(t?ye(t):void 0)},mE=(0,s.createContext)(null),hE=()=>{var e=(0,s.useContext)(mE),t=z(op);return e||t},gE=e=>{var t=e.value,n=e.formatter,r=he(e.children)?t:e.children;return typeof n==`function`?n(r):r},_E=e=>e!=null&&typeof e==`function`,vE=(e,t)=>oe(t-e)*Math.min(Math.abs(t-e),360),yE=(e,t,n,r,i)=>{var o=e.offset,c=e.className,l=i.cx,u=i.cy,d=i.innerRadius,f=i.outerRadius,p=i.startAngle,m=i.endAngle,h=i.clockWise,g=(d+f)/2,_=vE(p,m),v=_>=0?1:-1,y,b;switch(t){case`insideStart`:y=p+v*o,b=h;break;case`insideEnd`:y=m-v*o,b=!h;break;case`end`:y=m+v*o,b=h;break;default:throw Error(`Unsupported position ${t}`)}b=_<=0?b:!b;var x=Dd(l,u,g,y),S=Dd(l,u,g,y+(b?1:-1)*359),C=`M${x.x},${x.y} + A${g},${g},0,1,${+!b}, + ${S.x},${S.y}`,w=he(e.id)?ue(`recharts-radial-line-`):e.id;return s.createElement(`text`,uE({},r,{dominantBaseline:`central`,className:a(`recharts-radial-bar-label`,c)}),s.createElement(`defs`,null,s.createElement(`path`,{id:w,d:C})),s.createElement(`textPath`,{xlinkHref:`#${w}`},n))},bE=(e,t,n)=>{var r=e.cx,i=e.cy,a=e.innerRadius,o=e.outerRadius,s=(e.startAngle+e.endAngle)/2;if(n===`outside`){var c=Dd(r,i,o+t,s),l=c.x;return{x:l,y:c.y,textAnchor:l>=r?`start`:`end`,verticalAnchor:`middle`}}if(n===`center`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`middle`};if(n===`centerTop`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`start`};if(n===`centerBottom`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`end`};var u=Dd(r,i,(a+o)/2,s);return{x:u.x,y:u.y,textAnchor:`middle`,verticalAnchor:`middle`}},xE=e=>e!=null&&`cx`in e&&I(e.cx),SE={angle:0,offset:5,zIndex:Bf.label,position:`middle`,textBreakAll:!1};function CE(e){if(!xE(e))return e;var t=e.cx,n=e.cy,r=e.outerRadius,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function wE(e){var t=It(e,SE),n=t.viewBox,r=t.parentViewBox,i=t.position,o=t.value,c=t.children,l=t.content,u=t.className,d=u===void 0?``:u,f=t.textBreakAll,p=t.labelRef,m=hE(),h=pE(),_=n==null?i===`center`?h:m??h:xE(n)?n:ye(n),v,y,b=CE(_);if(!_||he(o)&&he(c)&&!(0,s.isValidElement)(l)&&typeof l!=`function`)return null;var x=xE(_)&&(i===`insideStart`||i===`insideEnd`||i===`end`);if(xE(_))x||(y=bE(_,t.offset,t.position));else if(b){var S=Te({viewBox:b,position:i,offset:t.offset,parentViewBox:xE(r)?void 0:r,clamp:!0});y=oE(oE({x:S.x,y:S.y,textAnchor:S.horizontalAnchor,verticalAnchor:S.verticalAnchor},S.width===void 0?{}:{width:S.width}),S.height===void 0?{}:{height:S.height})}var C=oE(oE(oE(oE({},y?.x===void 0?{}:{x:y.x}),y?.y===void 0?{}:{y:y.y}),t),{},{viewBox:_});if((0,s.isValidElement)(l)){C.labelRef;var w=rE(C,tE);return(0,s.cloneElement)(l,w)}if(typeof l==`function`){C.content;var T=rE(C,nE);if(v=(0,s.createElement)(l,T),(0,s.isValidElement)(v))return v}else v=gE(t);var E=g(t);return x&&xE(_)?yE(t,i,v,E,_):y==null?null:s.createElement(HC,{zIndex:t.zIndex},s.createElement(eE,uE({ref:p,className:a(`recharts-label`,d)},E,y,{textAnchor:UT(E.textAnchor)?E.textAnchor:y.textAnchor,breakAll:f}),v))}wE.displayName=`Label`;var TE=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?s.createElement(wE,uE({key:`label-implicit`},r)):ce(e)?s.createElement(wE,uE({key:`label-implicit`,value:e},r)):(0,s.isValidElement)(e)?e.type===wE?(0,s.cloneElement)(e,oE({key:`label-implicit`},r)):s.createElement(wE,uE({key:`label-implicit`,content:e},r)):_E(e)?s.createElement(wE,uE({key:`label-implicit`,content:e},r)):e&&typeof e==`object`?s.createElement(wE,uE({},e,{key:`label-implicit`},r)):null};function EE(e){var t=e.label,n=e.labelRef;return TE(t,pE(),n)||null}var DE=[`valueAccessor`],OE=[`dataKey`,`clockWise`,`id`,`textBreakAll`,`zIndex`];function kE(){return kE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(WT(t))return t},NE=(0,s.createContext)(void 0),PE=NE.Provider,FE=(0,s.createContext)(void 0);FE.Provider;function IE(){return(0,s.useContext)(NE)}function LE(){return(0,s.useContext)(FE)}function RE(e){var t=e.valueAccessor,n=t===void 0?ME:t,r=AE(e,DE),i=r.dataKey;r.clockWise;var a=r.id,o=r.textBreakAll,c=r.zIndex,l=AE(r,OE),u=IE(),d=LE(),f=u||d;return!f||!f.length?null:s.createElement(HC,{zIndex:c??Bf.label},s.createElement(D,{className:`recharts-label-list`},f.map((e,t)=>{var c=he(i)?n(e,t):W(e.payload,i),u=he(a)?{}:{id:`${a}-${t}`};return s.createElement(wE,kE({key:`label-${t}`},g(e),l,u,{fill:r.fill??e.fill,parentViewBox:e.parentViewBox,value:c,textBreakAll:o,viewBox:e.viewBox,index:t,zIndex:0}))})))}RE.displayName=`LabelList`;function zE(e){var t=e.label;return t?t===!0?s.createElement(RE,{key:`labelList-implicit`}):s.isValidElement(t)||_E(t)?s.createElement(RE,{key:`labelList-implicit`,content:t}):typeof t==`object`?s.createElement(RE,kE({key:`labelList-implicit`},t,{type:String(t.type)})):null:null}function BE(){return BE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,n=e.cy,r=e.r,i=e.className,o=a(`recharts-dot`,i);return I(t)&&I(n)&&I(r)?s.createElement(`circle`,BE({},m(e),Ot(e),{className:o,cx:t,cy:n,r})):null},HE=za({name:`polarAxis`,initialState:{radiusAxis:{},angleAxis:{}},reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=V(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=V(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),UE=HE.actions;UE.addRadiusAxis,UE.removeRadiusAxis,UE.addAngleAxis,UE.removeAngleAxis;var WE=HE.reducer;function GE(e){return e&&typeof e==`object`&&`className`in e&&typeof e.className==`string`?e.className:``}var KE=o((e=>{typeof Symbol==`function`&&Symbol.for}));o(((e,t)=>{t.exports=KE()}))();var qE=e=>e&&typeof e==`object`&&`clipDot`in e?!!e.clipDot:!0;function JE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function YE(e){for(var t=1;t{r||(i.current===null?n(kx(t)):i.current!==t&&n(Ax({prev:i.current,next:t})),i.current=t)},[t,n,r]),(0,s.useLayoutEffect)(()=>()=>{i.current&&=(n(jx(i.current)),null)},[n]),null}function oD(e){var t=e.legendPayload,n=R(),r=Ds(),i=(0,s.useRef)(null);return(0,s.useLayoutEffect)(()=>{r||(i.current===null?n(xc(t)):i.current!==t&&n(Sc({prev:i.current,next:t})),i.current=t)},[n,r,t]),(0,s.useLayoutEffect)(()=>()=>{i.current&&=(n(Cc(i.current)),null)},[n]),null}function sD(e,t){return fD(e)||dD(e,t)||lD(e,t)||cD()}function cD(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lD(e,t){if(e){if(typeof e==`string`)return uD(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uD(e,t):void 0}}function uD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&arguments[2]!==void 0?arguments[2]:[],r=[];for(var i of n)r.push({status:`removed`,prev:i});for(var a=0;ae[Math.floor(r*n)]),t)}function gD(e,t){return mD(t.map((t,n)=>e[n]),t)}function _D(e,t){for(var n=new Map,r=0;r{var a=n(e,t);if(a!=null){var o=r.get(a);if(o!==void 0)return i.add(a),o}}),o=[];for(var s of r){var c=sD(s,2),l=c[0],u=c[1];i.has(l)||o.push(u)}return mD(a,t,o)}function yD(e,t,n){return t==null?null:e==null?t.map(e=>({status:`added`,next:e})):n===`index`?hD(e,t):n===`append`?gD(e,t):vD(e,t,n)}function bD(e,t){var n=(0,s.useRef)(e),r=(0,s.useRef)(t.current),i=(0,s.useRef)(!0);n.current!==e&&(n.current=e,r.current=t.current,i.current=!1);var a=(0,s.useCallback)(function(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(n===0){i.current=!0;return}n===1&&(r.current=e),n>0&&i.current&&a&&(t.current=e)},[t]);return{startValue:r.current,syncStepValue:a}}function xD(e,t){return ED(e)||TD(e,t)||CD(e,t)||SD()}function SD(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CD(e,t){if(e){if(typeof e==`string`)return wD(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wD(e,t):void 0}}function wD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{typeof e==`function`&&e(),i(!0)},[e]),handleAnimationEnd:(0,s.useCallback)(()=>{typeof t==`function`&&t(),i(!1)},[t])}}function OD(e){var t=e.animationInput,n=e.animationIdPrefix,r=e.items,i=e.previousItemsRef,a=e.isAnimationActive,o=e.animationBegin,c=e.animationDuration,l=e.animationEasing,u=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,h=e.children,g=e.layout,_=Vu(t,n),v=bD(_,i),y=v.startValue??null,b=yD(y,r,p??pD);return s.createElement(Bu,{animationId:_,begin:o,duration:c,isActive:a,easing:l,onAnimationEnd:d,onAnimationStart:u,key:_},e=>{var t=y==null,n=r==null?r:f(b,e,g),i=m?m(e):e>0;return v.syncStepValue(n,e,i),n==null?null:h(n,e,t)})}function kD(e,t){return PD(e)||ND(e,t)||jD(e,t)||AD()}function AD(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jD(e,t){if(e){if(typeof e==`string`)return MD(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?MD(e,t):void 0}}function MD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nkD(s.useState(()=>ue(`uid-`)),1)[0]);function ID(e,t){var n=FD();return t||(e?`${e}-${n}`:n)}var LD=(0,s.createContext)(void 0),RD=e=>{var t=e.id,n=e.type,r=e.children,i=ID(`recharts-${n}`,t);return s.createElement(LD.Provider,{value:i},r(i))},zD=za({name:`graphicalItems`,initialState:{cartesianItems:[],polarItems:[]},reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(V(t.payload))},prepare:H()},replaceCartesianGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=da(e).cartesianItems.indexOf(V(r));a>-1&&(e.cartesianItems[a]=V(i))},prepare:H()},removeCartesianGraphicalItem:{reducer(e,t){var n=da(e).cartesianItems.indexOf(V(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:H()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(V(t.payload))},prepare:H()},removePolarGraphicalItem:{reducer(e,t){var n=da(e).polarItems.indexOf(V(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:H()},replacePolarGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=da(e).polarItems.indexOf(V(r));a>-1&&(e.polarItems[a]=V(i))},prepare:H()}}}),BD=zD.actions,VD=BD.addCartesianGraphicalItem,HD=BD.replaceCartesianGraphicalItem,UD=BD.removeCartesianGraphicalItem;BD.addPolarGraphicalItem,BD.removePolarGraphicalItem,BD.replacePolarGraphicalItem;var WD=zD.reducer,GD=(0,s.memo)(e=>{var t=R(),n=(0,s.useRef)(null);return(0,s.useLayoutEffect)(()=>{n.current===null?t(VD(e)):n.current!==e&&t(HD({prev:n.current,next:e})),n.current=e},[t,e]),(0,s.useLayoutEffect)(()=>()=>{n.current&&=(t(UD(n.current)),null)},[t]),null}),KD=[`points`];function qD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function JD(e){for(var t=1;t{var c=JD(JD(JD({r:3},o),p),{},{index:r,cx:e.x??void 0,cy:e.y??void 0,dataKey:a,value:e.value,payload:e.payload,points:t});return s.createElement(tO,{key:`dot-${r}`,option:n,dotProps:c,className:i})}),h={};return c&&l!=null&&(h.clipPath=`url(#clipPath-${f?``:`dots-`}${l})`),s.createElement(HC,{zIndex:d},s.createElement(D,QD({className:r},h),m))}function iO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function aO(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),os,ss],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),xO=()=>z(bO),SO=()=>z(GS);function CO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function wO(e){for(var t=1;t{var t=e.point,n=e.childIndex,r=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var c=wO(wO(wO({},{index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??`none`,strokeWidth:2,stroke:`#fff`,payload:t.payload,value:t.value}),h(i)),Ot(i)),l=(0,s.isValidElement)(i)?(0,s.cloneElement)(i,c):typeof i==`function`?i(c):s.createElement(VE,c);return s.createElement(D,{className:`recharts-active-dot`,clipPath:o},l)};function kO(e){var t=e.points,n=e.mainColor,r=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,c=o===void 0?Bf.activeDot:o,l=z(RS),u=SO();if(t==null||u==null)return null;var d=t.find(e=>u.includes(e.payload));return he(d)?null:s.createElement(HC,{zIndex:c},s.createElement(OO,{point:d,childIndex:Number(l),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var AO=e=>{var t=e.chartData,n=R(),r=Ds();return(0,s.useEffect)(()=>r?()=>{}:(n(dw(t)),()=>{n(dw(void 0))}),[t,n,r]),null},jO={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},MO=za({name:`brush`,initialState:jO,reducers:{setBrushSettings(e,t){return t.payload==null?jO:t.payload}}});MO.actions.setBrushSettings;var NO=MO.reducer;function PO(e){return(e%180+180)%180}var FO=function(e){var t=e.width,n=e.height,r=PO(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0)*Math.PI/180,i=Math.atan(n/t),a=r>i&&r{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=da(e).dots.findIndex(e=>e===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=da(e).areas.findIndex(e=>e===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(V(t.payload))},removeLine:(e,t)=>{var n=da(e).lines.findIndex(e=>e===t.payload);n!==-1&&e.lines.splice(n,1)}}}),LO=IO.actions;LO.addDot,LO.removeDot,LO.addArea,LO.removeArea,LO.addLine,LO.removeLine;var RO=IO.reducer;function zO(e,t){return WO(e)||UO(e,t)||VO(e,t)||BO()}function BO(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VO(e,t){if(e){if(typeof e==`string`)return HO(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?HO(e,t):void 0}}function HO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=zO((0,s.useState)(`${ue(`recharts`)}-clip`),1)[0],r=xO();if(r==null)return null;var i=r.x,a=r.y,o=r.width,c=r.height;return s.createElement(GO.Provider,{value:n},s.createElement(`defs`,null,s.createElement(`clipPath`,{id:n},s.createElement(`rect`,{x:i,y:a,height:c,width:o}))),t)};function qO(){}function JO(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null?!1:Object.prototype.toString.call(e)===`[object Object]`}function YO(e,t,n){return XO(e,t,void 0,void 0,void 0,void 0,n)}function XO(e,t,n,r,i,a,o){let s=o(e,t,n,r,i,a);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return e===t;case`number`:return e===t||Object.is(e,t);case`function`:return e===t;case`object`:return ZO(e,t,a,o)}return ZO(e,t,a,o)}function ZO(e,t,n,r){if(Object.is(e,t))return!0;let i=Kt(e),a=Kt(t);if(i===`[object Arguments]`&&(i=on),a===`[object Arguments]`&&(a=on),i!==a)return!1;switch(i){case Jt:return e.toString()===t.toString();case Yt:return Dn(e.valueOf(),t.valueOf());case Xt:case $t:case Qt:return Object.is(e.valueOf(),t.valueOf());case qt:return e.source===t.source&&e.flags===t.flags;case rn:return e===t}n??=new Map;let o=n.get(e),s=n.get(t);if(o!=null&&s!=null)return o===t;n.set(e,t),n.set(t,e);try{switch(i){case en:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!XO(a,t.get(i),i,e,t,n,r))return!1;return!0;case tn:{if(e.size!==t.size)return!1;let i=Array.from(e.values()),a=Array.from(t.values());for(let o=0;oXO(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case nn:case ln:case un:case dn:case fn:case pn:case mn:case hn:case gn:case _n:case vn:case yn:if(xn(e)!==xn(t)||e.length!==t.length)return!1;for(let i=0;ie*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function rk(e,t){return $O(e,t+1)}function ik(e,t,n,r,i){for(var a=(r||[]).slice(),o=t.start,s=t.end,c=0,l=1,u=o,d=function(){var t=r?.[c];if(t===void 0)return{v:$O(r,l)};var a=c,d,f=()=>(d===void 0&&(d=n(t,a)),d),p=t.coordinate,m=c===0||nk(e,p,f,u,s);m||(c=0,u=o,l+=1),m&&(u=p+e*(f()/2+i),c+=l)},f;l<=a.length;)if(f=d(),f)return f.v;return[]}function ak(e,t,n,r,i){var a=(r||[]).slice().length;if(a===0)return[];for(var o=t.start,s=t.end,c=1;c<=a;c++){for(var l=(a-1)%c,u=o,d=!0,f=function(){var t=r[m];if(t==null)return 0;var a=m,o,c=()=>(o===void 0&&(o=n(t,a)),o),f=t.coordinate,p=m===l||nk(e,f,c,u,s);if(!p)return d=!1,1;p&&(u=f+e*(c()/2+i))},p,m=l;m(u===void 0&&(u=n(r,t)),u);if(t===o-1){var f=e*(l.coordinate+e*d()/2-c);a[t]=l=sk(sk({},l),{},{tickCoord:f>0?l.coordinate-f*e:l.coordinate})}else a[t]=l=sk(sk({},l),{},{tickCoord:l.coordinate});l.tickCoord!=null&&nk(e,l.tickCoord,d,s,c)&&(c=l.tickCoord-e*(d()/2+i),a[t]=sk(sk({},l),{},{isShow:!0}))},u=o-1;u>=0;u--)if(l(u))continue;return a}function fk(e,t,n,r,i,a){var o=(r||[]).slice(),s=o.length,c=t.start,l=t.end;if(a){var u=r[s-1];if(u!=null){var d=n(u,s-1),f=e*(u.coordinate+e*d/2-l);o[s-1]=u=sk(sk({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate}),u.tickCoord!=null&&nk(e,u.tickCoord,()=>d,c,l)&&(l=u.tickCoord-e*(d/2+i),o[s-1]=sk(sk({},u),{},{isShow:!0}))}}for(var p=a?s-1:s,m=function(t){var r=o[t];if(r==null)return 1;var a=r,s,u=()=>(s===void 0&&(s=n(r,t)),s);if(t===0){var d=e*(a.coordinate-e*u()/2-c);o[t]=a=sk(sk({},a),{},{tickCoord:d<0?a.coordinate-d*e:a.coordinate})}else o[t]=a=sk(sk({},a),{},{tickCoord:a.coordinate});a.tickCoord!=null&&nk(e,a.tickCoord,u,c,l)&&(c=a.tickCoord+e*(u()/2+i),o[t]=sk(sk({},a),{},{isShow:!0}))},h=0;h{var i=typeof l==`function`?l(e.value,r):e.value;return p===`width`?ek(rT(i,{fontSize:t,letterSpacing:n}),m,d):rT(i,{fontSize:t,letterSpacing:n})[p]},g=i[0],_=i[1],v=i.length>=2&&g!=null&&_!=null?oe(_.coordinate-g.coordinate):1,y=tk(a,v,p);return c===`equidistantPreserveStart`?ik(v,y,h,i,o):c===`equidistantPreserveEnd`?ak(v,y,h,i,o):(f=c===`preserveStart`||c===`preserveStartEnd`?fk(v,y,h,i,o,c===`preserveStartEnd`):dk(v,y,h,i,o),f.filter(e=>e.isShow))}var mk=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.width>l&&(l=t.width)}});var u=n?n.getBoundingClientRect().width:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},hk=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.height>l&&(l=t.height)}});var u=n?n.getBoundingClientRect().height:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},gk=za({name:`renderedTicks`,initialState:{xAxis:{},yAxis:{}},reducers:{setRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId,a=n.ticks;e[r][i]=V(a)},removeRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId;delete e[r][i]}}}),_k=gk.actions,vk=_k.setRenderedTicks,yk=_k.removeRenderedTicks,bk=gk.reducer,xk=[`axisLine`,`width`,`height`,`className`,`hide`,`ticks`,`axisType`,`axisId`];function Sk(e,t){return Dk(e)||Ek(e,t)||wk(e,t)||Ck()}function Ck(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wk(e,t){if(e){if(typeof e==`string`)return Tk(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tk(e,t):void 0}}function Tk(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(r!=null&&n!=null){var e=t.map(e=>({value:e.value,coordinate:e.coordinate,offset:e.offset,index:e.index})),o=a.current;o!=null&&o.axisId===r&&o.axisType===n&&QO(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(vk({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,s.useEffect)(()=>r==null||n==null?ve:()=>{i(yk({axisId:r,axisType:n}))},[i,r,n]),null}var Hk=(0,s.forwardRef)((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,i=e.tick,o=e.tickLine,c=e.stroke,l=e.tickFormatter,u=e.unit,d=e.padding,f=e.tickTextProps,p=e.orientation,g=e.mirror,_=e.x,v=e.y,y=e.width,b=e.height,x=e.tickSize,S=e.tickMargin,C=e.fontSize,w=e.letterSpacing,T=e.getTicksConfig,E=e.events,O=e.axisType,k=e.axisId,A=pk($($({},T),{},{ticks:r}),C,w),j=m(T),M=h(i),N=UT(j.textAnchor)?j.textAnchor:Rk(p,g),ee=zk(p,g),te={};typeof o==`object`&&(te=o);var re=$($({},j),{},{fill:`none`},te),ie=A.map(e=>$({entry:e},Lk(e,_,v,y,b,p,x,g,S))),ae=ie.map(e=>{var t=e.entry,n=e.line;return s.createElement(D,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},o&&s.createElement(`line`,Ak({},re,n,{className:a(`recharts-cartesian-axis-tick-line`,ne(o,`className`))})))}),P=ie.map((e,t)=>{var n=e.entry,r=e.tick,a=$($({},$($($($({verticalAnchor:ee},j),{},{textAnchor:N,stroke:`none`,fill:c},r),{},{index:t,payload:n,visibleTicksCount:A.length,tickFormatter:l,padding:d},f),{},{angle:f?.angle??j.angle??0})),M);return s.createElement(D,Ak({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},At(E,n,t)),i&&s.createElement(Bk,{option:i,tickProps:a,value:`${typeof l==`function`?l(n.value,t):n.value}${u||``}`}))});return s.createElement(`g`,{className:`recharts-cartesian-axis-ticks recharts-${O}-ticks`},s.createElement(Vk,{ticks:A,axisId:k,axisType:O}),P.length>0&&s.createElement(HC,{zIndex:Bf.label},s.createElement(`g`,{className:`recharts-cartesian-axis-tick-labels recharts-${O}-tick-labels`,ref:t},P)),ae.length>0&&s.createElement(`g`,{className:`recharts-cartesian-axis-tick-lines recharts-${O}-tick-lines`},ae))}),Uk=(0,s.forwardRef)((e,t)=>{var n=e.axisLine,r=e.width,i=e.height,o=e.className,c=e.hide,l=e.ticks,u=e.axisType,d=e.axisId,f=Ok(e,xk),p=Sk((0,s.useState)(``),2),h=p[0],g=p[1],_=Sk((0,s.useState)(``),2),v=_[0],y=_[1],b=(0,s.useRef)(null);(0,s.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>mk({ticks:b.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>hk({ticks:b.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}));var x=(0,s.useCallback)(e=>{if(e){var t=e.getElementsByClassName(`recharts-cartesian-axis-tick-value`);b.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,a=r.letterSpacing;(i!==h||a!==v)&&(g(i),y(a))}}},[h,v]);return c||r!=null&&r<=0||i!=null&&i<=0?null:s.createElement(HC,{zIndex:e.zIndex},s.createElement(D,{className:a(`recharts-cartesian-axis`,o)},s.createElement(Ik,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:m(e)}),s.createElement(Hk,{ref:x,axisType:u,events:f,fontSize:h,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:d}),s.createElement(fE,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},s.createElement(EE,{label:e.label,labelRef:e.labelRef}),e.children)))}),Wk=s.forwardRef((e,t)=>{var n=It(e,Fk);return s.createElement(Uk,Ak({},n,{ref:t}))});Wk.displayName=`CartesianAxis`;var Gk=(0,s.createContext)({grid:{stroke:`#ccc`,fill:`none`}});Gk.Provider;var Kk=()=>(0,s.useContext)(Gk),qk=[`x1`,`y1`,`x2`,`y2`,`key`],Jk=[`offset`],Yk=[`xAxisId`,`yAxisId`],Xk=[`xAxisId`,`yAxisId`];function Zk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Qk(e){for(var t=1;t{var t=e.fill;if(!t||t===`none`)return null;var n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,c=e.ry;return s.createElement(`rect`,{x:r,y:i,ry:c,width:a,height:o,stroke:`none`,fill:t,fillOpacity:n,className:`recharts-cartesian-grid-bg`})};function oA(e){var t=e.option,n=e.lineItemProps,r;if(s.isValidElement(t))r=s.cloneElement(t,n);else if(typeof t==`function`)r=t(n);else{var i=n.x1,a=n.y1,o=n.x2,c=n.y2,l=n.key,u=m(rA(n,qk))??{};u.offset;var d=rA(u,Jk),f=Array.isArray(d.strokeDasharray)?d.strokeDasharray.join(`,`):d.strokeDasharray;r=s.createElement(`line`,nA({},d,{strokeDasharray:f,x1:i,y1:a,x2:o,y2:c,fill:`none`,key:l}))}return r}function sA(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0||r,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=rA(e,Yk),c=a.map((e,r)=>{var a=Qk(Qk({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return s.createElement(oA,{key:`line-${r}`,option:i,lineItemProps:a})});return s.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},c)}function cA(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0||r,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=rA(e,Xk),c=a.map((e,r)=>{var a=Qk(Qk({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return s.createElement(oA,{option:i,lineItemProps:a,key:`line-${r}`})});return s.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},c)}function lA(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,c=e.horizontalPoints,l=e.horizontal;if(!(l===void 0||l)||!t||!t.length||c==null)return null;var u=c.map(e=>Math.round(e+i-i)).sort((e,t)=>e-t);i!==u[0]&&u.unshift(0);var d=u.map((e,c)=>{var l=u[c+1],d=l==null?i+o-e:l-e;if(d<=0)return null;var f=c%t.length;return s.createElement(`rect`,{key:`react-${c}`,y:e,x:r,height:d,width:a,stroke:`none`,fill:t[f],fillOpacity:n,className:`recharts-cartesian-grid-bg`})});return s.createElement(`g`,{className:`recharts-cartesian-gridstripes-horizontal`},d)}function uA(e){var t=e.vertical,n=t===void 0||t,r=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,c=e.width,l=e.height,u=e.verticalPoints;if(!n||!r||!r.length)return null;var d=u.map(e=>Math.round(e+a-a)).sort((e,t)=>e-t);a!==d[0]&&d.unshift(0);var f=d.map((e,t)=>{var n=d[t+1],u=n==null?a+c-e:n-e;if(u<=0)return null;var f=t%r.length;return s.createElement(`rect`,{key:`react-${t}`,x:e,y:o,width:u,height:l,stroke:`none`,fill:r[f],fillOpacity:i,className:`recharts-cartesian-grid-bg`})});return s.createElement(`g`,{className:`recharts-cartesian-gridstripes-vertical`},f)}var dA=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return Wo(pk(Qk(Qk(Qk({},Fk),n),{},{ticks:Go(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},fA=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return Wo(pk(Qk(Qk(Qk({},Fk),n),{},{ticks:Go(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},pA={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Bf.grid};function mA(e){var t=fc(),n=pc(),r=dc(),i=Qk(Qk({},It(e,pA)),{},{x:I(e.x)?e.x:r.left,y:I(e.y)?e.y:r.top,width:I(e.width)?e.width:r.width,height:I(e.height)?e.height:r.height}),a=i.xAxisId,o=i.yAxisId,c=i.x,l=i.y,u=i.width,d=i.height,f=i.syncWithTicks,p=i.horizontalValues,m=i.verticalValues,h=Ds(),g=z(e=>mx(e,`xAxis`,a,h)),_=z(e=>mx(e,`yAxis`,o,h)),v=Kk(),y={stroke:i.stroke??v.grid.stroke,strokeWidth:i.strokeWidth??v.grid.strokeWidth,strokeOpacity:i.strokeOpacity??v.grid.strokeOpacity,strokeDasharray:i.strokeDasharray??v.grid.strokeDasharray};if(!Io(u)||!Io(d)||!I(c)||!I(l))return null;var b=i.verticalCoordinatesGenerator||dA,x=i.horizontalCoordinatesGenerator||fA,S=i.horizontalPoints,C=i.verticalPoints;if((!S||!S.length)&&typeof x==`function`){var w=p&&p.length,T=x({yAxis:_?Qk(Qk({},_),{},{ticks:w?p:_.ticks}):void 0,width:t??u,height:n??d,offset:r},w?!0:f);Ns(Array.isArray(T),`horizontalCoordinatesGenerator should return Array but instead it returned [${typeof T}]`),Array.isArray(T)&&(S=T)}if((!C||!C.length)&&typeof b==`function`){var E=m&&m.length,D=b({xAxis:g?Qk(Qk({},g),{},{ticks:E?m:g.ticks}):void 0,width:t??u,height:n??d,offset:r},E?!0:f);Ns(Array.isArray(D),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof D}]`),Array.isArray(D)&&(C=D)}return s.createElement(HC,{zIndex:i.zIndex},s.createElement(`g`,{className:`recharts-cartesian-grid`},s.createElement(aA,{fill:i.fill??v.grid.fill,fillOpacity:i.fillOpacity??v.grid.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),s.createElement(lA,nA({},i,{horizontalPoints:S})),s.createElement(uA,nA({},i,{verticalPoints:C})),s.createElement(sA,nA({},i,y,{offset:r,horizontalPoints:S,xAxis:g,yAxis:_})),s.createElement(cA,nA({},i,y,{offset:r,verticalPoints:C,xAxis:g,yAxis:_}))))}mA.displayName=`CartesianGrid`;var hA=za({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]||(e[r]=[]),e[r].push(i)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.prev,a=n.next;e[r]&&(e[r]=e[r].map(e=>e.dataKey===i.dataKey&&e.direction===i.direction?a:e))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]&&(e[r]=e[r].filter(e=>e.dataKey!==i.dataKey||e.direction!==i.direction))}}}),gA=hA.actions;gA.addErrorBar,gA.replaceErrorBar,gA.removeErrorBar;var _A=hA.reducer;function vA(e,t){var n=z(t=>vy(t,e)),r=z(e=>by(e,t)),i=n?.allowDataOverflow??X.allowDataOverflow,a=r?.allowDataOverflow??Z.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function yA(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=xO(),a=vA(t,n),o=a.needClipX,c=a.needClipY,l=a.needClip,u=z(e=>Ub(e,t,!1)),d=z(e=>Wb(e,n,!1));if(!l||!i)return null;var f=i.x,p=i.y,m=i.width,h=i.height,g=o&&u?Math.min(u[0],u[1]):f-m/2,_=c&&d?Math.min(d[0],d[1]):p-h/2,v=o&&u?Math.abs(u[1]-u[0]):m*2,y=c&&d?Math.abs(d[1]-d[0]):h*2;return s.createElement(`clipPath`,{id:`clipPath-${r}`},s.createElement(`rect`,{x:g,y:_,width:v,height:y}))}function bA(e){var t=h(e),n=3,r=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),s=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}function xA(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function SA(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var CA=(e,t,n)=>_x(e,`xAxis`,xA(e,t),n),wA=(e,t,n)=>gx(e,`xAxis`,xA(e,t),n),TA=(e,t,n)=>_x(e,`yAxis`,SA(e,t),n),EA=(e,t,n)=>gx(e,`yAxis`,SA(e,t),n),DA=B([G,CA,TA,wA,EA],(e,t,n,r,i)=>Uo(e,`xAxis`)?ts(t,r,!1):ts(n,i,!1)),OA=B([Oy,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`area`).find(e=>e.id===t)),kA=e=>Uo(G(e),`xAxis`)?`yAxis`:`xAxis`,AA=(e,t)=>kA(e)===`yAxis`?SA(e,t):xA(e,t),jA=(e,t,n)=>$y(e,kA(e),AA(e,t),n),MA=B([G,CA,TA,wA,EA,B([OA,jA],(e,t)=>{if(e!=null&&t!=null){var n=e.stackId,r=lp(e);if(n!=null&&r!=null){var i=(t[n]?.stackedData)?.find(e=>e.key===r);if(i!=null)return i.map(e=>[e[0],e[1]])}}}),rf,DA,OA,zf,B([OA,jA],(e,t)=>{if(e!=null&&e.stackId!=null&&t!=null){var n=t[e.stackId];if(n!=null)return n.graphicalItems.map(e=>e.dataKey).filter(_e)}})],(e,t,n,r,i,a,o,s,c,l,u)=>{var d=o.chartData,f=o.dataStartIndex,p=o.dataEndIndex;if(!(c==null||e!==`horizontal`&&e!==`vertical`||t==null||n==null||r==null||i==null||r.length===0||i.length===0||s==null)){var m=c.data,h=m&&m.length>0?m:d?.slice(f,p+1);if(h!=null)return dj({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:c,stackedData:a,displayedData:h,chartBaseValue:l,bandSize:s,stackDataKeys:u})}}),NA=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`layout`,`isRange`,`stroke`,`connectNulls`],PA=[`id`,`baseLine`];function FA(){return FA=Object.assign?Object.assign.bind():function(e){for(var t=1;te.y||0));return I(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(e=>e.y||0),l)),I(l)?s.createElement(`rect`,{x:ae.x||0));return I(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(e=>e.x||0),l)),I(l)?s.createElement(`rect`,{x:0,y:ae==null?[]:t===1?e.flatMap(e=>e.status===`removed`?[]:[e.next]):e.flatMap(e=>e.status===`matched`?[JA(JA({},e.next),{},{x:pe(e.prev.x,e.next.x,t),y:pe(e.prev.y,e.next.y,t)})]:e.status===`added`?[e.next]:[]),connectNulls:!1,dot:!1,fill:`#3182bd`,fillOpacity:.6,hide:!1,isAnimationActive:`auto`,legendType:`line`,stroke:`#3182bd`,strokeWidth:1,type:`linear`,label:!1,shape:VA,xAxisId:0,yAxisId:0,zIndex:Bf.area};function $A(e,t){return e&&e!==`none`?e:t}var ej=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.fill,a=e.legendType;return[{inactive:e.hide,dataKey:t,type:a,color:$A(r,i),value:rs(n,t),payload:e}]},tj=s.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,c=e.hide,l=e.unit,u=e.formatter,d=e.tooltipType,f=e.id,p={dataDefinedOnItem:n,getPosition:ve,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:rs(o,t),hide:c,type:d,color:$A(r,a),unit:l,formatter:u,graphicalItemId:f}};return s.createElement(aD,{tooltipEntrySettings:p})});function nj(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.needClip,a=r.dot,o=r.dataKey,c=m(r);return s.createElement(rO,{points:n,dot:a,className:`recharts-area-dots`,dotClassName:`recharts-area-dot`,dataKey:o,baseProps:c,needClip:i,clipPathId:t})}function rj(e){var t=e.showLabels,n=e.children,r=e.points.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return JA(JA({},t),{},{value:e.value,payload:e.payload,parentViewBox:void 0,viewBox:t,fill:void 0})});return s.createElement(PE,{value:t?r:void 0},n)}function ij(e){var t=e.points,n=e.baseLine,r=e.needClip,i=e.clipPathId,a=e.props,o=e.animationElapsedTime,c=e.isAnimating,l=e.isEntrance,u=a.layout,d=a.type,f=a.stroke,p=a.connectNulls,m=a.isRange,h=a.shape,_=a.id,v=GA(a,HA),y=JA(JA({},g(v)),{},{id:_,points:t,connectNulls:p,type:d,baseLine:n,layout:u,stroke:f,isRange:m,animationElapsedTime:o,isAnimating:c,isEntrance:l});return s.createElement(s.Fragment,null,t?.length>1&&s.createElement(D,{clipPath:r?`url(#clipPath-${i})`:void 0},s.createElement(iD,{option:h,DefaultShape:QA.shape,shapeProps:y})),s.createElement(nj,{points:t,props:v,clipPathId:i}))}function aj(e,t,n){return I(e)?pe(I(t)?t:void 0,e,n):he(e)||F(e)?pe(I(t)?t:void 0,0,n):e}function oj(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=e.previousPointsRef,a=e.previousBaselineRef,o=r.points,c=r.baseLine,l=r.isAnimationActive,u=r.animationBegin,d=r.animationDuration,f=r.animationEasing,p=r.animationMatchBy,m=r.animationInterpolateFn,h=(0,s.useMemo)(()=>({points:o,baseLine:c}),[o,c]),g=bD(h,a),_=hc(),v=DD(r.onAnimationStart,r.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(_==null)return null;var C=Array.isArray(c)&&Array.isArray(S)?yD(S,c,p):Array.isArray(c)?yD(null,c,p):null;return s.createElement(OD,{animationInput:h,animationIdPrefix:`recharts-area-`,items:o,previousItemsRef:i,isAnimationActive:l,animationBegin:u,animationDuration:d,animationEasing:f,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:m,animationMatchBy:p,layout:_},(e,i,a)=>{var l=i===1?c:Array.isArray(c)?m(C,i,_):a?c:aj(c,S,i);return g.syncStepValue(l,i),s.createElement(rj,{showLabels:!y,points:o},r.children,s.createElement(ij,{points:e,baseLine:l,needClip:t,clipPathId:n,props:r,animationElapsedTime:i,isAnimating:y||i<1,isEntrance:a}),s.createElement(zE,{label:r.label}))})}function sj(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=(0,s.useRef)(null),a=(0,s.useRef)();return s.createElement(oj,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}var cj=class extends s.PureComponent{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,o=e.top,c=e.left,l=e.needClip,u=e.xAxisId,d=e.yAxisId,f=e.width,p=e.height,m=e.id,h=e.baseLine,g=e.zIndex;if(t)return null;var _=a(`recharts-area`,i),v=m,y=bA(n),b=y.r,x=y.strokeWidth,S=qE(n),C=b*2+x,w=l?`url(#clipPath-${S?``:`dots-`}${v})`:void 0;return s.createElement(HC,{zIndex:g},s.createElement(D,{className:_},l&&s.createElement(`defs`,null,s.createElement(yA,{clipPathId:v,xAxisId:u,yAxisId:d}),!S&&s.createElement(`clipPath`,{id:`clipPath-dots-${v}`},s.createElement(`rect`,{x:c-C/2,y:o-C/2,width:f+C,height:p+C}))),s.createElement(sj,{needClip:l,clipPathId:v,props:this.props})),s.createElement(kO,{points:r,mainColor:$A(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}),this.props.isRange&&Array.isArray(h)&&s.createElement(kO,{points:h,mainColor:$A(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}))}};function lj(e){var t=e.activeDot,n=e.animationBegin,r=e.animationDuration,i=e.animationEasing,a=e.connectNulls,o=e.dot,c=e.fill,l=e.fillOpacity,u=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,h=e.yAxisId,g=GA(e,UA),_=mc(),v=cC(),y=vA(m,h).needClip,b=Ds(),x=z(t=>MA(t,e.id,b))??{},S=x.points,C=x.isRange,w=x.baseLine,T=xO();if(_!==`horizontal`&&_!==`vertical`||T==null||v!==`AreaChart`&&v!==`ComposedChart`)return null;var E=T.height,D=T.width,O=T.x,k=T.y;return!S||!S.length?null:s.createElement(cj,WA({},g,{activeDot:t,animationBegin:n,animationDuration:r,animationEasing:i,baseLine:w,connectNulls:a,dot:o,fill:c,fillOpacity:l,height:E,hide:u,layout:_,isAnimationActive:d,isRange:C,legendType:f,needClip:y,points:S,stroke:p,width:D,left:O,top:k,xAxisId:m,yAxisId:h}))}var uj=(e,t,n,r,i)=>{var a=n??t;if(I(a))return a;var o=e===`horizontal`?i:r,s=o.scale.domain();if(o.type===`number`){var c=Math.max(s[0],s[1]),l=Math.min(s[0],s[1]);return a===`dataMin`?l:a===`dataMax`||c<0?c:Math.max(Math.min(s[0],s[1]),0)}return a===`dataMin`?s[0]:a===`dataMax`?s[1]:s[0]};function dj(e){var t=e.areaSettings,n=t.connectNulls,r=t.baseValue,i=t.dataKey,a=e.stackedData,o=e.layout,s=e.chartBaseValue,c=e.xAxis,l=e.yAxis,u=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,h=e.stackDataKeys,g=a&&a.length,_=uj(o,s,r,c,l),v=o===`horizontal`,y=!1,b=u.map((e,t)=>{var r;if(g)r=a[d+t];else{var o=W(e,i);Array.isArray(o)?(r=o,y=!0):r=[_,o]}var s=r?.[1]??null,u=W(e,i),b=g&&u==null&&h!=null&&h.length>0&&h.every(t=>W(e,t)==null),x=s==null||g&&!n&&u==null||b;return v?{x:Yo({axis:c,ticks:f,bandSize:m,entry:e,index:t}),y:x?null:l.scale.map(s)??null,value:r,payload:e}:{x:x?null:c.scale.map(s)??null,y:Yo({axis:l,ticks:p,bandSize:m,entry:e,index:t}),value:r,payload:e}});return{points:b,baseLine:(g||y?b.map(e=>{var t=Array.isArray(e.value)?e.value[0]:null;return v?{x:e.x,y:t!=null&&e.y!=null?l.scale.map(t)??null:null,payload:e.payload}:{x:t==null?null:c.scale.map(t)??null,y:e.y,payload:e.payload}}):v?l.scale.map(_):c.scale.map(_))??0,isRange:y}}function fj(e){var t=It(e,QA),n=Ds();return s.createElement(RD,{id:t.id,type:`area`},e=>s.createElement(s.Fragment,null,s.createElement(oD,{legendPayload:ej(t)}),s.createElement(tj,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),s.createElement(GD,{type:`area`,id:e,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:Jo(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),s.createElement(lj,WA({},t,{id:e}))))}var pj=s.memo(fj,Uc);pj.displayName=`Area`;var mj=[`domain`,`range`],hj=[`domain`,`range`];function gj(e,t){if(e==null)return{};var n,r,i=_j(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{if(o!=null)return Tj(Tj({},a),{},{type:o})},[a,o]);return(0,s.useLayoutEffect)(()=>{c!=null&&(n.current===null?t(dO(c)):n.current!==c&&t(fO({prev:n.current,next:c})),n.current=c)},[c,t]),(0,s.useLayoutEffect)(()=>()=>{n.current&&=(t(pO(n.current)),null)},[t]),null}var Mj=e=>{var t=e.xAxisId,n=e.className,r=e.height,i=e.label,o=(0,s.useRef)(null),c=(0,s.useRef)(null),l=z(Ts),u=Ds(),d=R(),f=`xAxis`,p=z(e=>hx(e,f,t,u)),m=z(e=>ix(e,t)),h=z(e=>lx(e,t)),g=z(e=>_y(e,t));if((0,s.useLayoutEffect)(()=>{if(!(r!==`auto`||!m||_E(i)||(0,s.isValidElement)(i)||g==null)){var e=o.current;if(e){var n=e.getCalculatedHeight();Math.round(m.height)!==Math.round(n)&&d(vO({id:t,height:n}))}}},[p,m,d,i,t,r,g]),m==null||h==null||g==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var _=kj(e,xj);g.id,g.scale;var v=kj(g,Sj);return s.createElement(Wk,Cj({},_,v,{ref:o,labelRef:c,x:h.x,y:h.y,width:m.width,height:m.height,className:a(`recharts-${f} ${f}`,n),viewBox:l,ticks:p,axisType:f,axisId:t}))},Nj={allowDataOverflow:X.allowDataOverflow,allowDecimals:X.allowDecimals,allowDuplicatedCategory:X.allowDuplicatedCategory,angle:X.angle,axisLine:Fk.axisLine,height:X.height,hide:!1,includeHidden:X.includeHidden,interval:X.interval,label:!1,minTickGap:X.minTickGap,mirror:X.mirror,orientation:X.orientation,padding:X.padding,reversed:X.reversed,scale:X.scale,tick:X.tick,tickCount:X.tickCount,tickLine:Fk.tickLine,tickSize:Fk.tickSize,type:X.type,niceTicks:X.niceTicks,xAxisId:0},Pj=s.memo(e=>{var t=It(e,Nj);return s.createElement(s.Fragment,null,s.createElement(jj,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),s.createElement(Mj,t))},yj);Pj.displayName=`XAxis`;var Fj=[`type`],Ij=[`dangerouslySetInnerHTML`,`ticks`,`scale`],Lj=[`id`,`scale`];function Rj(){return Rj=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(o!=null)return Bj(Bj({},a),{},{type:o})},[o,a]);return(0,s.useLayoutEffect)(()=>{c!=null&&(n.current===null?t(mO(c)):n.current!==c&&t(hO({prev:n.current,next:c})),n.current=c)},[c,t]),(0,s.useLayoutEffect)(()=>()=>{n.current&&=(t(gO(n.current)),null)},[t]),null}function qj(e){var t=e.yAxisId,n=e.className,r=e.width,i=e.label,o=(0,s.useRef)(null),c=(0,s.useRef)(null),l=z(Ts),u=Ds(),d=R(),f=`yAxis`,p=z(e=>dx(e,t)),m=z(e=>ux(e,t)),h=z(e=>hx(e,f,t,u)),g=z(e=>yy(e,t));if((0,s.useLayoutEffect)(()=>{if(!(r!==`auto`||!p||_E(i)||(0,s.isValidElement)(i)||g==null)){var e=o.current;if(e){var n=e.getCalculatedWidth();Math.round(p.width)!==Math.round(n)&&d(_O({id:t,width:n}))}}},[h,p,d,i,t,r,g]),p==null||m==null||g==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var _=Wj(e,Ij);g.id,g.scale;var v=Wj(g,Lj);return s.createElement(Wk,Rj({},_,v,{ref:o,labelRef:c,x:m.x,y:m.y,tickTextProps:r===`auto`?{width:void 0}:{width:r},width:p.width,height:p.height,className:a(`recharts-${f} ${f}`,n),viewBox:l,ticks:h,axisType:f,axisId:t}))}var Jj={allowDataOverflow:Z.allowDataOverflow,allowDecimals:Z.allowDecimals,allowDuplicatedCategory:Z.allowDuplicatedCategory,angle:Z.angle,axisLine:Fk.axisLine,hide:!1,includeHidden:Z.includeHidden,interval:Z.interval,label:!1,minTickGap:Z.minTickGap,mirror:Z.mirror,orientation:Z.orientation,padding:Z.padding,reversed:Z.reversed,scale:Z.scale,tick:Z.tick,tickCount:Z.tickCount,tickLine:Fk.tickLine,tickSize:Fk.tickSize,type:Z.type,niceTicks:Z.niceTicks,width:Z.width,yAxisId:0},Yj=s.memo(e=>{var t=It(e,Jj);return s.createElement(s.Fragment,null,s.createElement(Kj,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),s.createElement(qj,t))},yj);Yj.displayName=`YAxis`;var Xj=B([(e,t)=>t,G,op,hp,jS,NS,fC,Cs],wC);function Zj(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function Qj(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(Zj(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var $j=va(`mouseClick`),eM=Eo();eM.startListening({actionCreator:$j,effect:(e,t)=>{var n=e.payload,r=Xj(t.getState(),Qj(n));r?.activeIndex!=null&&t.dispatch(Ix({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var tM=va(`mouseMove`),nM=Eo(),rM=null,iM=null,aM=null;nM.startListening({actionCreator:tM,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);rM!==null&&(cancelAnimationFrame(rM),rM=null),iM!==null&&(typeof i!=`number`||!o)&&(clearTimeout(iM),iM=null),aM=Qj(n);var s=()=>{var e=t.getState(),n=Sx(e,e.tooltip.settings.shared);if(!aM){rM=null,iM=null;return}if(n===`axis`){var r=Xj(e,aM);r?.activeIndex==null?t.dispatch(Px()):t.dispatch(Fx({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}rM=null,iM=null};if(!o){s();return}i===`raf`?rM=requestAnimationFrame(s):typeof i==`number`&&iM===null&&(iM=setTimeout(s,i))}});function oM(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<>`:t}var sM={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},cM=za({name:`rootProps`,initialState:sM,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??sM.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),lM=cM.reducer,uM=cM.actions.updateOptions,dM=za({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}});dM.actions.updatePolarOptions;var fM=dM.reducer,pM=va(`keyDown`),mM=va(`focus`),hM=va(`blur`),gM=Eo(),_M=null,vM=null,yM=null;gM.startListening({actionCreator:pM,effect:(e,t)=>{yM=e.payload,_M!==null&&(cancelAnimationFrame(_M),_M=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);vM!==null&&(typeof r!=`number`||!a)&&(clearTimeout(vM),vM=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=yM;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=Zx(n,yS(e),Xy(e),OS(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=NS(e),c=yS(e),l=Sx(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=_C(e,l,`hover`,String(n.index));t.dispatch(Rx({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=vx(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=Xy(e),h=OS(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v=0;y--)if(Zx(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=_C(e,l,`hover`,String(p));t.dispatch(Rx({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{_M=null,vM=null}};if(!a){o();return}r===`raf`?_M=requestAnimationFrame(o):typeof r==`number`&&vM===null&&(o(),yM=null,vM=setTimeout(()=>{yM?o():(vM=null,_M=null)},r))}}),gM.startListening({actionCreator:mM,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;if(!r.active&&r.index==null){var i=`0`,a=_C(n,Sx(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(Rx({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),gM.startListening({actionCreator:hM,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(Rx({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function bM(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var xM=va(`externalEvent`),SM=Eo(),CM=new Map,wM=new Map,TM=new Map;SM.startListening({actionCreator:xM,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=bM(i);TM.set(a,{handler:r,reactEvent:o});var s=CM.get(a);s!==void 0&&(cancelAnimationFrame(s),CM.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=wM.get(a);f!==void 0&&(typeof l!=`number`||!d)&&(clearTimeout(f),wM.delete(a));var p=()=>{var e=TM.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:US(i),activeDataKey:BS(i),activeIndex:RS(i),activeLabel:zS(i),activeTooltipIndex:RS(i),isTooltipActive:WS(i)};n&&n(o,r)}finally{CM.delete(a),wM.delete(a),TM.delete(a)}};if(!d){p();return}if(l===`raf`){var m=requestAnimationFrame(p);CM.set(a,m)}else if(typeof l==`number`){if(!wM.has(a)){p();var h=setTimeout(p,l);wM.set(a,h)}}else p()}}});var EM=B([B([tS],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(t)}}}),DM=va(`touchMove`),OM=Eo(),kM=null,AM=null,jM=null,MM=null;OM.startListening({actionCreator:DM,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){MM=bM(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);kM!==null&&(cancelAnimationFrame(kM),kM=null),AM!==null&&(typeof i!=`number`||!o)&&(clearTimeout(AM),AM=null),jM=Array.from(n.touches).map(e=>Qj({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(MM!=null){var e=t.getState(),n=Sx(e,e.tooltip.settings.shared);if(n===`axis`){var r=jM?.[0];if(r==null){kM=null,AM=null;return}var i=Xj(e,r);i?.activeIndex!=null&&t.dispatch(Fx({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=MM.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(fs),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=hS(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=EM(e,s,c);t.dispatch(Nx({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}kM=null,AM=null}};if(!o){s();return}i===`raf`?kM=requestAnimationFrame(s):typeof i==`number`&&AM===null&&(s(),MM=null,AM=setTimeout(()=>{MM?s():(AM=null,kM=null)},i))}}});var NM={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},PM=za({name:`eventSettings`,initialState:NM,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=V(t.payload.throttledEvents))}}}),FM=PM.actions.setEventSettings,IM=PM.reducer,LM=Hr({brush:NO,cartesianAxis:yO,chartData:pw,errorBars:_A,eventSettings:IM,graphicalItems:WD,layout:Po,legend:wc,options:ow,polarAxis:WE,polarOptions:fM,referenceElements:RO,renderedTicks:bk,rootProps:lM,tooltip:zx,zIndex:VC}),RM=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return ka({reducer:LM,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([eM.middleware,nM.middleware,gM.middleware,SM.middleware,OM.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(Da({type:`raf`}))},devTools:fl.devToolsEnabled&&{serialize:{replacer:oM},name:`recharts-${t}`}})};function zM(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=Ds(),a=(0,s.useRef)(null);if(i)return n;a.current??=RM(t,r);var o=Xn;return s.createElement(Bc,{context:o,store:a.current},n)}function BM(e){var t=e.layout,n=e.margin,r=R(),i=Ds();return(0,s.useEffect)(()=>{i||(r(jo(t)),r(Ao(n)))},[r,i,t,n]),null}var VM=(0,s.memo)(BM,Uc);function HM(e){var t=R();return(0,s.useEffect)(()=>{t(uM(e))},[t,e]),null}var UM=(0,s.memo)(e=>{var t=R();return(0,s.useEffect)(()=>{t(FM(e))},[t,e]),null},Uc);function WM(e){var t=e.zIndex,n=e.isPanorama,r=(0,s.useRef)(null),i=R();return(0,s.useLayoutEffect)(()=>(r.current&&i(zC({zIndex:t,element:r.current,isPanorama:n})),()=>{i(BC({zIndex:t,isPanorama:n}))}),[i,t,n]),s.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function GM(e){var t=e.children,n=e.isPanorama,r=z(EC);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return s.createElement(s.Fragment,null,i.map(e=>s.createElement(WM,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>s.createElement(WM,{key:e,zIndex:e,isPanorama:n})))}var KM=[`children`];function qM(e,t){if(e==null)return{};var n,r,i=JM(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=fc(),r=pc(),i=Pl();if(!Io(n)||!Io(r))return null;var a=e.children,o=e.otherAttributes,c=e.title,l=e.desc,u,d;return o!=null&&(u=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,d=typeof o.role==`string`?o.role:i?`application`:void 0),s.createElement(S,YM({},o,{title:c,desc:l,role:d,tabIndex:u,width:n,height:r,style:XM,ref:t}),a)}),QM=e=>{var t=e.children,n=z(ks);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return s.createElement(S,{width:r,height:i,x:o,y:a},t)},$M=(0,s.forwardRef)((e,t)=>{var n=e.children,r=qM(e,KM);return Ds()?s.createElement(QM,null,s.createElement(GM,{isPanorama:!0},n)):s.createElement(ZM,YM({ref:t},r),s.createElement(GM,{isPanorama:!1},n))});function eN(e,t){return aN(e)||iN(e,t)||nN(e,t)||tN()}function tN(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nN(e,t){if(e){if(typeof e==`string`)return rN(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rN(e,t):void 0}}function rN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;U(t)&&t!==i&&e(No(t))}},[n,e,i]),r}function sN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cN(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n(ww(),null);function bN(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var xN=(0,s.forwardRef)((e,t)=>{var n=(0,s.useRef)(null),r=pN((0,s.useState)({containerWidth:bN(e.style?.width),containerHeight:bN(e.style?.height)}),2),i=r[0],a=r[1],o=(0,s.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,s.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,s.useEffect)(()=>()=>{n.current?.disconnect()},[o]),s.createElement(s.Fragment,null,s.createElement(vc,{width:i.containerWidth,height:i.containerHeight}),s.createElement(`div`,fN({ref:c},e)))}),SN=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=pN((0,s.useState)({containerWidth:bN(n),containerHeight:bN(r)}),2),a=i[0],o=i[1],c=(0,s.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),l=(0,s.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;c(r,i)}},[t,c]);return s.createElement(s.Fragment,null,s.createElement(vc,{width:a.containerWidth,height:a.containerHeight}),s.createElement(`div`,fN({ref:l},e)))}),CN=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height;return s.createElement(s.Fragment,null,s.createElement(vc,{width:n,height:r}),s.createElement(`div`,fN({ref:t},e)))}),wN=(0,s.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?s.createElement(SN,fN({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?s.createElement(CN,fN({},e,{width:n,height:r,ref:t})):s.createElement(s.Fragment,null,s.createElement(vc,{width:n,height:r}),s.createElement(`div`,fN({ref:t},e)))});function TN(e){return e?xN:wN}var EN=(0,s.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,o=e.onClick,c=e.onContextMenu,l=e.onDoubleClick,u=e.onMouseDown,d=e.onMouseEnter,f=e.onMouseLeave,p=e.onMouseMove,m=e.onMouseUp,h=e.onTouchEnd,g=e.onTouchMove,_=e.onTouchStart,v=e.style,y=e.width,b=e.responsive,x=e.dispatchTouchEvents,S=x===void 0||x,C=(0,s.useRef)(null),w=R(),T=pN((0,s.useState)(null),2),E=T[0],D=T[1],O=pN((0,s.useState)(null),2),k=O[0],A=O[1],j=oN(),M=oc(),N=M?.width>0?M.width:y,ee=M?.height>0?M.height:i,te=(0,s.useCallback)(e=>{j(e),typeof t==`function`&&t(e),D(e),A(e),e!=null&&(C.current=e)},[j,t,D,A]),ne=(0,s.useCallback)(e=>{w($j(e)),w(xM({handler:o,reactEvent:e}))},[w,o]),re=(0,s.useCallback)(e=>{w(tM(e)),w(xM({handler:d,reactEvent:e}))},[w,d]),ie=(0,s.useCallback)(e=>{w(Px()),w(xM({handler:f,reactEvent:e}))},[w,f]),ae=(0,s.useCallback)(e=>{w(tM(e)),w(xM({handler:p,reactEvent:e}))},[w,p]),P=(0,s.useCallback)(()=>{w(mM())},[w]),oe=(0,s.useCallback)(()=>{w(hM())},[w]),F=(0,s.useCallback)(e=>{w(pM(e.key))},[w]),se=(0,s.useCallback)(e=>{w(xM({handler:c,reactEvent:e}))},[w,c]),I=(0,s.useCallback)(e=>{w(xM({handler:l,reactEvent:e}))},[w,l]),ce=(0,s.useCallback)(e=>{w(xM({handler:u,reactEvent:e}))},[w,u]),le=(0,s.useCallback)(e=>{w(xM({handler:m,reactEvent:e}))},[w,m]),ue=(0,s.useCallback)(e=>{w(xM({handler:_,reactEvent:e}))},[w,_]),de=(0,s.useCallback)(e=>{S&&w(DM(e)),w(xM({handler:g,reactEvent:e}))},[w,S,g]),fe=(0,s.useCallback)(e=>{w(xM({handler:h,reactEvent:e}))},[w,h]),pe=TN(b);return s.createElement(QC.Provider,{value:E},s.createElement(Oe.Provider,{value:k},s.createElement(pe,{width:N??v?.width,height:ee??v?.height,className:a(`recharts-wrapper`,r),style:cN({position:`relative`,cursor:`default`,width:N,height:ee},v),onClick:ne,onContextMenu:se,onDoubleClick:I,onFocus:P,onBlur:oe,onKeyDown:F,onMouseDown:ce,onMouseEnter:re,onMouseLeave:ie,onMouseMove:ae,onMouseUp:le,onTouchEnd:fe,onTouchMove:de,onTouchStart:ue,ref:te},s.createElement(yN,null),n)))}),DN=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function ON(e,t){if(e==null)return{};var n,r,i=kN(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,c=e.style,l=e.compact,u=e.title,d=e.desc,f=m(ON(e,DN));return l?s.createElement(s.Fragment,null,s.createElement(vc,{width:n,height:r}),s.createElement($M,{otherAttributes:f,title:u,desc:d},a)):s.createElement(EN,{className:o,style:c,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},s.createElement($M,{otherAttributes:f,title:u,desc:d,ref:t},s.createElement(KO,null,a)))});function jN(){return jN=Object.assign?Object.assign.bind():function(e){for(var t=1;tp.createElement(d,{chartName:`AreaChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:m,tooltipPayloadSearcher:f,categoricalChartProps:e,ref:t})),g=i(),_=[`var(--accent)`,`var(--muted)`,`var(--success)`,`var(--warning)`];function v(e,t,n){let r=new Date(e);return Number.isFinite(r.getTime())?new Intl.DateTimeFormat(n===`zh`?`zh-CN`:`en-US`,t?{month:`short`,day:`numeric`}:{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(r):``}function y({active:e,payload:t,label:n,daily:i,lang:a,models:o,totalLabel:s}){if(!e||!t?.length)return null;let c=new Map(o.map(e=>[e.id,e.label])),l=t.filter(e=>(e.value??0)>0).sort((e,t)=>t.value-e.value),u=t.reduce((e,t)=>e+(t.value??0),0);return(0,g.jsxs)(`div`,{className:`rounded-xl border border-border bg-overlay px-3 py-2 text-[11px] text-overlay-foreground shadow-overlay`,children:[(0,g.jsx)(`div`,{className:`mono text-muted`,children:v(String(n),i,a)}),(0,g.jsxs)(`div`,{className:`mt-1.5 grid gap-1`,children:[l.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,g.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:_[o.findIndex(t=>t.id===e.dataKey)%_.length]}}),c.get(e.dataKey)||e.dataKey]}),(0,g.jsx)(`span`,{className:`mono font-medium`,children:r(e.value)})]},e.dataKey)),(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-6 border-t border-separator pt-1`,children:[(0,g.jsx)(`span`,{className:`text-muted`,children:s}),(0,g.jsx)(`span`,{className:`mono font-medium`,children:r(u)})]})]})]})}function b({series:e,models:n,lang:r,emptyLabel:i,totalLabel:d}){let f=(0,p.useRef)(null),m=(0,p.useMemo)(()=>n.map(e=>e.id),[n]),b=(0,p.useMemo)(()=>e.map(e=>{let t={at:e.at};for(let n of m)t[n]=Number((e.per_model[n]??0).toFixed(4));return t}),[e,m]),x=Math.max(0,...b.map(e=>m.reduce((t,n)=>t+Number(e[n]??0),0)))>0,S=(b.length>1?Date.parse(b[b.length-1].at)-Date.parse(b[0].at):0)>1728e5,C=b.map(e=>`${e.at}:${m.map(t=>Number(e[t])).join(`,`)}`).join(`|`);return(0,p.useLayoutEffect)(()=>{let e=f.current;if(!e||!x)return;let n=t.matchMedia();return n.add(`(prefers-reduced-motion: no-preference)`,()=>{let n=t.utils.toArray(`.recharts-area-area`,e);t.fromTo(n,{autoAlpha:0},{autoAlpha:1,duration:.5,ease:`power2.out`,stagger:.05})},e),()=>n.revert()},[x,C]),!e.length||!x?(0,g.jsx)(`div`,{className:`grid min-h-56 place-items-center px-6 py-12 text-center text-sm text-muted`,children:i}):(0,g.jsxs)(`div`,{ref:f,className:`min-w-0`,children:[(0,g.jsx)(`div`,{className:`h-72 w-full`,children:(0,g.jsx)(o,{width:`100%`,height:`100%`,children:(0,g.jsxs)(h,{data:b,margin:{top:8,right:8,bottom:0,left:0},children:[(0,g.jsx)(`defs`,{children:m.map((e,t)=>(0,g.jsxs)(`linearGradient`,{id:`cost-${e}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:_[t%_.length],stopOpacity:.32}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:_[t%_.length],stopOpacity:.04})]},e))}),(0,g.jsx)(s,{vertical:!1,stroke:`var(--separator)`,strokeDasharray:`3 6`}),(0,g.jsx)(u,{dataKey:`at`,tickLine:!1,axisLine:!1,minTickGap:28,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>v(e,S,r)}),(0,g.jsx)(l,{width:48,tickLine:!1,axisLine:!1,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>`¥${e>=10?Math.round(e):Number(e.toFixed(1))}`}),(0,g.jsx)(a,{cursor:{stroke:`var(--border)`,strokeDasharray:`3 3`},content:(0,g.jsx)(y,{daily:S,lang:r,models:n,totalLabel:d})}),m.map((e,t)=>(0,g.jsx)(c,{type:`monotone`,dataKey:e,stackId:`cost`,stroke:_[t%_.length],strokeWidth:1.5,fill:`url(#cost-${e})`,isAnimationActive:!1,dot:!1,activeDot:{r:3,strokeWidth:1.2}},e))]})})}),(0,g.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-[10px] text-muted`,children:n.map((e,t)=>(0,g.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,g.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:_[t%_.length]}}),e.label]},e.id))})]})}export{b as CostChart}; \ No newline at end of file diff --git a/internal/webui/static/assets/TrafficChart-Coc8DRxt.js b/internal/webui/static/assets/TrafficChart-Coc8DRxt.js deleted file mode 100644 index ab0cbbc1..00000000 --- a/internal/webui/static/assets/TrafficChart-Coc8DRxt.js +++ /dev/null @@ -1,53 +0,0 @@ -import{a as e,c as t,d as n,i as r,l as i,n as a,o,r as s,s as c,t as l,u}from"./index-Cw2HWBTj.js";var d=`dangerouslySetInnerHTML.onCopy.onCopyCapture.onCut.onCutCapture.onPaste.onPasteCapture.onCompositionEnd.onCompositionEndCapture.onCompositionStart.onCompositionStartCapture.onCompositionUpdate.onCompositionUpdateCapture.onFocus.onFocusCapture.onBlur.onBlurCapture.onChange.onChangeCapture.onBeforeInput.onBeforeInputCapture.onInput.onInputCapture.onReset.onResetCapture.onSubmit.onSubmitCapture.onInvalid.onInvalidCapture.onLoad.onLoadCapture.onError.onErrorCapture.onKeyDown.onKeyDownCapture.onKeyPress.onKeyPressCapture.onKeyUp.onKeyUpCapture.onAbort.onAbortCapture.onCanPlay.onCanPlayCapture.onCanPlayThrough.onCanPlayThroughCapture.onDurationChange.onDurationChangeCapture.onEmptied.onEmptiedCapture.onEncrypted.onEncryptedCapture.onEnded.onEndedCapture.onLoadedData.onLoadedDataCapture.onLoadedMetadata.onLoadedMetadataCapture.onLoadStart.onLoadStartCapture.onPause.onPauseCapture.onPlay.onPlayCapture.onPlaying.onPlayingCapture.onProgress.onProgressCapture.onRateChange.onRateChangeCapture.onSeeked.onSeekedCapture.onSeeking.onSeekingCapture.onStalled.onStalledCapture.onSuspend.onSuspendCapture.onTimeUpdate.onTimeUpdateCapture.onVolumeChange.onVolumeChangeCapture.onWaiting.onWaitingCapture.onAuxClick.onAuxClickCapture.onClick.onClickCapture.onContextMenu.onContextMenuCapture.onDoubleClick.onDoubleClickCapture.onDrag.onDragCapture.onDragEnd.onDragEndCapture.onDragEnter.onDragEnterCapture.onDragExit.onDragExitCapture.onDragLeave.onDragLeaveCapture.onDragOver.onDragOverCapture.onDragStart.onDragStartCapture.onDrop.onDropCapture.onMouseDown.onMouseDownCapture.onMouseEnter.onMouseLeave.onMouseMove.onMouseMoveCapture.onMouseOut.onMouseOutCapture.onMouseOver.onMouseOverCapture.onMouseUp.onMouseUpCapture.onSelect.onSelectCapture.onTouchCancel.onTouchCancelCapture.onTouchEnd.onTouchEndCapture.onTouchMove.onTouchMoveCapture.onTouchStart.onTouchStartCapture.onPointerDown.onPointerDownCapture.onPointerMove.onPointerMoveCapture.onPointerUp.onPointerUpCapture.onPointerCancel.onPointerCancelCapture.onPointerEnter.onPointerEnterCapture.onPointerLeave.onPointerLeaveCapture.onPointerOver.onPointerOverCapture.onPointerOut.onPointerOutCapture.onGotPointerCapture.onGotPointerCaptureCapture.onLostPointerCapture.onLostPointerCaptureCapture.onScroll.onScrollCapture.onWheel.onWheelCapture.onAnimationStart.onAnimationStartCapture.onAnimationEnd.onAnimationEndCapture.onAnimationIteration.onAnimationIterationCapture.onTransitionEnd.onTransitionEndCapture`.split(`.`);function f(e){return typeof e==`string`&&d.includes(e)}var p=n(t()),m=new Set(`aria-activedescendant.aria-atomic.aria-autocomplete.aria-busy.aria-checked.aria-colcount.aria-colindex.aria-colspan.aria-controls.aria-current.aria-describedby.aria-details.aria-disabled.aria-errormessage.aria-expanded.aria-flowto.aria-haspopup.aria-hidden.aria-invalid.aria-keyshortcuts.aria-label.aria-labelledby.aria-level.aria-live.aria-modal.aria-multiline.aria-multiselectable.aria-orientation.aria-owns.aria-placeholder.aria-posinset.aria-pressed.aria-readonly.aria-relevant.aria-required.aria-roledescription.aria-rowcount.aria-rowindex.aria-rowspan.aria-selected.aria-setsize.aria-sort.aria-valuemax.aria-valuemin.aria-valuenow.aria-valuetext.className.color.height.id.lang.max.media.method.min.name.style.target.width.role.tabIndex.accentHeight.accumulate.additive.alignmentBaseline.allowReorder.alphabetic.amplitude.arabicForm.ascent.attributeName.attributeType.autoReverse.azimuth.baseFrequency.baselineShift.baseProfile.bbox.begin.bias.by.calcMode.capHeight.clip.clipPath.clipPathUnits.clipRule.colorInterpolation.colorInterpolationFilters.colorProfile.colorRendering.contentScriptType.contentStyleType.cursor.cx.cy.d.decelerate.descent.diffuseConstant.direction.display.divisor.dominantBaseline.dur.dx.dy.edgeMode.elevation.enableBackground.end.exponent.externalResourcesRequired.fill.fillOpacity.fillRule.filter.filterRes.filterUnits.floodColor.floodOpacity.focusable.fontFamily.fontSize.fontSizeAdjust.fontStretch.fontStyle.fontVariant.fontWeight.format.from.fx.fy.g1.g2.glyphName.glyphOrientationHorizontal.glyphOrientationVertical.glyphRef.gradientTransform.gradientUnits.hanging.horizAdvX.horizOriginX.href.ideographic.imageRendering.in2.in.intercept.k1.k2.k3.k4.k.kernelMatrix.kernelUnitLength.kerning.keyPoints.keySplines.keyTimes.lengthAdjust.letterSpacing.lightingColor.limitingConeAngle.local.markerEnd.markerHeight.markerMid.markerStart.markerUnits.markerWidth.mask.maskContentUnits.maskUnits.mathematical.mode.numOctaves.offset.opacity.operator.order.orient.orientation.origin.overflow.overlinePosition.overlineThickness.paintOrder.panose1.pathLength.patternContentUnits.patternTransform.patternUnits.pointerEvents.pointsAtX.pointsAtY.pointsAtZ.preserveAlpha.preserveAspectRatio.primitiveUnits.r.radius.refX.refY.renderingIntent.repeatCount.repeatDur.requiredExtensions.requiredFeatures.restart.result.rotate.rx.ry.seed.shapeRendering.slope.spacing.specularConstant.specularExponent.speed.spreadMethod.startOffset.stdDeviation.stemh.stemv.stitchTiles.stopColor.stopOpacity.strikethroughPosition.strikethroughThickness.string.stroke.strokeDasharray.strokeDashoffset.strokeLinecap.strokeLinejoin.strokeMiterlimit.strokeOpacity.strokeWidth.surfaceScale.systemLanguage.tableValues.targetX.targetY.textAnchor.textDecoration.textLength.textRendering.to.transform.u1.u2.underlinePosition.underlineThickness.unicode.unicodeBidi.unicodeRange.unitsPerEm.vAlphabetic.values.vectorEffect.version.vertAdvY.vertOriginX.vertOriginY.vHanging.vIdeographic.viewTarget.visibility.vMathematical.widths.wordSpacing.writingMode.x1.x2.x.xChannelSelector.xHeight.xlinkActuate.xlinkArcrole.xlinkHref.xlinkRole.xlinkShow.xlinkTitle.xlinkType.xmlBase.xmlLang.xmlns.xmlnsXlink.xmlSpace.y1.y2.y.yChannelSelector.z.zoomAndPan.ref.key.angle`.split(`.`));function h(e){return typeof e==`string`&&m.has(e)}function g(e){return typeof e==`string`&&e.startsWith(`data-`)}function _(e){if(typeof e!=`object`||!e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(h(n)||g(n))&&(t[n]=e[n]);return t}function v(e){if(e==null)return null;if((0,p.isValidElement)(e)&&typeof e.props==`object`&&e.props!==null){var t=e.props;return _(t)}return typeof e==`object`&&!Array.isArray(e)?_(e):null}function y(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(h(n)||g(n)||f(n))&&(t[n]=e[n]);return t}function b(e){return e==null?null:(0,p.isValidElement)(e)?y(e.props):typeof e==`object`&&!Array.isArray(e)?y(e):null}var x=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.width,i=e.height,a=e.viewBox,s=e.className,c=e.style,l=e.title,u=e.desc,d=C(e,x),f=a||{width:r,height:i,x:0,y:0},m=o(`recharts-surface`,s);return p.createElement(`svg`,S({},y(d),{className:m,width:r,height:i,style:c,viewBox:`${f.x} ${f.y} ${f.width} ${f.height}`,ref:t}),p.createElement(`title`,null,l),p.createElement(`desc`,null,u),n)}),E=[`children`,`className`];function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.className,i=O(e,E),a=o(`recharts-layer`,r);return p.createElement(`g`,D({className:a},y(i),{ref:t}),n)});function j(e){return e===`__proto__`}var M=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function N(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:M.test(e);default:return!1}}function ee(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function te(e){return typeof e==`symbol`||e instanceof Symbol}function ne(e){return e==null?``:re(e)}function re(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(re).join(`,`);if(te(e))return e.toString();let t=e+``;return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function ie(e){if(Array.isArray(e))return e.map(ee);if(typeof e==`symbol`)return[e];e=ne(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r1&&arguments[1]!==void 0?arguments[1]:se),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function P(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+ce(i)+n},``)}var le=e=>e===0?0:e>0?1:-1,ue=e=>typeof e==`number`&&e!=+e,de=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,F=e=>(typeof e==`number`||e instanceof Number)&&!ue(e),fe=e=>F(e)||typeof e==`string`,pe=0,me=e=>{var t=++pe;return`${e||``}${t}`},he=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(!F(e)&&typeof e!=`string`)return n;var i;if(de(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return ue(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},ge=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;re&&(typeof t==`function`?t(e):ae(e,t))===n)}var I=e=>e==null,ye=e=>I(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function be(e){return e!=null}function xe(){}function Se(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function Ce(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function we(e){for(var t=1;t{var t=e.viewBox,n=e.position,r=e.offset,i=r===void 0?0:r,a=e.parentViewBox,o=e.clamp,s=Se(t),c=s.x,l=s.y,u=s.height,d=s.upperWidth,f=s.lowerWidth,p=c,m=c+(d-f)/2,h=(p+m)/2,g=(d+f)/2,_=p+d/2,v=u>=0?1:-1,y=v*i,b=v>0?`end`:`start`,x=v>0?`start`:`end`,S=d>=0?1:-1,C=S*i,w=S>0?`end`:`start`,T=S>0?`start`:`end`,E=a;if(n===`top`){var D={x:p+d/2,y:l-y,horizontalAnchor:`middle`,verticalAnchor:b};return o&&E&&(D.height=Math.max(l-E.y,0),D.width=d),D}if(n===`bottom`){var O={x:m+f/2,y:l+u+y,horizontalAnchor:`middle`,verticalAnchor:x};return o&&E&&(O.height=Math.max(E.y+E.height-(l+u),0),O.width=f),O}if(n===`left`){var k={x:h-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`};return o&&E&&(k.width=Math.max(k.x-E.x,0),k.height=u),k}if(n===`right`){var A={x:h+g+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`};return o&&E&&(A.width=Math.max(E.x+E.width-A.x,0),A.height=u),A}var j=o&&E?{width:g,height:u}:{};return n===`insideLeft`?we({x:h+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`},j):n===`insideRight`?we({x:h+g-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`},j):n===`insideTop`?we({x:p+d/2,y:l+y,horizontalAnchor:`middle`,verticalAnchor:x},j):n===`insideBottom`?we({x:m+f/2,y:l+u-y,horizontalAnchor:`middle`,verticalAnchor:b},j):n===`insideTopLeft`?we({x:p+C,y:l+y,horizontalAnchor:T,verticalAnchor:x},j):n===`insideTopRight`?we({x:p+d-C,y:l+y,horizontalAnchor:w,verticalAnchor:x},j):n===`insideBottomLeft`?we({x:m+C,y:l+u-y,horizontalAnchor:T,verticalAnchor:b},j):n===`insideBottomRight`?we({x:m+f-C,y:l+u-y,horizontalAnchor:w,verticalAnchor:b},j):n&&typeof n==`object`&&(F(n.x)||de(n.x))&&(F(n.y)||de(n.y))?we({x:c+he(n.x,g),y:l+he(n.y,u),horizontalAnchor:`end`,verticalAnchor:`end`},j):we({x:_,y:l+u/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},j)},ke=[`top`,`left`,`right`,`bottom`];function Ae(e){return e==null?!1:typeof e==`object`||ke.includes(e)}var je=(0,p.createContext)(null);function L(e){return function(){return e}}var Me=Math.PI,Ne=2*Me,Pe=1e-6,Fe=Ne-Pe;function Ie(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw Error(`invalid digits: ${e}`);if(t>15)return Ie;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;tPe){if(!(Math.abs(u*s-c*l)>Pe)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Me-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Pe&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Pe||Math.abs(this._y1-l)>Pe)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Ne+Ne),d>Fe?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Pe&&this._append`A${n},${n},0,${+(d>=Me)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Re.prototype;function ze(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Re(t)}Array.prototype.slice;function Be(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Ve(e){this._context=e}Ve.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function He(e){return new Ve(e)}function Ue(e){return e[0]}function We(e){return e[1]}function Ge(e,t){var n=L(!0),r=null,i=He,a=null,o=ze(s);e=typeof e==`function`?e:e===void 0?Ue:L(e),t=typeof t==`function`?t:t===void 0?We:L(t);function s(s){var c,l=(s=Be(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Ge().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:L(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:L(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:L(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:L(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:L(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:L(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:L(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var qe=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}};function Je(e){return new qe(e,!0)}function Ye(e){return new qe(e,!1)}function Xe(){}function Ze(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Qe(e){this._context=e}Qe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ze(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ze(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $e(e){return new Qe(e)}function et(e){this._context=e}et.prototype={areaStart:Xe,areaEnd:Xe,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Ze(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function tt(e){return new et(e)}function nt(e){this._context=e}nt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Ze(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function rt(e){return new nt(e)}function it(e){this._context=e}it.prototype={areaStart:Xe,areaEnd:Xe,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function at(e){return new it(e)}function ot(e){return e<0?-1:1}function st(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(ot(a)+ot(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function ct(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function lt(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function ut(e){this._context=e}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:lt(this,this._t0,ct(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,lt(this,ct(this,n=st(this,e,t)),n);break;default:lt(this,this._t0,n=st(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function dt(e){this._context=new ft(e)}(dt.prototype=Object.create(ut.prototype)).point=function(e,t){ut.prototype.point.call(this,t,e)};function ft(e){this._context=e}ft.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function pt(e){return new ut(e)}function mt(e){return new dt(e)}function ht(e){this._context=e}ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n){if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=gt(e),i=gt(t),a=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function yt(e){return new vt(e,.5)}function bt(e){return new vt(e,0)}function xt(e){return new vt(e,1)}function St(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n=0;)n[t]=t;return n}function wt(e,t){return e[t]}function Tt(e){let t=[];return t.key=e,t}function Et(){var e=L([]),t=Ct,n=St,r=wt;function i(i){var a=Array.from(e.apply(this,arguments),Tt),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o0){for(var n,r,i=0,a=e[0].length,o;i0){for(var n=0,r=e[t[0]],i,a=r.length;n0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r`radius`in e&&`startAngle`in e&&`endAngle`in e,jt=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,p.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{f(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},Mt=(e,t,n)=>r=>(e(t,n,r),null),Nt=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];f(i)&&typeof a==`function`&&(r||={},r[i]=Mt(a,t,n))}),r};function Pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function Bt(e,t){let n=new Map;for(let r=0;r=0}function Wt(e){return e!=null&&typeof e!=`function`&&Ut(e.length)}function Gt(e){return function(t){return ae(t,e)}}function Kt(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function qt(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Jt(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function Yt(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var Xt=`[object RegExp]`,Zt=`[object String]`,Qt=`[object Number]`,$t=`[object Boolean]`,en=`[object Arguments]`,tn=`[object Symbol]`,nn=`[object Date]`,rn=`[object Map]`,an=`[object Set]`,on=`[object Array]`,sn=`[object Function]`,cn=`[object ArrayBuffer]`,ln=`[object Object]`,un=`[object Error]`,dn=`[object DataView]`,fn=`[object Uint8Array]`,pn=`[object Uint8ClampedArray]`,mn=`[object Uint16Array]`,hn=`[object Uint32Array]`,gn=`[object BigUint64Array]`,_n=`[object Int8Array]`,vn=`[object Int16Array]`,yn=`[object Int32Array]`,bn=`[object BigInt64Array]`,xn=`[object Float32Array]`,Sn=`[object Float64Array]`,Cn=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})();function wn(e){return Cn.Buffer!==void 0&&Cn.Buffer.isBuffer(e)}function Tn(e,t){return En(e,void 0,e,new Map,t)}function En(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(Kt(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;avoid 0)}function Nn(e,t,n,r,i=!1){if(t===e)return!0;switch(typeof t){case`object`:return Pn(e,t,n,r,i);case`function`:return Object.keys(t).length>0?Nn(e,{...t},n,r,i):An(e,t);default:return jn(e)&&i?typeof t!=`string`||t===``:An(e,t)}}function Pn(e,t,n,r,i=!1){if(t==null)return!0;if(Array.isArray(t))return In(e,t,n,r);if(t instanceof Map)return Fn(e,t,n,r);if(t instanceof Set)return Ln(e,t,n,r);let a=Object.keys(t);if(e==null)return i&&a.length===0;if(i)Kt(e)&&(e=Object(e));else{let t=Yt(e);if(t!==`[object Object]`&&t!==`[object Arguments]`)return!1}if(a.length===0)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let i=0;ivoid 0)}function zn(e){return e=kn(e),t=>Rn(t,e)}function Bn(e,t){return Tn(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(Yt(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),Dn(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case Qt:case Zt:case $t:{let t=new e.constructor(e?.valueOf());return Dn(t,e),t}case en:{let t={};return Dn(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function Vn(e){return Bn(e)}var Hn=/^(?:0|[1-9]\d*)$/;function Un(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e{var n=t(),i=r();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=i.useSyncExternalStore,c=n.useRef,l=n.useEffect,u=n.useMemo,d=n.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),Qn=i(((e,t)=>{t.exports=Zn()})),$n=(0,p.createContext)(null),er=Qn(),tr=e=>e,R=()=>{var e=(0,p.useContext)($n);return e?e.store.dispatch:tr},nr=()=>{},rr=()=>nr,ir=(e,t)=>e===t;function z(e){var t=(0,p.useContext)($n),n=(0,p.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:nr,[t,e]);return(0,er.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:rr,t?t.store.getState:nr,t?t.store.getState:nr,n,ir)}function ar(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function or(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var sr=e=>Array.isArray(e)?e:[e];function cr(e){let t=Array.isArray(e[0])?e[0]:e;return or(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function lr(e,t){let n=[],{length:r}=e;for(let i=0;i`u`?ur:WeakRef,fr=0,pr=1;function mr(){return{s:fr,v:void 0,o:null,p:null}}function hr(e){return e instanceof dr?e.deref():e}function gr(e,t={}){let n=mr(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e{n=mr(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function _r(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),ar(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=gr,argsMemoizeOptions:u=[]}={...n,...a},d=sr(c),f=sr(u),p=cr(e),m=s(function(){return t++,o.apply(null,arguments)},...d),h=l(function(){r++;let e=lr(p,arguments);return i=m.apply(null,e),i},...f);return Object.assign(h,{resultFunc:o,memoizedResultFunc:m,dependencies:p,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var B=_r(gr);function vr(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a{if(e!==t){let r=br(e),i=br(t);if(r===i&&r===0){if(et)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0},Sr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Cr=/^\w*$/;function wr(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||te(e)?!0:typeof e==`string`&&(Cr.test(e)||!Sr.test(e))||t!=null&&Object.hasOwn(t,e)}function Tr(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=Wt(e)?Array.from(e):Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||wr(e)?e:{key:e,path:ie(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;re.original)}function Er(e,...t){let n=t.length;return n>1&&yr(e,t[0],t[1])?t=[]:n>2&&yr(t[0],t[1],t[2])&&(t=[t[0]]),Tr(e,vr(t),[`asc`])}var Dr=e=>e.legend.settings,Or=e=>e.legend.size;B([e=>e.legend.payload,Dr],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?Er(r,n):r});function kr(e,t){return Pr(e)||Nr(e,t)||jr(e,t)||Ar()}function Ar(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jr(e,t){if(e){if(typeof e==`string`)return Mr(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mr(e,t):void 0}}function Mr(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nFr||Math.abs(e.left-t.left)>Fr||Math.abs(e.top-t.top)>Fr||Math.abs(e.width-t.width)>Fr}function Lr(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Rr(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=kr((0,p.useState)({height:0,left:0,top:0,width:0}),2),n=t[0],r=t[1],i=(0,p.useRef)(null),a=(0,p.useRef)(n);a.current=n;var o=(0,p.useCallback)(e=>{if(i.current!=null&&(i.current.disconnect(),i.current=null),e!=null){var t=Lr(e);if(Ir(t,a.current)&&r(t),typeof ResizeObserver<`u`){var n=new ResizeObserver(()=>{var t=Lr(e);Ir(t,a.current)&&r(t)});n.observe(e),i.current=n}}},[...e]);return(0,p.useEffect)(()=>()=>{var e;(e=i.current)==null||e.disconnect()},[]),[n,o]}function zr(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Br=typeof Symbol==`function`&&Symbol.observable||`@@observable`,Vr=()=>Math.random().toString(36).substring(7).split(``).join(`.`),Hr={INIT:`@@redux/INIT${Vr()}`,REPLACE:`@@redux/REPLACE${Vr()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Vr()}`};function Ur(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Wr(e,t,n){if(typeof e!=`function`)throw Error(zr(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(zr(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(zr(1));return n(Wr)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(zr(3));return i}function d(e){if(typeof e!=`function`)throw Error(zr(4));if(c)throw Error(zr(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(zr(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!Ur(e))throw Error(zr(7));if(e.type===void 0)throw Error(zr(8));if(typeof e.type!=`string`)throw Error(zr(17));if(c)throw Error(zr(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(zr(10));r=e,f({type:Hr.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(zr(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[Br](){return this}}}return f({type:Hr.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[Br]:m}}function Gr(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:Hr.INIT})===void 0)throw Error(zr(12));if(n(void 0,{type:Hr.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(zr(13))})}function Kr(e){let t=Object.keys(e),n={};for(let r=0;re:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function Jr(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(zr(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=qr(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function Yr(e){return Ur(e)&&`type`in e&&typeof e.type==`string`}var Xr=Symbol.for(`immer-nothing`),Zr=Symbol.for(`immer-draftable`),Qr=Symbol.for(`immer-state`);function $r(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ei=Object,ti=ei.getPrototypeOf,ni=`constructor`,ri=`prototype`,ii=`configurable`,ai=`enumerable`,oi=`writable`,si=`value`,ci=e=>!!e&&!!e[Qr];function li(e){return e?fi(e)||yi(e)||!!e[Zr]||!!e[ni]?.[Zr]||bi(e)||xi(e):!1}var ui=ei[ri][ni].toString(),di=new WeakMap;function fi(e){if(!e||!Si(e))return!1;let t=ti(e);if(t===null||t===ei[ri])return!0;let n=ei.hasOwnProperty.call(t,ni)&&t[ni];if(n===Object)return!0;if(!Ci(n))return!1;let r=di.get(n);return r===void 0&&(r=Function.toString.call(n),di.set(n,r)),r===ui}function pi(e,t,n=!0){mi(e)===0?(n?Reflect.ownKeys(e):ei.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function mi(e){let t=e[Qr];return t?t.type_:yi(e)?1:bi(e)?2:xi(e)?3:0}var hi=(e,t,n=mi(e))=>n===2?e.has(t):ei[ri].hasOwnProperty.call(e,t),gi=(e,t,n=mi(e))=>n===2?e.get(t):e[t],_i=(e,t,n,r=mi(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function vi(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var yi=Array.isArray,bi=e=>e instanceof Map,xi=e=>e instanceof Set,Si=e=>typeof e==`object`,Ci=e=>typeof e==`function`,wi=e=>typeof e==`boolean`;function Ti(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ei=e=>e.copy_||e.base_,Di=e=>e.modified_?e.copy_:e.base_;function Oi(e,t){if(bi(e))return new Map(e);if(xi(e))return new Set(e);if(yi(e))return Array[ri].slice.call(e);let n=fi(e);if(t===!0||t===`class_only`&&!n){let t=ei.getOwnPropertyDescriptors(e);delete t[Qr];let n=Reflect.ownKeys(t);for(let r=0;r1&&ei.defineProperties(e,{set:ji,add:ji,clear:ji,delete:ji}),ei.freeze(e),t&&pi(e,(e,t)=>{ki(t,!0)},!1),e)}function Ai(){$r(2)}var ji={[si]:Ai};function Mi(e){return e===null||!Si(e)||ei.isFrozen(e)}var Ni=`MapSet`,Pi=`Patches`,Fi=`ArrayMethods`,Ii={};function Li(e){let t=Ii[e];return t||$r(0,e),t}var Ri=e=>!!Ii[e],zi,Bi=()=>zi,Vi=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Ri(Ni)?Li(Ni):void 0,arrayMethodsPlugin_:Ri(Fi)?Li(Fi):void 0});function Hi(e,t){t&&(e.patchPlugin_=Li(Pi),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ui(e){Wi(e),e.drafts_.forEach(Ki),e.drafts_=null}function Wi(e){e===zi&&(zi=e.parent_)}var Gi=e=>zi=Vi(zi,e);function Ki(e){let t=e[Qr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function qi(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[Qr].modified_&&(Ui(t),$r(4)),li(e)&&(e=Ji(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Qr].base_,e,t)}else e=Ji(t,n);return Yi(t,e,!0),Ui(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===Xr?void 0:e}function Ji(e,t){if(Mi(t))return t;let n=t[Qr];if(!n)return ra(t,e.handledSet_,e);if(!Zi(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);ta(n,e)}return n.copy_}function Yi(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ki(t,n)}function Xi(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Zi=(e,t)=>e.scope_===t,Qi=[];function $i(e,t,n,r){let i=Ei(e),a=e.type_;if(r!==void 0&&gi(i,r,a)===t){_i(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;pi(i,(e,n)=>{if(ci(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Qi;for(let e of o)_i(i,e,n,a)}function ea(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Zi(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Di(i);$i(e,i.draft_??i,a,n),ta(i,r)})}function ta(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Xi(e)}}function na(e,t,n){let{scope_:r}=e;if(ci(n)){let i=n[Qr];Zi(i,r)&&i.callbacks_.push(function(){fa(e),$i(e,n,Di(i),t)})}else li(n)&&e.callbacks_.push(function(){let i=Ei(e);e.type_===3?i.has(n)&&ra(n,r.handledSet_,r):gi(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&ra(gi(e.copy_,t,e.type_),r.handledSet_,r)})}function ra(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||ci(e)||t.has(e)||!li(e)||Mi(e)?e:(t.add(e),pi(e,(r,i)=>{if(ci(i)){let t=i[Qr];Zi(t,n)&&(_i(e,r,Di(t),e.type_),Xi(t))}else li(i)&&ra(i,t,n)}),e)}function ia(e,t){let n=yi(e),r={type_:+!!n,scope_:t?t.scope_:Bi(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=aa;n&&(i=[r],a=oa);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var aa={get(e,t){if(t===Qr)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Ei(e);if(!hi(i,t,e.type_))return la(e,i,t);let a=i[t];if(e.finalized_||!li(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Ti(t))return a;if(a===sa(e.base_,t)||ca(e,t,a)){fa(e);let n=e.type_===1?+t:t,r=ma(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Ei(e)},ownKeys(e){return Reflect.ownKeys(Ei(e))},set(e,t,n){let r=ua(Ei(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=sa(Ei(e),t),i=r?.[Qr];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(vi(n,r)&&(n!==void 0||hi(e.base_,t,e.type_)))return!0;fa(e),da(e)}return e.copy_[t]===n&&(n!==void 0||hi(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),na(e,t,n),!0)},deleteProperty(e,t){return fa(e),sa(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),da(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Ei(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[oi]:!0,[ii]:e.type_!==1||t!==`length`,[ai]:r[ai],[si]:n[t]}},defineProperty(){$r(11)},getPrototypeOf(e){return ti(e.base_)},setPrototypeOf(){$r(12)}},oa={};for(let e in aa){let t=aa[e];oa[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}oa.deleteProperty=function(e,t){return oa.set.call(this,e,t,void 0)},oa.set=function(e,t,n){return aa.set.call(this,e[0],t,n,e[0])};function sa(e,t){let n=e[Qr];return(n?Ei(n):e)[t]}function ca(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!li(n)||n[Qr]?!1:e.baseRefs_.has(n)}function la(e,t,n){let r=ua(t,n);return r?si in r?r[si]:r.get?.call(e.draft_):void 0}function ua(e,t){if(!(t in e))return;let n=ti(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=ti(n)}}function da(e){e.modified_||(e.modified_=!0,e.parent_&&da(e.parent_))}function fa(e){e.copy_||=(e.assigned_=new Map,Oi(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var pa=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Ci(e)&&!Ci(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}Ci(t)||$r(6),n!==void 0&&!Ci(n)&&$r(7);let r;if(li(e)){let i=Gi(this),a=ma(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Ui(i):Wi(i)}return Hi(i,n),qi(r,i)}if(!e||!Si(e)){if(r=t(e),r===void 0&&(r=e),r===Xr&&(r=void 0),this.autoFreeze_&&ki(r,!0),n){let t=[],i=[];Li(Pi).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}$r(1,e)},this.produceWithPatches=(e,t)=>{if(Ci(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},wi(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),wi(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),wi(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){li(e)||$r(8),ci(e)&&(e=ha(e));let t=Gi(this),n=ma(t,e,void 0);return n[Qr].isManual_=!0,Wi(t),n}finishDraft(e,t){let n=e&&e[Qr];(!n||!n.isManual_)&&$r(9);let{scope_:r}=n;return Hi(r,t),qi(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Li(Pi).applyPatches_;return ci(e)?r(e,t):this.produce(e,e=>r(e,t))}};function ma(e,t,n,r){let[i,a]=bi(t)?Li(Ni).proxyMap_(t,n):xi(t)?Li(Ni).proxySet_(t,n):ia(t,n);return(n?.scope_??Bi()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?ea(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function ha(e){return ci(e)||$r(10,e),ga(e)}function ga(e){if(!li(e)||Mi(e))return e;let t=e[Qr],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Oi(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Oi(e,!0);return pi(n,(e,t)=>{_i(n,e,ga(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator?.from;var _a=new pa().produce,V=e=>e;function va(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var ya=va(),ba=va,xa=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?qr:qr.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function Sa(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(jo(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>Yr(t)&&t.type===e,n}var Ca=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function wa(e){return li(e)?_a(e,()=>{}):e}function Ta(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function Ea(e){return typeof e==`boolean`}var Da=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new Ca;return t&&(Ea(t)?a.push(ya):a.push(ba(t.extraArgument))),a},Oa=`RTK_autoBatch`,H=()=>e=>({payload:e,meta:{[Oa]:!0}}),ka=e=>t=>{setTimeout(t,e)},Aa=(e,t)=>n=>{let r=!1,i=()=>{r||(r=!0,cancelAnimationFrame(a),clearTimeout(o),n())},a=e(i),o=setTimeout(i,t)},ja=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?Aa(window.requestAnimationFrame,100):ka(10):e.type===`callback`?e.queueNotification:ka(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[Oa],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},Ma=e=>function(t){let{autoBatch:n=!0}=t??{},r=new Ca(e);return n&&r.push(ja(typeof n==`object`?n:void 0)),r};function Na(e){let t=Da(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(Ur(n))c=Kr(n);else throw Error(jo(1));let l;l=typeof r==`function`?r(t):t();let u=qr;i&&(u=xa({trace:!1,...typeof i==`object`&&i}));let d=Ma(Jr(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return Wr(c,o,p)}function Pa(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(jo(28));if(r in t)throw Error(jo(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function Fa(e){return typeof e==`function`}function Ia(e,t){let[n,r,i]=Pa(t),a;if(Fa(e))a=()=>wa(e());else{let t=wa(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n){if(ci(e)){let r=n(e,t);return r===void 0?e:r}if(li(e))return _a(e,e=>n(e,t));{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}}return e},e)}return o.getInitialState=a,o}var La=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,Ra=(e=21)=>{let t=``,n=e;for(;n--;)t+=La[Math.random()*64|0];return t},za=Symbol.for(`rtk-slice-createasyncthunk`);function Ba(e,t){return`${e}/${t}`}function Va({creators:e}={}){let t=e?.asyncThunk?.[za];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error(jo(11));let i=(typeof e.reducers==`function`?e.reducers(Wa()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error(jo(12));if(n in o.sliceCaseReducersByType)throw Error(jo(13));return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:Ba(n,r),createNotation:typeof e.reducers==`function`};Ka(a)?Ja(o,a,s,t):Ga(o,a,s)});function c(){let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?Pa(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return Ia(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];return i===void 0&&n&&(i=Ta(d,r,m)),i}function i(t=l){return Ta(Ta(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=Ha(a,t,()=>Ta(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function Ha(e,t,n,r){function i(i,...a){let o=t(i);return o===void 0&&r&&(o=n()),e(o,...a)}return i.unwrapped=e,i}var Ua=Va();function Wa(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function Ga({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!qa(r))throw Error(jo(17));a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?Sa(e,o):Sa(e))}function Ka(e){return e._reducerDefinitionType===`asyncThunk`}function qa(e){return e._reducerDefinitionType===`reducerWithPrepare`}function Ja({type:e,reducerName:t},n,r,i){if(!i)throw Error(jo(18));let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||Ya,pending:s||Ya,rejected:c||Ya,settled:l||Ya})}function Ya(){}var Xa=`task`,Za=`listener`,Qa=`completed`,$a=`cancelled`,eo=`task-${$a}`,to=`task-${Qa}`,no=`${Za}-${$a}`,ro=`${Za}-${Qa}`,io=class{constructor(e){this.code=e,this.message=`${Xa} ${$a} (reason: ${e})`}code;name=`TaskAbortError`;message},ao=(e,t)=>{if(typeof e!=`function`)throw TypeError(jo(32))},oo=()=>{},so=(e,t=oo)=>(e.catch(t),e),co=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),lo=e=>{if(e.aborted)throw new io(e.reason)};function uo(e,t){let n=oo;return new Promise((r,i)=>{let a=()=>i(new io(e.reason));if(e.aborted){a();return}n=co(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=oo})}var fo=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof io?`cancelled`:`rejected`,error:e}}finally{t?.()}},po=e=>t=>so(uo(e,t).then(t=>(lo(e),t))),mo=e=>{let t=po(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:ho}=Object,go={},_o=`listenerMiddleware`,vo=(e,t)=>{let n=t=>co(e,()=>t.abort(e.reason));return(r,i)=>{ao(r,`taskExecutor`);let a=new AbortController;n(a);let o=fo(async()=>{lo(e),lo(a.signal);let t=await r({pause:po(a.signal),delay:mo(a.signal),signal:a.signal});return lo(a.signal),t},()=>a.abort(to));return i?.autoJoin&&t.push(o.catch(oo)),{result:po(e)(o),cancel(){a.abort(eo)}}}},yo=(e,t)=>{let n=async(n,r)=>{lo(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await uo(t,Promise.race(a));return lo(t),e}finally{i()}};return((e,t)=>so(n(e,t)))},bo=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=Sa(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(jo(21));return ao(a,`options.listener`),{predicate:i,type:t,effect:a}},xo=ho(e=>{let{type:t,predicate:n,effect:r}=bo(e);return{id:Ra(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(jo(22))}}},{withTypes:()=>xo}),So=(e,t)=>{let{type:n,effect:r,predicate:i}=bo(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},Co=e=>{e.pending.forEach(e=>{e.abort(no)})},wo=(e,t)=>()=>{for(let e of t.keys())Co(e);e.clear()},To=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},Eo=ho(Sa(`${_o}/add`),{withTypes:()=>Eo}),Do=Sa(`${_o}/removeAll`),Oo=ho(Sa(`${_o}/remove`),{withTypes:()=>Oo}),ko=(...e)=>{console.error(`${_o}/error`,...e)},Ao=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=ko}=e;ao(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&Co(e)}),c=(e=>{let n=So(t,e)??xo(e);return s(n)});ho(c,{withTypes:()=>c});let l=e=>{let n=So(t,e);return n&&(n.unsubscribe(),e.cancelActive&&Co(n)),!!n};ho(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=yo(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,ho({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:mo(u.signal),pause:po(u.signal),extra:a,signal:u.signal,fork:vo(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(no),n.delete(e))})},cancel:()=>{u.abort(no),e.pending.delete(u)},throwIfCancelled:()=>{lo(u.signal)}})))}catch(e){e instanceof io||To(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort(ro),i(e),e.pending.delete(u)}},d=wo(t,n);return{middleware:e=>n=>r=>{if(!Yr(r))return n(r);if(Eo.match(r))return c(r.payload);if(Do.match(r)){d();return}if(Oo.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===go)throw Error(jo(23));return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,To(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=go}return s},startListening:c,stopListening:l,clearListeners:d}};function jo(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Mo=Ua({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),No=Mo.actions,Po=No.setMargin,Fo=No.setLayout,Io=No.setChartSize,Lo=No.setScale,Ro=Mo.reducer;function zo(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function U(e){return Number.isFinite(e)}function Bo(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function Vo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ho(e){for(var t=1;t{if(t&&n){var r=n.width,i=n.height,a=t.align,o=t.verticalAlign,s=t.layout,c=t.position,l=t.offset,u=l===void 0?0:l;if(c!=null){if(Ae(c)){if(c===`top`&&F(e.top))return Ho(Ho({},e),{},{top:e.top+(i||0)+u});if(c===`bottom`&&F(e.bottom))return Ho(Ho({},e),{},{bottom:e.bottom+(i||0)+u});if(c===`left`&&F(e.left))return Ho(Ho({},e),{},{left:e.left+(r||0)+u});if(c===`right`&&F(e.right))return Ho(Ho({},e),{},{right:e.right+(r||0)+u})}return e}if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&F(e[a]))return Ho(Ho({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&F(e[o]))return Ho(Ho({},e),{},{[o]:e[o]+(i||0)})}return e},qo=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,Jo=(e,t,n,r)=>{if(r)return e.map(e=>e.coordinate);var i,a,o=e.map(e=>(e.coordinate===t&&(i=!0),e.coordinate===n&&(a=!0),e.coordinate));return i||o.push(t),a||o.push(n),o},Yo=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,s=e.realScaleType,c=e.isCategorical,l=e.categoricalDomain,u=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var m=s===`scaleBand`&&o.bandwidth?o.bandwidth()/2:2,h=(t||n)&&i===`category`&&o.bandwidth?o.bandwidth()/m:0;return h=p===`angleAxis`&&a&&a.length>=2?le(a[0]-a[1])*2*h:h,t&&(d||f)?(d||f||[]).map((e,t)=>{var n=r?r.indexOf(e):e,i=o.map(n);return U(i)?{coordinate:i+h,value:e,offset:h,index:t}:null}).filter(be):c&&l?l.map((e,t)=>{var n=o.map(e);return U(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(be):o.ticks&&!n&&u!=null?o.ticks(u).map((e,t)=>{var n=o.map(e);return U(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(be):o.domain().map((e,t)=>{var n=o.map(e);return U(n)?{coordinate:n+h,value:r?r[e]:e,index:t,offset:h}:null}).filter(be)},Xo={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:Dt,none:St,silhouette:Ot,wiggle:kt,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},Zo=(e,t,n)=>{var r=Xo[n]??St,i=Et().keys(t).value((e,t)=>Number(W(e,t,0))).order(Ct).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=W(e[i],t[r],0);Array.isArray(a)&&a.length===2&&F(a[0])&&F(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i};function Qo(e){return e==null?void 0:String(e)}function $o(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type===`category`){if(!t.allowDuplicatedCategory&&t.dataKey&&!I(i[t.dataKey])){var s=ve(n,`value`,i[t.dataKey]);if(s)return s.coordinate+r/2}return n!=null&&n[a]?n[a].coordinate+r/2:null}var c=W(i,I(o)?t.dataKey:o),l=t.scale.map(c);return F(l)?l:null}var es=e=>{var t=e.flat(2).filter(F);return[Math.min(...t),Math.max(...t)]},ts=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],ns=(e,t,n)=>{if(e!=null&&Object.keys(e).length!==0)return ts(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var o=a.stackedData.reduce((e,r)=>{var i=es(zo(r,t,n));return!U(i[0])||!U(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},rs=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,is=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,as=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=Er(t,e=>e.coordinate),a=[],o=0,s=1,c=i.length;su&&(d=Math.min(f,d));return d===1/0?0:d}return n?void 0:0};function os(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,i=e.value,a=e.name;return Ho(Ho({},t),{},{dataKey:n,payload:r,value:i,name:a})}function ss(e,t){if(e!=null)return String(e);if(typeof t==`string`)return t}var cs=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},ls=(e,t)=>t===`centric`?e.angle:e.radius,us=e=>e.layout.width,ds=e=>e.layout.height,fs=e=>e.layout.scale,ps=e=>e.layout.margin,ms=B(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),hs=B(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),gs=`data-recharts-item-index`;function _s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function vs(e){for(var t=1;te.brush.height;function Cs(e){return hs(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function ws(e){return hs(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function Ts(e){return ms(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}function Es(e){return ms(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}var Ds=B([us,ds,ps,Ss,Cs,ws,Ts,Es,Dr,Or],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=vs(vs({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=Ko(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return vs(vs({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),Os=B(Ds,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),ks=B(us,ds,(e,t)=>({x:0,y:0,width:e,height:t})),As=(0,p.createContext)(null),js=()=>(0,p.useContext)(As)!=null,Ms=e=>e.brush,Ns=B([Ms,Ds,ps],(e,t,n)=>({height:e.height,x:F(e.x)?e.x:t.left,y:F(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:F(e.width)?e.width:t.width}));function Ps(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function Fs(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:r=!1,trailing:i=!0,maxWait:a}=n,o=[,,];r&&(o[0]=`leading`),i&&(o[1]=`trailing`);let s,c=null,l=Ps(function(...t){s=e.apply(this,t),c=null},t,{edges:o}),u=function(...t){return a!=null&&(c===null&&(c=Date.now()),Date.now()-c>=a)?((r||i)&&(s=e.apply(this,t)),c=Date.now(),l.cancel(),l.schedule(),s):(l.apply(this,t),s)};return u.cancel=l.cancel,u.flush=()=>(l.flush(),s),u}function Is(e,t=0,n={}){let{leading:r=!0,trailing:i=!0}=n;return Fs(e,t,{leading:r,maxWait:t,trailing:i})}var Ls=function(e,t){var n=[...arguments].slice(2);if(typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e)){if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}}},Rs={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},zs=(e,t,n)=>{var r=n.width,i=r===void 0?Rs.width:r,a=n.height,o=a===void 0?Rs.height:a,s=n.aspect,c=n.maxHeight,l=de(i)?e:Number(i),u=de(o)?t:Number(o);return s&&s>0&&(l?u=l/s:u&&(l=u*s),c&&u!=null&&u>c&&(u=c)),{calculatedWidth:l,calculatedHeight:u}},Bs={width:0,height:0,overflow:`visible`},Vs={width:0,overflowX:`visible`},Hs={height:0,overflowY:`visible`},Us={},Ws=e=>{var t=e.width,n=e.height,r=de(t),i=de(n);return r&&i?Bs:r?Vs:i?Hs:Us};function Gs(e){var t=e.width,n=e.height,r=e.aspect,i=t,a=n;return i===void 0&&a===void 0?(i=Rs.width,a=Rs.height):i===void 0?i=r&&r>0?void 0:Rs.width:a===void 0&&(a=r&&r>0?void 0:Rs.height),{width:i,height:a}}var Ks=[`aspect`,`initialDimension`,`width`,`height`,`minWidth`,`minHeight`,`maxHeight`,`children`,`debounce`,`id`,`className`,`onResize`,`style`];function qs(){return qs=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n({width:n,height:r}),[n,r]);return cc(i)?p.createElement(sc.Provider,{value:i},t):null}var uc=()=>(0,p.useContext)(sc),dc=(0,p.forwardRef)((e,t)=>{var n=e.aspect,r=e.initialDimension,i=r===void 0?Rs.initialDimension:r,a=e.width,s=e.height,c=e.minWidth,l=c===void 0?Rs.minWidth:c,u=e.minHeight,d=e.maxHeight,f=e.children,m=e.debounce,h=m===void 0?Rs.debounce:m,g=e.id,_=e.className,v=e.onResize,y=e.style,b=y===void 0?{}:y,x=ac(e,Ks),S=(0,p.useRef)(null),C=(0,p.useRef)();C.current=v,(0,p.useImperativeHandle)(t,()=>S.current);var w=$s((0,p.useState)({containerWidth:i.width,containerHeight:i.height}),2),T=w[0],E=w[1],D=(0,p.useCallback)((e,t)=>{E(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,p.useEffect)(()=>{if(S.current==null||typeof ResizeObserver>`u`)return xe;var e=e=>{var t,n=e[0];if(n!=null){var r=n.contentRect,i=r.width,a=r.height;D(i,a),(t=C.current)==null||t.call(C,i,a)}};h>0&&(e=Is(e,h,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=S.current.getBoundingClientRect(),r=n.width,i=n.height;return D(r,i),t.observe(S.current),()=>{t.disconnect()}},[D,h]);var O=T.containerWidth,k=T.containerHeight;Ls(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var A=zs(O,k,{width:a,height:s,aspect:n,maxHeight:d}),j=A.calculatedWidth,M=A.calculatedHeight;return Ls(O<0||k<0||j!=null&&j>0||M!=null&&M>0,`The width(%s) and height(%s) of chart should be greater than 0, - please check the style of container, or the props width(%s) and height(%s), - or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,j,M,a,s,l,u,n),p.createElement(`div`,qs({id:g?`${g}`:void 0,className:o(`recharts-responsive-container`,_),style:Ys(Ys({},b),{},{width:a,height:s,minWidth:l,minHeight:u,maxHeight:d}),ref:S},x),p.createElement(`div`,{style:Ws({width:a,height:s})},p.createElement(lc,{width:j,height:M},f)))}),fc=(0,p.forwardRef)((e,t)=>{var n=uc();if(Bo(n.width)&&Bo(n.height))return e.children;var r=Gs({width:e.width,height:e.height,aspect:e.aspect}),i=r.width,a=r.height,o=zs(void 0,void 0,{width:i,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),s=o.calculatedWidth,c=o.calculatedHeight;return F(s)&&F(c)?p.createElement(lc,{width:s,height:c},e.children):p.createElement(dc,qs({},e,{width:i,height:a,ref:t}))}),pc=()=>{var e=js(),t=z(Os),n=z(Ns),r=z(Ms)?.padding;return!e||!n||!r?t:{width:n.width-r.left-r.right,height:n.height-r.top-r.bottom,x:r.left,y:r.top}},mc={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},hc=()=>z(Ds)??mc,gc=()=>z(us),_c=()=>z(ds),G=e=>e.layout.layoutType,vc=()=>z(G),yc=()=>{var e=vc();if(e===`horizontal`||e===`vertical`)return e},bc=e=>{var t=e.layout.layoutType;if(t===`centric`||t===`radial`)return t},xc=()=>vc()!==void 0,Sc=e=>{var t=R(),n=js(),r=e.width,i=e.height,a=uc(),o=r,s=i;return a&&(o=a.width>0?a.width:r,s=a.height>0?a.height:i),(0,p.useEffect)(()=>{!n&&Bo(o)&&Bo(s)&&t(Io({width:o,height:s}))},[t,n,o,s]),null},Cc=Ua({name:`legend`,initialState:{settings:{layout:`horizontal`,align:`center`,verticalAlign:`bottom`,itemSorter:`value`,position:void 0,offset:0},size:{width:0,height:0},payload:[]},reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(V(t.payload))},prepare:H()},replaceLegendPayload:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=ha(e).payload.indexOf(V(r));a>-1&&(e.payload[a]=V(i))},prepare:H()},removeLegendPayload:{reducer(e,t){var n=ha(e).payload.indexOf(V(t.payload));n>-1&&e.payload.splice(n,1)},prepare:H()}}}),wc=Cc.actions;wc.setLegendSize,wc.setLegendSettings;var Tc=wc.addLegendPayload,Ec=wc.replaceLegendPayload,Dc=wc.removeLegendPayload,Oc=Cc.reducer,kc=i((e=>{var n=t();n.useSyncExternalStore,n.useRef,n.useEffect,n.useMemo,n.useDebugValue}));i(((e,t)=>{t.exports=kc()}))();function Ac(e){e()}function jc(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Ac(()=>{let t=e;for(;t;)t.callback(),t=t.next})},get(){let t=[],n=e;for(;n;)t.push(n),n=n.next;return t},subscribe(n){let r=!0,i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Mc={notify(){},get:()=>[]};function Nc(e,t){let n,r=Mc,i=0,a=!1;function o(e){u();let t=r.subscribe(e),n=!1;return()=>{n||(n=!0,t(),d())}}function s(){r.notify()}function c(){m.onStateChange&&m.onStateChange()}function l(){return a}function u(){i++,n||(n=t?t.addNestedSub(c):e.subscribe(c),r=jc())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Mc)}function f(){a||(a=!0,u())}function p(){a&&(a=!1,d())}let m={addNestedSub:o,notifyNestedSubs:s,handleChangeWrapper:c,isSubscribed:l,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>r};return m}var Pc=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,Fc=typeof navigator<`u`&&navigator.product===`ReactNative`,Ic=Pc||Fc?p.useLayoutEffect:p.useEffect;function Lc(e,t){return e===t?e!==0||t!==0||1/e==1/t:e!==e&&t!==t}function Rc(e,t){if(Lc(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r=0;r{let e=Nc(i);return{store:i,subscription:e,getServerState:r?()=>r:void 0}},[i,r]),o=p.useMemo(()=>i.getState(),[i]);Ic(()=>{let{subscription:e}=a;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),o!==i.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[a,o]);let s=n||Hc;return p.createElement(s.Provider,{value:a},t)}var Wc=Uc,Gc=new Set([`axisLine`,`tickLine`,`activeBar`,`activeDot`,`activeLabel`,`activeShape`,`allowEscapeViewBox`,`background`,`cursor`,`dot`,`label`,`line`,`margin`,`padding`,`position`,`shape`,`style`,`tick`,`wrapperStyle`,`radius`,`throttledEvents`]);function Kc(e,t){return e==null&&t==null?!0:typeof e==`number`&&typeof t==`number`?e===t||e!==e&&t!==t:e===t}function qc(e,t){for(var n of new Set([...Object.keys(e),...Object.keys(t)]))if(Gc.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Rc(e[n],t[n]))return!1}else if(!Kc(e[n],t[n]))return!1;return!0}function Jc(){return Jc=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.separator,n=t===void 0?sl.separator:t,r=e.contentStyle,i=e.itemStyle,a=e.labelStyle,s=a===void 0?sl.labelStyle:a,c=e.payload,l=e.formatter,u=e.itemSorter,d=e.wrapperClassName,f=e.labelClassName,m=e.label,h=e.labelFormatter,g=e.accessibilityLayer,_=g===void 0?sl.accessibilityLayer:g,v=()=>{if(c&&c.length){var e={padding:0,margin:0},t=cl(c,u).map((e,t)=>{if(!e||e.type===`none`)return null;var r=e.formatter||l||ol,a=e.value,o=e.name,s=a,u=o;if(r){var d=r(a,o,e,t,c);if(Array.isArray(d)){var f=el(d,2);s=f[0],u=f[1]}else if(d!=null)s=d;else return null}var m=Xc(Xc({},sl.itemStyle),{},{color:e.color||sl.itemStyle.color},i);return p.createElement(`li`,{className:`recharts-tooltip-item`,key:`tooltip-item-${t}`,style:m},fe(u)?p.createElement(`span`,{className:`recharts-tooltip-item-name`},u):null,fe(u)?p.createElement(`span`,{className:`recharts-tooltip-item-separator`},n):null,p.createElement(`span`,{className:`recharts-tooltip-item-value`},s),p.createElement(`span`,{className:`recharts-tooltip-item-unit`},e.unit||``))});return p.createElement(`ul`,{className:`recharts-tooltip-item-list`,style:e},t)}return null},y=Xc(Xc({},sl.contentStyle),r),b=Xc({margin:0},s),x=!I(m),S=x?m:``,C=o(`recharts-default-tooltip`,d),w=o(`recharts-tooltip-label`,f);x&&h&&c!=null&&(S=h(m,c));var T=_?{role:`status`,"aria-live":`assertive`}:{};return p.createElement(`div`,Jc({className:C,style:y},T),p.createElement(`p`,{className:w,style:b},p.isValidElement(S)?S:`${S}`),v())},ul=`recharts-tooltip-wrapper`,dl={visibility:`hidden`};function fl(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return o(ul,{[`${ul}-right`]:F(n)&&t&&F(t.x)&&n>=t.x,[`${ul}-left`]:F(n)&&t&&F(t.x)&&n=t.y,[`${ul}-top`]:F(r)&&t&&F(t.y)&&r0?i:0),d=n[r]+i;if(t[r])return o[r]?u:d;var f=c[r];return f==null?0:o[r]?Math.max(uf+l?Math.max(u,f):Math.max(d,f)}function ml(e){var t=e.translateX,n=e.translateY;return{transform:e.useTranslate3d?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function hl(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTop,i=e.offsetLeft,a=e.position,o=e.reverseDirection,s=e.tooltipBox,c=e.useTranslate3d,l=e.viewBox,u,d,f;return s&&s.height>0&&s.width>0&&n?(d=pl({allowEscapeViewBox:t,coordinate:n,key:`x`,offset:i,position:a,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=pl({allowEscapeViewBox:t,coordinate:n,key:`y`,offset:r,position:a,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),u=ml({translateX:d,translateY:f,useTranslate3d:c})):u=dl,{cssProperties:u,cssClasses:fl({translateX:d,translateY:f,coordinate:n})}}var gl={devToolsEnabled:!0,isSsr:!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)};function _l(e,t){return Sl(e)||xl(e,t)||yl(e,t)||vl()}function vl(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yl(e,t){if(e){if(typeof e==`string`)return bl(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bl(e,t):void 0}}function bl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ngl.isSsr||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),2),t=e[0],n=e[1];return(0,p.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>{n(e.matches)};return e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}}},[]),t}function wl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Tl(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),2),r=n[0],i=n[1];p.useEffect(()=>{var t=t=>{t.key===`Escape`&&i({dismissed:!0,dismissedAtCoordinate:{x:e.coordinate?.x??0,y:e.coordinate?.y??0}})};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e.coordinate?.x,e.coordinate?.y]),r.dismissed&&((e.coordinate?.x??0)!==r.dismissedAtCoordinate.x||(e.coordinate?.y??0)!==r.dismissedAtCoordinate.y)&&i(Tl(Tl({},r),{},{dismissed:!1}));var a=hl({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset==`number`?e.offset:e.offset.x,offsetTop:typeof e.offset==`number`?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),o=a.cssClasses,s=a.cssProperties,c=Tl(Tl({},e.hasPortalFromProps?{}:Tl(Tl({transition:Fl({prefersReducedMotion:t,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},s),{},{pointerEvents:`none`,position:`absolute`,top:0,left:0})),{},{visibility:!r.dismissed&&e.active&&e.hasPayload?`visible`:`hidden`},e.wrapperStyle);return p.createElement(`div`,{xmlns:`http://www.w3.org/1999/xhtml`,tabIndex:-1,className:o,style:c,ref:e.innerRef},e.children)}var Ll=p.memo(Il),Rl=()=>z(e=>e.rootProps.accessibilityLayer)??!0;function zl(){return zl=Object.assign?Object.assign.bind():function(e){for(var t=1;tU(e.x)&&U(e.y),ql=e=>e.base!=null&&Kl(e.base)&&Kl(e),Jl=e=>e.x,Yl=e=>e.y,Xl=(e,t)=>{if(typeof e==`function`)return e;var n=`curve${ye(e)}`;if((n===`curveMonotone`||n===`curveBump`)&&t){var r=Gl[`${n}${t===`vertical`?`Y`:`X`}`];if(r)return r}return Gl[n]||He},Zl={connectNulls:!1,type:`linear`},Ql=e=>{var t=e.type,n=t===void 0?Zl.type:t,r=e.points,i=r===void 0?[]:r,a=e.baseLine,o=e.layout,s=e.connectNulls,c=s===void 0?Zl.connectNulls:s,l=Xl(n,o),u=c?i.filter(Kl):i;if(Array.isArray(a)){var d,f=i.map((e,t)=>Vl(Vl({},e),{},{base:a[t]}));return d=o===`vertical`?Ke().y(Yl).x1(Jl).x0(e=>e.base.x):Ke().x(Jl).y1(Yl).y0(e=>e.base.y),d.defined(ql).curve(l)(c?f.filter(ql):f)}return(o===`vertical`&&F(a)?Ke().y(Yl).x1(Jl).x0(a):F(a)?Ke().x(Jl).y1(Yl).y0(a):Ge().x(Jl).y(Yl)).defined(Kl).curve(l)(u)},$l=e=>{var t=e.className,n=e.points,r=e.path,i=e.pathRef,a=vc();if((!n||!n.length)&&!r)return null;var s={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},c=n&&n.length?Ql(s):r;return p.createElement(`path`,zl({},_(e),jt(e),{className:o(`recharts-curve`,t),d:c===null?void 0:c,ref:i}))},eu=[`x`,`y`,`top`,`left`,`width`,`height`,`className`];function tu(){return tu=Object.assign?Object.assign.bind():function(e){for(var t=1;t`M${e},${i}v${r}M${a},${t}h${n}`,uu=e=>{var t=e.x,n=t===void 0?0:t,r=e.y,i=r===void 0?0:r,a=e.top,s=a===void 0?0:a,c=e.left,l=c===void 0?0:c,u=e.width,d=u===void 0?0:u,f=e.height,m=f===void 0?0:f,h=e.className,g=su(e,eu),_=ru({x:n,y:i,top:s,left:l,width:d,height:m},g);return!F(n)||!F(i)||!F(d)||!F(m)||!F(s)||!F(l)?null:p.createElement(`path`,tu({},y(_),{className:o(`recharts-cross`,h),d:lu(n,i,d,m,s,l)}))};function du(e,t,n,r){var i=r/2;return{stroke:`none`,fill:`#ccc`,x:e===`horizontal`?t.x-i:n.left+.5,y:e===`horizontal`?n.top+.5:t.y-i,width:e===`horizontal`?r:n.width-1,height:e===`horizontal`?n.height-1:r}}var fu=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],pu=(e,t)=>e.map((e,n)=>e*t**n).reduce((e,t)=>e+t),mu=(e,t)=>n=>pu(fu(e,t),n),hu=(e,t)=>n=>pu([...fu(e,t).map((e,t)=>e*t).slice(1),0],n),gu=e=>{var t,n=e.split(`(`);if(n.length!==2||n[0]!==`cubic-bezier`)return null;var r=(t=n[1])==null||(t=t.split(`)`)[0])==null?void 0:t.split(`,`);if(r==null||r.length!==4)return null;var i=r.map(e=>parseFloat(e));return[i[0],i[1],i[2],i[3]]},_u=function(){var e=[...arguments];if(e.length===1)switch(e[0]){case`linear`:return[0,0,1,1];case`ease`:return[.25,.1,.25,1];case`ease-in`:return[.42,0,1,1];case`ease-out`:return[.42,0,.58,1];case`ease-in-out`:return[0,0,.58,1];default:var t=gu(e[0]);if(t)return t}return e.length===4?e:[0,0,1,1]},vu=(e,t,n,r)=>{var i=mu(e,n),a=mu(t,r),o=hu(e,n),s=e=>e>1?1:e<0?0:e,c=e=>{for(var t=e>1?1:e,n=t,r=0;r<8;++r){var c=i(n)-t,l=o(n);if(Math.abs(c-t)<1e-4||l<1e-4)return a(n);n=s(n-c/l)}return a(n)};return c.isStepper=!1,c},yu=function(){return vu(..._u(...arguments))},bu=function(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.stiff,n=t===void 0?100:t,r=e.damping,i=r===void 0?8:r,a=e.dt,o=a===void 0?16.67:a,s=1,c=[0],l=0,u=0,d=1e4,f=0;f{if(e<=0)return 0;if(e>=1)return s;var t=e*h,n=Math.floor(t),r=t-n;return(c[n]??0)+((c[n+1]??0)-(c[n]??0))*r}},xu=e=>{if(typeof e==`string`)switch(e){case`ease`:case`ease-in-out`:case`ease-out`:case`ease-in`:case`linear`:return yu(e);case`spring`:return bu();default:if(e.split(`(`)[0]===`cubic-bezier`)return yu(e)}return typeof e==`function`?e:null},Su=(0,p.createContext)((e,t,n)=>{var r,i=a=>{var o=t.tick(a);if(t.getState()===`active`){if(n(t.getInterpolated()),t.getProgress()===1){t.complete(),r=void 0;return}r=e.setTimeout(i,o);return}r=e.setTimeout(i,o)};return r=e.setTimeout(i,0),()=>r?.()});Su.Provider;function Cu(e){var t=(0,p.useContext)(Su);return(0,p.useMemo)(()=>e??t,[e,t])}function wu(e,t,n){return(t=Tu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tu(e){var t=Eu(e,`string`);return typeof t==`symbol`?t:t+``}function Eu(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Du=`init`,Ou=`pending`,ku=`active`,Au=`completed`;function ju(e){return Math.max(0,e)}var Mu=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(e){var t;wu(this,`state`,Du),this.animationId=e.animationId,this.onAnimationEnd=e.onAnimationEnd,this.animationDuration=ju(e.animationDuration),this.animationBegin=ju(e.animationBegin),this.progress=0,this.from=e.from,this.to=e.to,this.easing=e.easing,(t=e.onAnimationStart)==null||t.call(e)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(e){if(this.getState()===Du)return this.state=Ou,this.beginStartedTime=e,this.animationBegin;if(this.getState()===Ou){if(this.beginStartedTime==null)throw Error();var t=e-this.beginStartedTime;return t>=this.animationBegin?(this.state=ku,this.animationStartedTime=e,this.nextAnimationUpdate(0)):ju(this.animationBegin-t)}if(this.getState()===ku){if(this.animationStartedTime==null)throw Error();var n=e-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(e){this.progress=Math.min(1,Math.max(0,e))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state===`active`){var e;(e=this.onAnimationEnd)==null||e.call(this)}this.state=Au}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},Nu=class extends Mu{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(_e(this.getFrom(),this.getTo(),this.getProgress()))}},Pu=class{setTimeout(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),r=null,i=a=>{a-n>=t?e(a):r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>{r!=null&&cancelAnimationFrame(r)}}};function Fu(e,t){return Bu(e)||zu(e,t)||Lu(e,t)||Iu()}function Iu(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lu(e,t){if(e){if(typeof e==`string`)return Ru(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ru(e,t):void 0}}function Ru(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{},onAnimationStart:()=>{}},Hu=0,Uu=1;function Wu(e){var t=zt(e,Vu),n=t.animationId,r=t.isActive,i=t.canBegin,a=t.duration,o=t.easing,s=t.begin,c=t.onAnimationEnd,l=t.onAnimationStart,u=t.children,d=Cl(),f=r===`auto`?!gl.isSsr&&!d:r,m=Cu(t.animationController),h=Fu((0,p.useState)(f?Hu:Uu),2),g=h[0],_=h[1];return(0,p.useEffect)(()=>{f||_(Uu)},[f]),(0,p.useEffect)(()=>{var e=xu(o);return!f||!i||e==null?xe:m(new Pu,new Nu({animationId:n,easing:e,animationDuration:a,animationBegin:s,onAnimationStart:l,onAnimationEnd:c,from:Hu,to:Uu}),_)},[m,n,f,i,a,o,s,l,c]),u(Number(g))}function Gu(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`animation-`,n=(0,p.useRef)(me(t)),r=(0,p.useRef)(e);return r.current!==e&&(n.current=me(t),r.current=e),n.current}var Ku=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),qu=(e,t,n)=>e.map(e=>`${Ku(e)} ${t}ms ${n}`).join(`,`),Ju=[`radius`],Yu=[`radius`],Xu,Zu,Qu,$u,ed,td,nd,rd,id,ad;function od(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function sd(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var a=ce(n),o=ce(r),s=Math.min(Math.abs(a)/2,Math.abs(o)/2),c=o>=0?1:-1,l=a>=0?1:-1,u=+(o>=0&&a>=0||o<0&&a<0),d;if(s>0&&Array.isArray(i)){for(var f=[0,0,0,0],p=0,m=4;ps?s:h}d=P(Xu||=bd([`M`,`,`,``]),e,t+c*f[0]),f[0]>0&&(d+=P(Zu||=bd([`A `,`,`,`,0,0,`,`,`,`,`,``]),f[0],f[0],u,e+l*f[0],t)),d+=P(Qu||=bd([`L `,`,`,``]),e+n-l*f[1],t),f[1]>0&&(d+=P($u||=bd([`A `,`,`,`,0,0,`,`, - `,`,`,``]),f[1],f[1],u,e+n,t+c*f[1])),d+=P(ed||=bd([`L `,`,`,``]),e+n,t+r-c*f[2]),f[2]>0&&(d+=P(td||=bd([`A `,`,`,`,0,0,`,`, - `,`,`,``]),f[2],f[2],u,e+n-l*f[2],t+r)),d+=P(nd||=bd([`L `,`,`,``]),e+l*f[3],t+r),f[3]>0&&(d+=P(rd||=bd([`A `,`,`,`,0,0,`,`, - `,`,`,``]),f[3],f[3],u,e,t+r-c*f[3])),d+=`Z`}else if(s>0&&i===+i&&i>0){var g=Math.min(s,i);d=P(id||=bd(`M .,. - A .,.,0,0,.,.,. - L .,. - A .,.,0,0,.,.,. - L .,. - A .,.,0,0,.,.,. - L .,. - A .,.,0,0,.,.,. Z`.split(`.`)),e,t+c*g,g,g,u,e+l*g,t,e+n-l*g,t,g,g,u,e+n,t+c*g,e+n,t+r-c*g,g,g,u,e+n-l*g,t+r,e+l*g,t+r,g,g,u,e,t+r-c*g)}else d=P(ad||=bd([`M `,`,`,` h `,` v `,` h `,` Z`]),e,t,n,r,-n);return d},Sd={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},Cd=e=>{var t=zt(e,Sd),n=(0,p.useRef)(null),r=md((0,p.useState)(-1),2),i=r[0],a=r[1];(0,p.useEffect)(()=>{if(n.current&&n.current.getTotalLength)try{var e=n.current.getTotalLength();e&&a(e)}catch{}},[]);var s=t.x,c=t.y,l=t.width,u=t.height,d=t.radius,f=t.className,m=t.animationEasing,h=t.animationDuration,g=t.animationBegin,_=t.isAnimationActive,v=t.isUpdateAnimationActive,b=(0,p.useRef)(l),x=(0,p.useRef)(u),S=(0,p.useRef)(s),C=(0,p.useRef)(c),w=Gu((0,p.useMemo)(()=>({x:s,y:c,width:l,height:u,radius:d}),[s,c,l,u,d]),`rectangle-`);if(s!==+s||c!==+c||l!==+l||u!==+u||l===0||u===0)return null;var T=o(`recharts-rectangle`,f);if(!v){var E=y(t);E.radius;var D=fd(E,Ju);return p.createElement(`path`,dd({},D,{x:ce(s),y:ce(c),width:ce(l),height:ce(u),radius:typeof d==`number`?d:void 0,className:T,d:xd(s,c,l,u,d)}))}var O=b.current,k=x.current,A=S.current,j=C.current,M=`0px ${i===-1?1:i}px`,N=`${i}px ${i}px`,ee=qu([`strokeDasharray`],h,typeof m==`string`?m:Sd.animationEasing);return p.createElement(Wu,{animationId:w,key:w,canBegin:i>0,duration:h,easing:m,isActive:v,begin:g},e=>{var r=_e(O,l,e),i=_e(k,u,e),a=_e(A,s,e),o=_e(j,c,e);n.current&&(b.current=r,x.current=i,S.current=a,C.current=o);var f=_?e>0?{transition:ee,strokeDasharray:N}:{strokeDasharray:M}:{strokeDasharray:N},m=y(t);m.radius;var h=fd(m,Yu);return p.createElement(`path`,dd({},h,{radius:typeof d==`number`?d:void 0,className:T,d:xd(a,o,r,i,d),ref:n,style:sd(sd({},f),t.style)}))})};function wd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Td(e){for(var t=1;te*180/Math.PI,jd=(e,t,n,r)=>({x:e+Math.cos(-kd*r)*n,y:t+Math.sin(-kd*r)*n}),Md=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},Nd=(e,t)=>{var n=e.x,r=e.y,i=t.x,a=t.y;return Math.sqrt((n-i)**2+(r-a)**2)},Pd=(e,t)=>{var n=e.x,r=e.y,i=t.cx,a=t.cy,o=Nd({x:n,y:r},{x:i,y:a});if(o<=0)return{radius:o,angle:0};var s=(n-i)/o,c=Math.acos(s);return r>a&&(c=2*Math.PI-c),{radius:o,angle:Ad(c),angleInRadian:c}},Fd=e=>{var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},Id=(e,t)=>{var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),a=Math.floor(r/360);return e+Math.min(i,a)*360},Ld=(e,t)=>{var n=e.relativeX,r=e.relativeY,i=Pd({x:n,y:r},t),a=i.radius,o=i.angle,s=t.innerRadius,c=t.outerRadius;if(ac||a===0)return null;var l=Fd(t),u=l.startAngle,d=l.endAngle,f=o,p;if(u<=d){for(;f>d;)f-=360;for(;f=u&&f<=d}else{for(;f>u;)f-=360;for(;f=d&&f<=u}return p?Td(Td({},t),{},{radius:a,angle:Id(f,t)}):null};function Rd(e){var t=e.cx,n=e.cy,r=e.radius,i=e.startAngle,a=e.endAngle;return{points:[jd(t,n,r,i),jd(t,n,r,a)],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}var zd,Bd,Vd,Hd,Ud,Wd,Gd;function Kd(){return Kd=Object.assign?Object.assign.bind():function(e){for(var t=1;tle(t-e)*Math.min(Math.abs(t-e),359.999),Yd=e=>{var t=e.cx,n=e.cy,r=e.radius,i=e.angle,a=e.sign,o=e.isExternal,s=e.cornerRadius,c=e.cornerIsExternal,l=s*(o?1:-1)+r,u=Math.asin(s/l)/kd,d=c?i:i+a*u,f=jd(t,n,l,d),p=jd(t,n,r,d),m=c?i-a*u:i;return{center:f,circleTangency:p,lineTangency:jd(t,n,l*Math.cos(u*kd),m),theta:u}},Xd=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.startAngle,o=e.endAngle,s=Jd(a,o),c=a+s,l=jd(t,n,i,a),u=jd(t,n,i,c),d=P(zd||=qd([`M `,`,`,` - A `,`,`,`,0, - `,`,`,`, - `,`,`,` - `]),l.x,l.y,i,i,+(Math.abs(s)>180),+(a>c),u.x,u.y);if(r>0){var f=jd(t,n,r,a),p=jd(t,n,r,c);d+=P(Bd||=qd([`L `,`,`,` - A `,`,`,`,0, - `,`,`,`, - `,`,`,` Z`]),p.x,p.y,r,r,+(Math.abs(s)>180),+(a<=c),f.x,f.y)}else d+=P(Vd||=qd([`L `,`,`,` Z`]),t,n);return d},Zd=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,l=e.endAngle,u=le(l-c),d=Yd({cx:t,cy:n,radius:i,angle:c,sign:u,cornerRadius:a,cornerIsExternal:s}),f=d.circleTangency,p=d.lineTangency,m=d.theta,h=Yd({cx:t,cy:n,radius:i,angle:l,sign:-u,cornerRadius:a,cornerIsExternal:s}),g=h.circleTangency,_=h.lineTangency,v=h.theta,y=s?Math.abs(c-l):Math.abs(c-l)-m-v;if(y<0)return o?P(Hd||=qd([`M `,`,`,` - a`,`,`,`,0,0,1,`,`,0 - a`,`,`,`,0,0,1,`,`,0 - `]),p.x,p.y,a,a,a*2,a,a,-a*2):Xd({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:l});var b=P(Ud||=qd([`M `,`,`,` - A`,`,`,`,0,0,`,`,`,`,`,` - A`,`,`,`,0,`,`,`,`,`,`,`,` - A`,`,`,`,0,0,`,`,`,`,`,` - `]),p.x,p.y,a,a,+(u<0),f.x,f.y,i,i,+(y>180),+(u<0),g.x,g.y,a,a,+(u<0),_.x,_.y);if(r>0){var x=Yd({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),S=x.circleTangency,C=x.lineTangency,w=x.theta,T=Yd({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),E=T.circleTangency,D=T.lineTangency,O=T.theta,k=s?Math.abs(c-l):Math.abs(c-l)-w-O;if(k<0&&a===0)return`${b}L${t},${n}Z`;b+=P(Wd||=qd([`L`,`,`,` - A`,`,`,`,0,0,`,`,`,`,`,` - A`,`,`,`,0,`,`,`,`,`,`,`,` - A`,`,`,`,0,0,`,`,`,`,`,`Z`]),D.x,D.y,a,a,+(u<0),E.x,E.y,r,r,+(k>180),+(u>0),S.x,S.y,a,a,+(u<0),C.x,C.y)}else b+=P(Gd||=qd([`L`,`,`,`Z`]),t,n);return b},Qd={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},$d=e=>{var t=zt(e,Qd),n=t.cx,r=t.cy,i=t.innerRadius,a=t.outerRadius,s=t.cornerRadius,c=t.forceCornerRadius,l=t.cornerIsExternal,u=t.startAngle,d=t.endAngle,f=t.className;if(a0&&Math.abs(u-d)<360?Zd({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(g,h/2),forceCornerRadius:c,cornerIsExternal:l,startAngle:u,endAngle:d}):Xd({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:u,endAngle:d});return p.createElement(`path`,Kd({},y(t),{className:m,d:_}))};function ef(e,t,n){if(e===`horizontal`)return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e===`vertical`)return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(At(t)){if(e===`centric`){var r=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,s=t.angle,c=jd(r,i,a,s),l=jd(r,i,o,s);return[{x:c.x,y:c.y},{x:l.x,y:l.y}]}return Rd(t)}}function tf(e){return te(e)?NaN:Number(e)}function nf(e){return e?(e=tf(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function rf(e,t,n){n&&typeof n!=`number`&&yr(e,t,n)&&(t=n=void 0),e=nf(e),t===void 0?(t=e,e=0):t=nf(t),n=n===void 0?ee.chartData,of=B([af],e=>{var t=e.chartData==null?0:e.chartData.length-1;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),sf=(e,t,n,r)=>r?of(e):af(e),cf=(e,t,n)=>n?of(e):af(e),lf=B([sf],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});B([of],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});var uf=B([af],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});function df(e,t){return gf(e)||hf(e,t)||pf(e,t)||ff()}function ff(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pf(e,t){if(e){if(typeof e==`string`)return mf(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mf(e,t):void 0}}function mf(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=re.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||en)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;tr?1:-1;else for(i=a=0;it[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,j=r.s==i.s?1:-1,M=r.d,N=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=N.length,T=M.length,g=new A(j),_=g.d=[],u=0;N[u]==(M[u]||0);)++u;if(N[u]>(M[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,N=N[0],x++;(u1&&(N=e(N,d),M=e(M,d),O=N.length,T=M.length),w=O,v=M.slice(0,O),y=v.length;y=f/2&&++E;do d=0,c=t(N,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(N,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(e,t){var n,r,a;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),rh||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function j(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i){t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;return}if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=j,i.config=i.set=M,e===void 0&&(e={}),e)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`LN10`],t=0;t=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i)}if((i=e[r=`LN10`])!==void 0){if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i)}return this}r=j(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(e)}))());function xf(e){return e===0?1:Math.floor(new K.default(e).abs().log(10).toNumber())+1}function Sf(e,t,n){for(var r=new K.default(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}function Cf(e,t){return Of(e)||Df(e,t)||Tf(e,t)||wf()}function wf(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tf(e,t){if(e){if(typeof e==`string`)return Ef(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ef(e,t):void 0}}function Ef(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=Cf(e,2),n=t[0],r=t[1],i=n,a=r;return n>r&&(i=r,a=n),[i,a]},Af=(e,t,n)=>{if(e.lte(0))return new K.default(0);var r=xf(e.toNumber()),i=new K.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new K.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?new K.default(s.toNumber()):new K.default(Math.ceil(s.toNumber()))},jf=(e,t,n)=>{if(e.lte(0))return new K.default(0);var r=[1,2,2.5,5],i=e.toNumber(),a=Math.floor(new K.default(i).abs().log(10).toNumber()),o=new K.default(10).pow(a),s=e.div(o).toNumber(),c=r.findIndex(e=>e>=s-1e-10);if(c===-1&&(o=o.mul(10),c=0),c+=n,c>=r.length){var l=Math.floor(c/r.length);c%=r.length,o=o.mul(new K.default(10).pow(l))}var u=r[c]??1,d=new K.default(u).mul(o);return t?d:new K.default(Math.ceil(d.toNumber()))},Mf=(e,t,n)=>{var r=new K.default(1),i=new K.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new K.default(10).pow(xf(e)-1),i=new K.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new K.default(Math.floor(e)))}else e===0?i=new K.default(Math.floor((t-1)/2)):n||(i=new K.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),s=[],c=0;c4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Af;if(!Number.isFinite((t-e)/(n-1)))return{step:new K.default(0),tickMin:new K.default(0),tickMax:new K.default(0)};var o=a(new K.default(t).sub(e).div(n-1),r,i),s;e<=0&&t>=0?s=new K.default(0):(s=new K.default(e).add(t).div(2),s=s.sub(new K.default(s).mod(o)));var c=Math.ceil(s.sub(e).div(o).toNumber()),l=Math.ceil(new K.default(t).sub(s).div(o).toNumber()),u=c+l+1;return u>n?Nf(e,t,n,r,i+1,a):(u0?l+(n-u):l,c=t>0?c:c+(n-u)),{step:o,tickMin:s.sub(new K.default(c).mul(o)),tickMax:s.add(new K.default(l).mul(o))})},Pf=function(e){var t=Cf(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=Math.max(i,2),c=Cf(kf([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0){var d=u===1/0?[l,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),u];return n>r?d.reverse():d}if(l===u)return Mf(l,i,a);var f=Nf(l,u,s,a,0,o===`snap125`?jf:Af),p=f.step,m=f.tickMin,h=f.tickMax,g=Sf(m,h.add(new K.default(.1).mul(p)),p);return n>r?g.reverse():g},Ff=function(e,t){var n=Cf(e,2),r=n[0],i=n[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=Cf(kf([r,i]),2),c=s[0],l=s[1];if(c===-1/0||l===1/0)return[r,i];if(c===l)return[c];var u=o===`snap125`?jf:Af,d=Math.max(t,2),f=u(new K.default(l).sub(c).div(d-1),a,0),p=[...Sf(new K.default(c),new K.default(l),f),l];if(a===!1){p=p.map(e=>Math.round(e));var m=p.length-1;m>0&&p[m]===p[m-1]&&(p=p.slice(0,m))}return r>i?p.reverse():p},If=e=>e.rootProps.barCategoryGap,Lf=e=>e.rootProps.stackOffset,Rf=e=>e.rootProps.reverseStackOrder,zf=e=>e.options.chartName,Bf=e=>e.rootProps.syncId,Vf=e=>e.rootProps.syncMethod,Hf=e=>e.options.eventEmitter,Uf=e=>e.rootProps.baseValue,Wf={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},Gf={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:`polygon`,cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:`auto`,orientation:`outer`,reversed:!1,scale:`auto`,tick:!0,tickLine:!0,tickSize:8,type:`auto`,zIndex:Wf.axis},Kf={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:`auto`,label:!1,orientation:`right`,radiusAxisId:0,reversed:!1,scale:`auto`,stroke:`#ccc`,tick:!0,tickCount:5,tickLine:!0,type:`auto`,zIndex:Wf.axis},qf=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Jf(e,t,n){if(n!==`auto`)return n;if(e!=null)return qo(e,t)?`category`:`number`}function Yf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Xf(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},bc],(e,t)=>{if(e!=null)return e;var n=Jf(t,`angleAxis`,ep.type)??`category`;return Xf(Xf({},ep),{},{type:n})}),rp=B([(e,t)=>e.polarAxis.radiusAxis[t],bc],(e,t)=>{if(e!=null)return e;var n=Jf(t,`radiusAxis`,tp.type)??`category`;return Xf(Xf({},tp),{},{type:n})}),ip=e=>e.polarOptions,ap=B([us,ds,Ds],Md),op=B([ip,ap],(e,t)=>{if(e!=null)return he(e.innerRadius,t,0)}),sp=B([ip,ap],(e,t)=>{if(e!=null)return he(e.outerRadius,t,t*.8)}),cp=B([ip],e=>e==null?[0,0]:[e.startAngle,e.endAngle]);B([np,cp],qf);var lp=B([ap,op,sp],(e,t,n)=>{if(e!=null&&t!=null&&n!=null)return[t,n]});B([rp,lp],qf);var up=B([G,ip,op,sp,us,ds],(e,t,n,r,i,a)=>{if(!(e!==`centric`&&e!==`radial`||t==null||n==null||r==null)){var o=t.cx,s=t.cy,c=t.startAngle,l=t.endAngle;return{cx:he(o,i,i/2),cy:he(s,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:l,clockWise:!1}}}),dp=(e,t)=>t,fp=(e,t,n)=>n;function pp(e){return e?.id}function mp(e,t,n){var r=t.chartData,i=r===void 0?[]:r,a=n.allowDuplicatedCategory,o=n.dataKey,s=new Map;return e.forEach(e=>{var t=e.data??i;if(t!=null&&t.length!==0){var n=pp(e);t.forEach((t,r)=>{var i=o==null||a?r:String(W(t,o,null)),c=W(t,e.dataKey,0),l=s.has(i)?s.get(i):{};Object.assign(l,{[n]:c}),s.set(i,l)})}}),Array.from(s.values())}function hp(e){return`stackId`in e&&e.stackId!=null&&e.dataKey!=null}var gp=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function _p(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function vp(e,t){if(e.length===t.length){for(var n=0;n{var t=G(e);return t===`horizontal`?`xAxis`:t===`vertical`?`yAxis`:t===`centric`?`angleAxis`:`radiusAxis`},bp=e=>e.tooltip.settings.axisId;function xp(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(e){var t=i[0],n=i[1];return t<=n?e>=t&&e<=n:e>=n&&e<=t},bandwidth:n?()=>n.call(e):void 0,ticks:t?n=>t.call(e,n):void 0,map:(t,n)=>{var r=e(t);if(r!=null){if(e.bandwidth&&n!=null&&n.position){var i=e.bandwidth();switch(n.position){case`middle`:r+=i/2;break;case`end`:r+=i}}return r}}}}}var Sp=(e,t)=>{if(t!=null)switch(e){case`linear`:if(!_f(t)){for(var n,r,i=0;ir)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t;default:return t}};function Cp(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function wp(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Tp(e){let t,n,r;e.length===2?(t=e===Cp||e===wp?e:Ep,n=e,r=e):(t=Cp,n=(t,n)=>Cp(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i>>1;n(e[t],r)<0?i=t+1:a=t}while(i>>1;n(e[t],r)<=0?i=t+1:a=t}while(in&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function Ep(){return 0}function Dp(e){return e===null?NaN:+e}function*Op(e,t){if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var kp=Tp(Cp),Ap=kp.right;kp.left,Tp(Dp).center;var jp=class extends Map{constructor(e,t=Fp){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(Mp(this,e))}has(e){return super.has(Mp(this,e))}set(e,t){return super.set(Np(this,e),t)}delete(e){return super.delete(Pp(this,e))}};function Mp({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Np({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Pp({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Fp(e){return typeof e==`object`&&e?e.valueOf():e}function Ip(e=Cp){if(e===Cp)return Lp;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Lp(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et))}var Rp=Math.sqrt(50),zp=Math.sqrt(10),Bp=Math.sqrt(2);function Vp(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Rp?10:a>=zp?5:a>=Bp?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/lt&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*lt&&--c),c0))return[];if(e===t)return[e];let r=t=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n=i)&&(n=i)}return n}function Kp(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function qp(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?Lp:Ip(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));qp(e,t,u,d,i)}let a=e[t],o=n,s=r;for(Jp(e,n,t),i(e[r],a)>0&&Jp(e,n,r);o0;)--s}i(e[n],a)===0?Jp(e,n,s):(++s,Jp(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function Jp(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Yp(e,t,n){if(e=Float64Array.from(Op(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Kp(e);if(t>=1)return Gp(e);var r,i=(r-1)*t,a=Math.floor(i),o=Gp(qp(e,a).subarray(0,a+1));return o+(Kp(e.subarray(a+1))-o)*(i-a)}}function Xp(e,t,n=Dp){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function Zp(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Dm(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Dm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=mm.exec(e))?new Am(t[1],t[2],t[3],1):(t=hm.exec(e))?new Am(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=gm.exec(e))?Dm(t[1],t[2],t[3],t[4]):(t=_m.exec(e))?Dm(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=vm.exec(e))?Lm(t[1],t[2]/100,t[3]/100,1):(t=ym.exec(e))?Lm(t[1],t[2]/100,t[3]/100,t[4]):bm.hasOwnProperty(e)?Em(bm[e]):e===`transparent`?new Am(NaN,NaN,NaN,0):null}function Em(e){return new Am(e>>16&255,e>>8&255,e&255,1)}function Dm(e,t,n,r){return r<=0&&(e=t=n=NaN),new Am(e,t,n,r)}function Om(e){return e instanceof sm||(e=Tm(e)),e?(e=e.rgb(),new Am(e.r,e.g,e.b,e.opacity)):new Am}function km(e,t,n,r){return arguments.length===1?Om(e):new Am(e,t,n,r??1)}function Am(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}am(Am,km,om(sm,{brighter(e){return e=e==null?lm:lm**+e,new Am(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?cm:cm**+e,new Am(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Am(Fm(this.r),Fm(this.g),Fm(this.b),Pm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:jm,formatHex:jm,formatHex8:Mm,formatRgb:Nm,toString:Nm}));function jm(){return`#${Im(this.r)}${Im(this.g)}${Im(this.b)}`}function Mm(){return`#${Im(this.r)}${Im(this.g)}${Im(this.b)}${Im((isNaN(this.opacity)?1:this.opacity)*255)}`}function Nm(){let e=Pm(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Fm(this.r)}, ${Fm(this.g)}, ${Fm(this.b)}${e===1?`)`:`, ${e})`}`}function Pm(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fm(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Im(e){return e=Fm(e),(e<16?`0`:``)+e.toString(16)}function Lm(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Bm(e,t,n,r)}function Rm(e){if(e instanceof Bm)return new Bm(e.h,e.s,e.l,e.opacity);if(e instanceof sm||(e=Tm(e)),!e)return new Bm;if(e instanceof Bm)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n0&&c<1?0:o,new Bm(o,s,c,e.opacity)}function zm(e,t,n,r){return arguments.length===1?Rm(e):new Bm(e,t,n,r??1)}function Bm(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}am(Bm,zm,om(sm,{brighter(e){return e=e==null?lm:lm**+e,new Bm(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?cm:cm**+e,new Bm(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Am(Um(e>=240?e-240:e+120,i,r),Um(e,i,r),Um(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Bm(Vm(this.h),Hm(this.s),Hm(this.l),Pm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Pm(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Vm(this.h)}, ${Hm(this.s)*100}%, ${Hm(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Vm(e){return e=(e||0)%360,e<0?e+360:e}function Hm(e){return Math.max(0,Math.min(1,e||0))}function Um(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Wm=e=>()=>e;function Gm(e,t){return function(n){return e+n*t}}function Km(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function qm(e){return(e=+e)==1?Jm:function(t,n){return n-t?Km(t,n,e):Wm(isNaN(t)?n:t)}}function Jm(e,t){var n=t-e;return n?Gm(e,n):Wm(isNaN(e)?t:e)}var Ym=(function e(t){var n=qm(t);function r(e,t){var r=n((e=km(e)).r,(t=km(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Jm(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Xm(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:eh(r,i)})),n=rh.lastIndex;return nt&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function gh(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i2?_h:gh,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),eh))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,dh),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=ch,u()},d.clamp=function(e){return arguments.length?(o=e?!0:ph,u()):o!==ph},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function bh(){return yh()(ph,ph)}function xh(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Sh(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Ch(e){return e=Sh(Math.abs(e)),e?e[1]:NaN}function wh(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Th(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Eh=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Dh(e){if(!(t=Eh.exec(e)))throw Error(`invalid format: `+e);var t;return new Oh({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Dh.prototype=Oh.prototype;function Oh(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Oh.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function kh(e){out:for(var t=e.length,n=1,r=-1,i;n0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Ah;function jh(e,t){var n=Sh(e,t);if(!n)return Ah=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Ah=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Sh(e,Math.max(0,t+a-1))[0]}function Mh(e,t){var n=Sh(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var Nh={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:xh,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Mh(e*100,t),r:Mh,s:jh,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ph(e){return e}var Fh=Array.prototype.map,Ih=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Lh(e){var t=e.grouping===void 0||e.thousands===void 0?Ph:wh(Fh.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Ph:Th(Fh.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Dh(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):Nh[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=Nh[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=kh(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Ah!==void 0?Ih[8+Ah/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++op||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Ch(t)/3)))*3,r=10**-n,i=l((e=Dh(e),e.type=`f`,e),{suffix:Ih[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Rh,zh,Bh;Vh({thousands:`,`,grouping:[3],currency:[`$`,``]});function Vh(e){return Rh=Lh(e),zh=Rh.format,Bh=Rh.formatPrefix,Rh}function Hh(e){return Math.max(0,-Ch(Math.abs(e)))}function Uh(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ch(t)/3)))*3-Ch(Math.abs(e)))}function Wh(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ch(t)-Ch(e))+1}function Gh(e,t,n,r){var i=Wp(e,t,n),a;switch(r=Dh(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Uh(i,o))&&(r.precision=a),Bh(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Wh(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Hh(i))&&(r.precision=a-(r.type===`%`)*2)}return zh(r)}function Kh(e){var t=e.domain;return e.ticks=function(e){var n=t();return Hp(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return Gh(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s0;){if(l=Up(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function qh(){var e=bh();return e.copy=function(){return vh(e,qh())},Qp.apply(e,arguments),Kh(e)}function Jh(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,dh),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Jh(e).unknown(t)},e=arguments.length?Array.from(e,dh):[0,1],Kh(n)}function Yh(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return ae**+t}function ng(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function rg(e){return(t,n)=>-e(-t,n)}function ig(e){let t=e(Xh,Zh),n=t.domain,r=10,i,a;function o(){return i=ng(r),a=tg(r),n()[0]<0?(i=rg(i),a=rg(a),e(Qh,$h)):e(Xh,Zh),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s0){for(;l<=u;++l)for(d=1;ds)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(fs)break;m.push(f)}m.length*2{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Dh(n)).precision==null&&(n.trim=!0),n=zh(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*rn(Yh(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function ag(){let e=ig(yh()).domain([1,10]);return e.copy=()=>vh(e,ag()).base(e.base()),Qp.apply(e,arguments),e}function og(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function sg(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function cg(e){var t=1,n=e(og(t),sg(t));return n.constant=function(n){return arguments.length?e(og(t=+n),sg(t)):t},Kh(n)}function lg(){var e=cg(yh());return e.copy=function(){return vh(e,lg()).constant(e.constant())},Qp.apply(e,arguments)}function ug(e){return function(t){return t<0?-((-t)**+e):t**+e}}function dg(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function fg(e){return e<0?-e*e:e*e}function pg(e){var t=e(ph,ph),n=1;function r(){return n===1?e(ph,ph):n===.5?e(dg,fg):e(ug(n),ug(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},Kh(t)}function mg(){var e=pg(yh());return e.copy=function(){return vh(e,mg()).exponent(e.exponent())},Qp.apply(e,arguments),e}function hg(){return mg.apply(null,arguments).exponent(.5)}function gg(e){return Math.sign(e)*e*e}function _g(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function vg(){var e=bh(),t=[0,1],n=!1,r;function i(t){var i=_g(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(gg(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,dh)).map(gg)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return vg(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Qp.apply(i,arguments),Kh(i)}function yg(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r0?n[i-1]:e[0],i=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return bg().domain([e,t]).range(i).unknown(a)},Qp.apply(Kh(o),arguments)}function xg(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[Ap(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return xg().domain(e).range(t).unknown(n)},Qp.apply(i,arguments)}var Sg=new Date,Cg=new Date;function q(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(sq(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(Sg.setTime(+t),Cg.setTime(+r),e(Sg),e(Cg),Math.floor(n(Sg,Cg))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var wg=q(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);wg.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?q(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):wg),wg.range;var Tg=1e3,Eg=Tg*60,Dg=Eg*60,Og=Dg*24,kg=Og*7,Ag=Og*30,jg=Og*365,Mg=q(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Tg)},(e,t)=>(t-e)/Tg,e=>e.getUTCSeconds());Mg.range;var Ng=q(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Tg)},(e,t)=>{e.setTime(+e+t*Eg)},(e,t)=>(t-e)/Eg,e=>e.getMinutes());Ng.range;var Pg=q(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Eg)},(e,t)=>(t-e)/Eg,e=>e.getUTCMinutes());Pg.range;var Fg=q(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Tg-e.getMinutes()*Eg)},(e,t)=>{e.setTime(+e+t*Dg)},(e,t)=>(t-e)/Dg,e=>e.getHours());Fg.range;var Ig=q(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Dg)},(e,t)=>(t-e)/Dg,e=>e.getUTCHours());Ig.range;var Lg=q(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Eg)/Og,e=>e.getDate()-1);Lg.range;var Rg=q(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Og,e=>e.getUTCDate()-1);Rg.range;var zg=q(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Og,e=>Math.floor(e/Og));zg.range;function Bg(e){return q(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Eg)/kg)}var Vg=Bg(0),Hg=Bg(1),Ug=Bg(2),Wg=Bg(3),Gg=Bg(4),Kg=Bg(5),qg=Bg(6);Vg.range,Hg.range,Ug.range,Wg.range,Gg.range,Kg.range,qg.range;function Jg(e){return q(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/kg)}var Yg=Jg(0),Xg=Jg(1),Zg=Jg(2),Qg=Jg(3),$g=Jg(4),e_=Jg(5),t_=Jg(6);Yg.range,Xg.range,Zg.range,Qg.range,$g.range,e_.range,t_.range;var n_=q(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());n_.range;var r_=q(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());r_.range;var i_=q(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());i_.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:q(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),i_.range;var a_=q(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());a_.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:q(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),a_.range;function o_(e,t,n,r,i,a){let o=[[Mg,1,Tg],[Mg,5,5*Tg],[Mg,15,15*Tg],[Mg,30,30*Tg],[a,1,Eg],[a,5,5*Eg],[a,15,15*Eg],[a,30,30*Eg],[i,1,Dg],[i,3,3*Dg],[i,6,6*Dg],[i,12,12*Dg],[r,1,Og],[r,2,2*Og],[n,1,kg],[t,1,Ag],[t,3,3*Ag],[e,1,jg]];function s(e,t,n){let r=te).right(o,i);if(a===o.length)return e.every(Wp(t/jg,n/jg,r));if(a===0)return wg.every(Math.max(Wp(t,n,r),1));let[s,c]=o[i/o[a-1][2]53)return null;`w`in r||(r.w=1),`Z`in r?(a=f_(p_(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?Xg.ceil(a):Xg(a),a=Rg.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=d_(p_(r.y,0,1)),o=a.getDay(),a=o>4||o===0?Hg.ceil(a):Hg(a),a=Lg.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?f_(p_(r.y,0,1)).getUTCDay():d_(p_(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,f_(r)):d_(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in h_?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function ee(e){return a[e.getDay()]}function te(e){return c[e.getMonth()]}function ne(e){return s[e.getMonth()]}function re(e){return i[+(e.getHours()>=12)]}function ie(e){return 1+~~(e.getMonth()/3)}function ae(e){return o[e.getUTCDay()]}function oe(e){return a[e.getUTCDay()]}function se(e){return c[e.getUTCMonth()]}function ce(e){return s[e.getUTCMonth()]}function P(e){return i[+(e.getUTCHours()>=12)]}function le(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var h_={"-":``,_:` `,0:`0`},g_=/^\s*\d+/,__=/^%/,v_=/[\\^$*+?|[\]().{}]/g;function J(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a[e.toLowerCase(),t]))}function S_(e,t,n){var r=g_.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function C_(e,t,n){var r=g_.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function w_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function T_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function E_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function D_(e,t,n){var r=g_.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function O_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function k_(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function A_(e,t,n){var r=g_.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function j_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function M_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function N_(e,t,n){var r=g_.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function P_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function F_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function I_(e,t,n){var r=g_.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function L_(e,t,n){var r=g_.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function R_(e,t,n){var r=g_.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function z_(e,t,n){var r=__.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function B_(e,t,n){var r=g_.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function V_(e,t,n){var r=g_.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function H_(e,t){return J(e.getDate(),t,2)}function U_(e,t){return J(e.getHours(),t,2)}function W_(e,t){return J(e.getHours()%12||12,t,2)}function G_(e,t){return J(1+Lg.count(i_(e),e),t,3)}function K_(e,t){return J(e.getMilliseconds(),t,3)}function q_(e,t){return K_(e,t)+`000`}function J_(e,t){return J(e.getMonth()+1,t,2)}function Y_(e,t){return J(e.getMinutes(),t,2)}function X_(e,t){return J(e.getSeconds(),t,2)}function Z_(e){var t=e.getDay();return t===0?7:t}function Q_(e,t){return J(Vg.count(i_(e)-1,e),t,2)}function $_(e){var t=e.getDay();return t>=4||t===0?Gg(e):Gg.ceil(e)}function ev(e,t){return e=$_(e),J(Gg.count(i_(e),e)+(i_(e).getDay()===4),t,2)}function tv(e){return e.getDay()}function nv(e,t){return J(Hg.count(i_(e)-1,e),t,2)}function rv(e,t){return J(e.getFullYear()%100,t,2)}function iv(e,t){return e=$_(e),J(e.getFullYear()%100,t,2)}function av(e,t){return J(e.getFullYear()%1e4,t,4)}function ov(e,t){var n=e.getDay();return e=n>=4||n===0?Gg(e):Gg.ceil(e),J(e.getFullYear()%1e4,t,4)}function sv(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+J(t/60|0,`0`,2)+J(t%60,`0`,2)}function cv(e,t){return J(e.getUTCDate(),t,2)}function lv(e,t){return J(e.getUTCHours(),t,2)}function uv(e,t){return J(e.getUTCHours()%12||12,t,2)}function dv(e,t){return J(1+Rg.count(a_(e),e),t,3)}function fv(e,t){return J(e.getUTCMilliseconds(),t,3)}function pv(e,t){return fv(e,t)+`000`}function mv(e,t){return J(e.getUTCMonth()+1,t,2)}function hv(e,t){return J(e.getUTCMinutes(),t,2)}function gv(e,t){return J(e.getUTCSeconds(),t,2)}function _v(e){var t=e.getUTCDay();return t===0?7:t}function vv(e,t){return J(Yg.count(a_(e)-1,e),t,2)}function yv(e){var t=e.getUTCDay();return t>=4||t===0?$g(e):$g.ceil(e)}function bv(e,t){return e=yv(e),J($g.count(a_(e),e)+(a_(e).getUTCDay()===4),t,2)}function xv(e){return e.getUTCDay()}function Sv(e,t){return J(Xg.count(a_(e)-1,e),t,2)}function Cv(e,t){return J(e.getUTCFullYear()%100,t,2)}function wv(e,t){return e=yv(e),J(e.getUTCFullYear()%100,t,2)}function Tv(e,t){return J(e.getUTCFullYear()%1e4,t,4)}function Ev(e,t){var n=e.getUTCDay();return e=n>=4||n===0?$g(e):$g.ceil(e),J(e.getUTCFullYear()%1e4,t,4)}function Dv(){return`+0000`}function Ov(){return`%`}function kv(e){return+e}function Av(e){return Math.floor(e/1e3)}var jv,Mv,Nv;Pv({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function Pv(e){return jv=m_(e),Mv=jv.format,jv.parse,Nv=jv.utcFormat,jv.utcParse,jv}function Fv(e){return new Date(e)}function Iv(e){return e instanceof Date?+e:+new Date(+e)}function Lv(e,t,n,r,i,a,o,s,c,l){var u=bh(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>Yp(e,r/t))},n.copy=function(){return qv(t).domain(e)},$p.apply(n,arguments)}function Jv(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=ph,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*enm,scaleDiverging:()=>Yv,scaleDivergingLog:()=>Xv,scaleDivergingPow:()=>Qv,scaleDivergingSqrt:()=>$v,scaleDivergingSymlog:()=>Zv,scaleIdentity:()=>Jh,scaleImplicit:()=>em,scaleLinear:()=>qh,scaleLog:()=>ag,scaleOrdinal:()=>tm,scalePoint:()=>im,scalePow:()=>mg,scaleQuantile:()=>yg,scaleQuantize:()=>bg,scaleRadial:()=>vg,scaleSequential:()=>Hv,scaleSequentialLog:()=>Uv,scaleSequentialPow:()=>Gv,scaleSequentialQuantile:()=>qv,scaleSequentialSqrt:()=>Kv,scaleSequentialSymlog:()=>Wv,scaleSqrt:()=>hg,scaleSymlog:()=>lg,scaleThreshold:()=>xg,scaleTime:()=>Rv,scaleUtc:()=>zv,tickFormat:()=>Gh});function ty(e){var t=ey;if(e in t&&typeof t[e]==`function`)return t[e]();var n=`scale${ye(e)}`;if(n in t&&typeof t[n]==`function`)return t[n]()}function ny(e,t,n){if(typeof e==`function`)return e.copy().domain(t).range(n);if(e!=null){var r=ty(e);if(r!=null)return r.domain(t).range(n),r}}function ry(e,t,n,r){if(n!=null&&r!=null)return typeof e.scale==`function`?ny(e.scale,n,r):ny(t,n,r)}function iy(e){return`scale${ye(e)}`}function ay(e){return iy(e)in ey}var oy=(e,t,n)=>{if(e!=null){var r=e.scale,i=e.type;if(r===`auto`)return i===`category`&&n&&(n.indexOf(`LineChart`)>=0||n.indexOf(`AreaChart`)>=0||n.indexOf(`ComposedChart`)>=0&&!t)?`point`:i===`category`?`band`:`linear`;if(typeof r==`string`)return ay(r)?r:`point`}};function sy(e,t){for(var n=0,r=e.length,i=e[0]t)?n=a+1:r=a}return n}function cy(e,t){if(e){var n=t??e.domain(),r=n.map(t=>e(t)??0),i=e.range();if(!(n.length===0||i.length<2))return e=>{var t=sy(r,e);if(t<=0)return n[0];if(t>=n.length)return n[n.length-1];var i=r[t-1]??0,a=r[t]??0;return Math.abs(e-i)<=Math.abs(e-a)?n[t-1]:n[t]}}}function ly(e){if(e!=null)return`invert`in e&&typeof e.invert==`function`?e.invert.bind(e):cy(e,void 0)}function uy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function dy(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.cartesianAxis.xAxis[t],Cy=(e,t)=>Sy(e,t)??Y,X={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:xy,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`left`,padding:{top:0,bottom:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`number`,unit:void 0,niceTicks:`auto`,width:60},wy=(e,t)=>e.cartesianAxis.yAxis[t],Ty=(e,t)=>wy(e,t)??X,Ey={domain:[0,`auto`],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:``,range:[64,64],scale:`auto`,type:`number`,unit:``},Dy=(e,t)=>e.cartesianAxis.zAxis[t]??Ey,Oy=(e,t,n)=>{switch(t){case`xAxis`:return Cy(e,n);case`yAxis`:return Ty(e,n);case`zAxis`:return Dy(e,n);case`angleAxis`:return np(e,n);case`radiusAxis`:return rp(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},ky=(e,t,n)=>{switch(t){case`xAxis`:return Cy(e,n);case`yAxis`:return Ty(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},Ay=(e,t,n)=>{switch(t){case`xAxis`:return Cy(e,n);case`yAxis`:return Ty(e,n);case`angleAxis`:return np(e,n);case`radiusAxis`:return rp(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},jy=e=>e.graphicalItems.cartesianItems.some(e=>e.type===`bar`)||e.graphicalItems.polarItems.some(e=>e.type===`radialBar`);function My(e,t){return n=>{switch(e){case`xAxis`:return`xAxisId`in n&&n.xAxisId===t;case`yAxis`:return`yAxisId`in n&&n.yAxisId===t;case`zAxis`:return`zAxisId`in n&&n.zAxisId===t;case`angleAxis`:return`angleAxisId`in n&&n.angleAxisId===t;case`radiusAxis`:return`radiusAxisId`in n&&n.radiusAxisId===t;default:return!1}}}var Ny=e=>e.graphicalItems.cartesianItems,Py=B([dp,fp],My),Fy=(e,t,n)=>e.filter(n).filter(e=>t?.includeHidden===!0||!e.hide),Iy=B([Ny,Oy,Py],Fy,{memoizeOptions:{resultEqualityCheck:_p}}),Ly=B([Iy],e=>e.filter(e=>e.type===`area`||e.type===`bar`).filter(hp)),Ry=e=>e.filter(e=>!(`stackId`in e)||e.stackId===void 0),zy=B([Iy],Ry),By=e=>e.map(e=>e.data).filter(Boolean).flat(1),Vy=B([Iy],e=>e.some(e=>!e.data)),Hy=B([Iy],By,{memoizeOptions:{resultEqualityCheck:_p}}),Uy=(e,t)=>{var n=t.chartData,r=n===void 0?[]:n,i=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:r.slice(i,a+1)},Wy=B([Hy,sf],Uy),Gy=(e,t,n)=>t?.dataKey==null?n.length>0?n.map(e=>e.dataKey).flatMap(t=>e.map(e=>({value:W(e,t)}))):e.map(e=>({value:e})):e.map(e=>({value:W(e,t.dataKey)})),Ky=(e,t,n,r,i,a)=>{var o=r.chartData,s=o===void 0?[]:o,c=r.dataStartIndex,l=r.dataEndIndex,u=Gy(e,t,n);return i&&t?.dataKey!=null&&a.length>0?[...s.slice(c,l+1).map(e=>({value:W(e,t.dataKey)})).filter(e=>e.value!=null),...u]:u},qy=B([Wy,Oy,Iy,sf,Vy,Hy],Ky);function Jy(e){if(fe(e)||e instanceof Date){var t=Number(e);if(U(t))return t}}function Yy(e){if(Array.isArray(e)){var t=[Jy(e[0]),Jy(e[1])];return _f(t)?t:void 0}var n=Jy(e);if(n!=null)return[n,n]}function Xy(e){return e.map(Jy).filter(be)}function Zy(e,t){var n=Jy(e),r=Jy(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var Qy=B([qy],e=>e?.map(e=>e.value).sort(Zy));function $y(e,t){switch(e){case`xAxis`:return t.direction===`x`;case`yAxis`:return t.direction===`y`;default:return!1}}function eb(e,t,n){if(!n||!n.length)return[];var r;if(typeof t==`number`&&!ue(t))r=t;else if(Array.isArray(t)){var i=Xy(t);i.length>0&&(r=Math.max(...i))}return r==null?[]:Xy(n.flatMap(t=>{var n=W(e,t.dataKey),i,a;if(Array.isArray(n)){var o=hy(n,2);i=o[0],a=o[1]}else i=a=n;if(!(!U(i)||!U(a)))return[r-i,r+a]}))}var Z=e=>Ay(e,yp(e),bp(e)),tb=B([Z],e=>e?.dataKey),nb=B([Ly,sf,Z],mp),rb=(e,t,n,r)=>{var i=t.reduce((e,t)=>{if(t.stackId==null)return e;var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},{});return Object.fromEntries(Object.entries(i).map(t=>{var i=hy(t,2),a=i[0],o=i[1],s=r?[...o].reverse():o;return[a,{stackedData:Zo(e,s.map(pp),n),graphicalItems:s}]}))},ib=B([nb,Ly,Lf,Rf],rb),ab=(e,t,n,r)=>{var i=t.dataStartIndex,a=t.dataEndIndex;if(r==null&&n!==`zAxis`)return ns(e,i,a)},ob=B([Oy],e=>e.allowDataOverflow),sb=e=>{if(e==null||!(`domain`in e))return xy;if(e.domain!=null)return e.domain;if(`ticks`in e&&e.ticks!=null){if(e.type===`number`){var t=Xy(e.ticks);return[Math.min(...t),Math.max(...t)]}if(e.type===`category`)return e.ticks.map(String)}return e?.domain??xy},cb=B([Oy],sb),lb=B([cb,ob],yf),ub=B([ib,af,dp,lb],ab,{memoizeOptions:{resultEqualityCheck:gp}}),db=e=>e.errorBars,fb=(e,t,n)=>e.flatMap(e=>t[e.id]).filter(Boolean).filter(e=>$y(n,e)),pb=function(){var e=[...arguments].filter(Boolean);if(e.length!==0){var t=e.flat();return[Math.min(...t),Math.max(...t)]}},mb=function(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],o,s;if(n.length>0&&n.forEach(e=>{var n=e.data==null?a:[...e.data],c=r[e.id]?.filter(e=>$y(i,e));n.forEach(n=>{var r=W(n,t.dataKey??e.dataKey),i=eb(n,r,c);if(i.length>=2){var a=Math.min(...i),l=Math.max(...i);(o==null||as)&&(s=l)}var u=Yy(r);u!=null&&(o=o==null?u[0]:Math.min(o,u[0]),s=s==null?u[1]:Math.max(s,u[1]))})}),t?.dataKey!=null&&n.length===0&&e.forEach(e=>{var n=Yy(W(e,t.dataKey));n!=null&&(o=o==null?n[0]:Math.min(o,n[0]),s=s==null?n[1]:Math.max(s,n[1]))}),U(o)&&U(s))return[o,s]},hb=B([Wy,Oy,zy,db,dp,lf],mb,{memoizeOptions:{resultEqualityCheck:gp}});function gb(e){var t=e.value;if(fe(t)||t instanceof Date)return t}var _b=(e,t,n)=>{var r=e.map(gb).filter(e=>e!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&ge(r))?rf(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},vb=e=>e.referenceElements.dots,yb=(e,t,n)=>e.filter(e=>e.ifOverflow===`extendDomain`).filter(e=>t===`xAxis`?e.xAxisId===n:e.yAxisId===n),bb=B([vb,dp,fp],yb),xb=e=>e.referenceElements.areas,Sb=B([xb,dp,fp],yb),Cb=e=>e.referenceElements.lines,wb=B([Cb,dp,fp],yb),Tb=(e,t)=>{if(e!=null){var n=Xy(e.map(e=>t===`xAxis`?e.x:e.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},Eb=B(bb,dp,Tb),Db=(e,t)=>{if(e!=null){var n=Xy(e.flatMap(e=>[t===`xAxis`?e.x1:e.y1,t===`xAxis`?e.x2:e.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},Ob=B([Sb,dp],Db);function kb(e){if(e.x!=null)return Xy([e.x]);var t=e.segment?.map(e=>e.x);return t==null||t.length===0?[]:Xy(t)}function Ab(e){if(e.y!=null)return Xy([e.y]);var t=e.segment?.map(e=>e.y);return t==null||t.length===0?[]:Xy(t)}var jb=(e,t)=>{if(e!=null){var n=e.flatMap(e=>t===`xAxis`?kb(e):Ab(e));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},Mb=B(Eb,B([wb,dp],jb),Ob,(e,t,n)=>pb(e,n,t)),Nb=(e,t,n,r,i,a,o,s,c)=>{if(n!=null)return n;var l=o===`vertical`&&s===`xAxis`||o===`horizontal`&&s===`yAxis`?pb(r,a,i):pb(a,i),u=bf(t,l,e.allowDataOverflow);return u==null&&e.allowDataOverflow&&l==null&&c!=null?c:u},Pb=B([Oy,cb,lb,ub,hb,Mb,G,dp,B([Oy],e=>{if(!(e==null||e.type!==`number`||!(`ticks`in e)||e.ticks==null)){var t=Xy(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},{memoizeOptions:{resultEqualityCheck:gp}})],Nb,{memoizeOptions:{resultEqualityCheck:gp}}),Fb=[0,1],Ib=(e,t,n,r,i,a,o)=>{if(e!=null&&n!=null&&n.length!==0||o!==void 0){var s=e.dataKey,c=e.type,l=qo(t,a);return l&&s==null?rf(0,n?.length??0):c===`category`?_b(r,e,l):i===`expand`&&!l?Fb:o}},Lb=B([Oy,G,Wy,qy,Lf,dp,Pb],Ib),Rb=B([Oy,jy,zf],oy),zb=(e,t,n)=>{var r=t.niceTicks;if(r!==`none`){var i=sb(t),a=Array.isArray(i)&&(i[0]===`auto`||i[1]===`auto`);if((r===`snap125`||r===`adaptive`)&&t!=null&&t.tickCount&&_f(e)){if(a)return Pf(e,t.tickCount,t.allowDecimals,r);if(t.type===`number`)return Ff(e,t.tickCount,t.allowDecimals,r)}if(r===`auto`&&n===`linear`&&t!=null&&t.tickCount){if(a&&_f(e))return Pf(e,t.tickCount,t.allowDecimals,`adaptive`);if(t.type===`number`&&_f(e))return Ff(e,t.tickCount,t.allowDecimals,`adaptive`)}}},Bb=B([Lb,Ay,Rb],zb),Vb=(e,t,n,r)=>{if(r!==`angleAxis`&&e?.type===`number`&&_f(t)&&Array.isArray(n)&&n.length>0){var i=t[0],a=n[0]??0,o=t[1],s=n[n.length-1]??0;return[Math.min(i,a),Math.max(o,s)]}return t},Hb=B([Oy,Lb,Bb,dp],Vb),Ub=B(B(qy,Oy,(e,t)=>{if(!(!t||t.type!==`number`)){var n=1/0,r=Array.from(Xy(e.map(e=>e.value))).sort((e,t)=>e-t),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var s=0;si,(e,t,n,r,i)=>{if(!U(e))return 0;var a=t===`vertical`?r.height:r.width;if(i===`gap`)return e*a/2;if(i===`no-gap`){var o=he(n,e*a),s=e*a/2;return s-o-(s-o)/a*o}return 0}),Wb=(e,t,n)=>{var r=Cy(e,t);return r==null||typeof r.padding!=`string`?0:Ub(e,`xAxis`,t,n,r.padding)},Gb=(e,t,n)=>{var r=Ty(e,t);return r==null||typeof r.padding!=`string`?0:Ub(e,`yAxis`,t,n,r.padding)},Kb=B(Cy,Wb,(e,t)=>{if(e==null)return{left:0,right:0};var n=e.padding;return typeof n==`string`?{left:t,right:t}:{left:(n.left??0)+t,right:(n.right??0)+t}}),qb=B(Ty,Gb,(e,t)=>{if(e==null)return{top:0,bottom:0};var n=e.padding;return typeof n==`string`?{top:t,bottom:t}:{top:(n.top??0)+t,bottom:(n.bottom??0)+t}}),Jb=B([Ds,Kb,Ns,Ms,(e,t,n)=>n],(e,t,n,r,i)=>{var a=r.padding;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),Yb=B([Ds,G,qb,Ns,Ms,(e,t,n)=>n],(e,t,n,r,i,a)=>{var o=i.padding;return a?[r.height-o.bottom,o.top]:t===`horizontal`?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),Xb=(e,t,n,r)=>{switch(t){case`xAxis`:return Jb(e,n,r);case`yAxis`:return Yb(e,n,r);case`zAxis`:return Dy(e,n)?.range;case`angleAxis`:return cp(e);case`radiusAxis`:return lp(e,n);default:return}},Zb=B([Oy,Xb],qf),Qb=B([Oy,Rb,B([Rb,Hb],Sp),Zb],ry),$b=(e,t,n,r)=>{if(n!=null&&n.dataKey!=null){var i=n.type,a=n.scale;if(qo(e,r)&&(i===`number`||a!==`auto`))return t.map(e=>e.value)}},ex=B([G,qy,Ay,dp],$b),tx=B([Qb],xp);B([Qb],ly),B([Qb,Qy],cy),B([Iy,db,dp],fb);function nx(e,t){return e.idt.id)}var rx=(e,t)=>t,ix=(e,t,n)=>n,ax=B(ms,rx,ix,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(nx)),ox=B(hs,rx,ix,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(nx)),sx=(e,t)=>{var n=typeof t.height==`number`?t.height:30;return{width:e.width,height:n}},cx=(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height}),lx=B(Ds,Cy,sx),ux=(e,t,n)=>{switch(t){case`top`:return e.top;case`bottom`:return n-e.bottom;default:return 0}},dx=(e,t,n)=>{switch(t){case`left`:return e.left;case`right`:return n-e.right;default:return 0}},fx=B(ds,Ds,ax,rx,ix,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=sx(t,n);o??=ux(t,r,e);var c=r===`top`&&!i||r===`bottom`&&i;a[n.id]=o-Number(c)*s.height,o+=(c?-1:1)*s.height}),a}),px=B(us,Ds,ox,rx,ix,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=cx(t,n);o??=dx(t,r,e);var c=r===`left`&&!i||r===`right`&&i;a[n.id]=o-Number(c)*s.width,o+=(c?-1:1)*s.width}),a}),mx=B([Ds,Cy,(e,t)=>{var n=Cy(e,t);if(n!=null)return fx(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),hx=B([Ds,Ty,(e,t)=>{var n=Ty(e,t);if(n!=null)return px(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),gx=B(Ds,Ty,(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height})),_x=(e,t,n,r)=>{if(n!=null){var i=n.allowDuplicatedCategory,a=n.type,o=n.dataKey,s=qo(e,r),c=t.map(e=>e.value),l=c.filter(e=>e!=null);if(o&&s&&a===`category`&&i&&ge(l))return c}},vx=B([G,qy,Oy,dp],_x),yx=B([G,ky,Rb,tx,vx,ex,Xb,Bb,dp],(e,t,n,r,i,a,o,s,c)=>{if(t!=null){var l=qo(e,c);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:c,categoricalDomain:a,duplicateDomain:i,isCategorical:l,niceTicks:s,range:o,realScaleType:n,scale:r}}}),bx=B([G,Ay,Rb,tx,Bb,Xb,vx,ex,dp],(e,t,n,r,i,a,o,s,c)=>{if(t!=null&&r!=null){var l=qo(e,c),u=t.type,d=t.ticks,f=t.tickCount,p=n===`scaleBand`&&typeof r.bandwidth==`function`?r.bandwidth()/2:2,m=u===`category`&&r.bandwidth?r.bandwidth()/p:0;m=c===`angleAxis`&&a!=null&&a.length>=2?le(a[0]-a[1])*2*m:m;var h=d||i;return h?h.map((e,t)=>{var n=o?o.indexOf(e):e,i=r.map(n);return U(i)?{index:t,coordinate:i+m,value:e,offset:m}:null}).filter(be):l&&s?s.map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(be):r.ticks?r.ticks(f).map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(be):r.domain().map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+m,value:o?o[e]:e,index:t,offset:m}:null}).filter(be)}}),xx=B([G,Ay,tx,Xb,vx,ex,dp],(e,t,n,r,i,a,o)=>{if(t!=null&&n!=null&&r!=null&&r[0]!==r[1]){var s=qo(e,o),c=t.tickCount,l=0;return l=o===`angleAxis`&&r?.length>=2?le(r[0]-r[1])*2*l:l,s&&a?a.map((e,t)=>{var r=n.map(e);return U(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(be):n.ticks?n.ticks(c).map((e,t)=>{var r=n.map(e);return U(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(be):n.domain().map((e,t)=>{var r=n.map(e);return U(r)?{coordinate:r+l,value:i?i[e]:e,index:t,offset:l}:null}).filter(be)}}),Sx=B(Oy,tx,(e,t)=>{if(e!=null&&t!=null)return dy(dy({},e),{},{scale:t})});B((e,t,n)=>Dy(e,n),B([B([Oy,Rb,Lb,Zb],ry)],xp),(e,t)=>{if(e!=null&&t!=null)return dy(dy({},e),{},{scale:t})});var Cx=B([G,ms,hs],(e,t,n)=>{switch(e){case`horizontal`:return t.some(e=>e.reversed)?`right-to-left`:`left-to-right`;case`vertical`:return n.some(e=>e.reversed)?`bottom-to-top`:`top-to-bottom`;case`centric`:case`radial`:return`left-to-right`;default:return}});B([(e,t,n)=>e.renderedTicks[t]?.[n]],e=>{if(!(!e||e.length===0))return t=>{var n=1/0,r=e[0];for(var i of e){var a=Math.abs(i.coordinate-t);ae.options.defaultTooltipEventType,Tx=e=>e.options.validateTooltipEventTypes;function Ex(e,t,n){if(e==null)return t;var r=e?`axis`:`item`;return n==null?t:n.includes(r)?r:t}function Dx(e,t){return Ex(t,wx(e),Tx(e))}function Ox(e){return z(t=>Dx(t,e))}var kx=(e,t)=>{var n,r=Number(t);if(!(ue(r)||t==null))return r>=0?e==null||(n=e[r])==null?void 0:n.value:void 0},Ax=e=>e.tooltip.settings,jx={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},Mx=Ua({name:`tooltip`,initialState:{itemInteraction:{click:jx,hover:jx},axisInteraction:{click:jx,hover:jx},keyboardInteraction:jx,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:`hover`,axisId:0,active:!1,defaultIndex:void 0}},reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(V(t.payload))},prepare:H()},replaceTooltipEntrySettings:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=ha(e).tooltipItemPayloads.indexOf(V(r));a>-1&&(e.tooltipItemPayloads[a]=V(i))},prepare:H()},removeTooltipEntrySettings:{reducer(e,t){var n=ha(e).tooltipItemPayloads.indexOf(V(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:H()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Nx=Mx.actions,Px=Nx.addTooltipEntrySettings,Fx=Nx.replaceTooltipEntrySettings,Ix=Nx.removeTooltipEntrySettings,Lx=Nx.setTooltipSettingsState,Rx=Nx.setActiveMouseOverItemIndex;Nx.mouseLeaveItem;var zx=Nx.mouseLeaveChart;Nx.setActiveClickItemIndex;var Bx=Nx.setMouseOverAxisIndex,Vx=Nx.setMouseClickAxisIndex,Hx=Nx.setSyncInteraction,Ux=Nx.setKeyboardInteraction,Wx=Mx.reducer;function Gx(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Kx(e){for(var t=1;t{if(t==null)return jx;var i=Xx(e,t,n);if(i==null)return jx;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(Zx(i)){if(a)return Kx(Kx({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return Kx(Kx({},jx),{},{coordinate:i.coordinate})};function $x(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}function eS(e,t){var n=$x(e),r=t[0],i=t[1];return n!==void 0&&n>=Math.min(r,i)&&n<=Math.max(r,i)}function tS(e,t,n){if(n==null||t==null)return!0;var r=W(e,t);return r==null||!_f(n)||eS(r,n)}var nS=(e,t,n,r)=>{var i=e?.index;if(i==null)return null;var a=Number(i);if(!U(a))return i;var o=0,s=1/0;t.length>0&&(s=t.length-1);var c=Math.max(o,Math.min(a,s)),l=t[c];return l==null||tS(l,n,r)?String(c):null},rS=(e,t,n,r,i,a,o)=>{if(a!=null){var s=o[0]?.getPosition(a);if(s!=null)return s;var c=i?.[Number(a)];if(c)switch(n){case`horizontal`:return{x:c.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:c.coordinate}}}},iS=(e,t,n,r)=>{if(t===`axis`)return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i=n===`hover`?e.itemInteraction.hover.graphicalItemId:e.itemInteraction.click.graphicalItemId;if(e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(r!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a==null?[]:[a]}return e.tooltipItemPayloads.filter(e=>e.settings?.graphicalItemId===i)},aS=e=>e.options.tooltipPayloadSearcher,oS=e=>e.tooltip;function sS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cS(e){for(var t=1;te(t)}function hS(e){if(typeof e==`string`)return e}function gS(e){if(!(typeof e!=`object`||!e))return{name:`name`in e?fS(e.name):void 0,unit:`unit`in e?pS(e.unit):void 0,dataKey:`dataKey`in e?mS(e.dataKey):void 0,payload:`payload`in e?e.payload:void 0,color:`color`in e?hS(e.color):void 0,fill:`fill`in e?hS(e.fill):void 0}}function _S(e,t){return e??t}var vS=(e,t,n,r,i,a,o)=>{if(t!=null&&a!=null){var s=n.chartData,c=n.computedData,l=n.dataStartIndex,u=n.dataEndIndex;return e.reduce((e,n)=>{var d=n.dataDefinedOnItem,f=n.settings,p=_S(d,s),m=Array.isArray(p)?zo(p,l,u):p,h=f?.dataKey??r,g=f?.nameKey,_;return r&&Array.isArray(m)&&!Array.isArray(m[0])&&o===`axis`?(_=ve(m,r,i),_??=a(m,t,c,g)):_=a(m,t,c,g),Array.isArray(_)?_.forEach(t=>{var n=gS(t),r=n?.name,i=n?.dataKey,a=n?.payload,o=cS(cS({},f),{},{name:r,unit:n?.unit,color:n?.color??f?.color,fill:n?.fill??f?.fill});e.push(os({tooltipEntrySettings:o,dataKey:i,payload:a,value:W(a,i),name:r==null?void 0:String(r)}))}):e.push(os({tooltipEntrySettings:f,dataKey:h,payload:_,value:W(_,h),name:W(_,g)??f?.name})),e},[])}},yS=B([Z,jy,zf],oy),bS=B([B([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),Z,B([yp,bp],My)],Fy,{memoizeOptions:{resultEqualityCheck:_p}}),xS=B([bS],e=>e.filter(hp)),SS=B([bS],By,{memoizeOptions:{resultEqualityCheck:_p}}),CS=B([bS],e=>e.some(e=>!e.data)),wS=B([SS,af],Uy),TS=B([xS,af,Z],mp),ES=B([wS,Z,bS,af,CS,SS],Ky),DS=B([Z],sb),OS=B([DS,B([Z],e=>e.allowDataOverflow)],yf),kS=B([B([TS,B([bS],e=>e.filter(hp)),Lf,Rf],rb),af,yp,OS],ab),AS=B([wS,Z,B([bS],Ry),db,yp,uf],mb,{memoizeOptions:{resultEqualityCheck:gp}}),jS=B([B([vb,yp,bp],yb),yp],Tb),MS=B([B([xb,yp,bp],yb),yp],Db),NS=B([Z,G,wS,ES,Lf,yp,B([Z,DS,OS,kS,AS,B([jS,B([B([Cb,yp,bp],yb),yp],jb),MS],pb),G,yp],Nb)],Ib),PS=B([Z,NS,B([NS,Z,yS],zb),yp],Vb),FS=e=>Xb(e,yp(e),bp(e),!1),IS=B([Z,FS],qf),LS=B([B([Z,yS,PS,IS],ry)],xp),RS=B([G,Z,yS,LS,FS,B([G,ES,Z,yp],_x),B([G,ES,Z,yp],$b),yp],(e,t,n,r,i,a,o,s)=>{if(t){var c=t.type,l=qo(e,s);if(r){var u=n===`scaleBand`&&r.bandwidth?r.bandwidth()/2:2,d=c===`category`&&r.bandwidth?r.bandwidth()/u:0;return d=s===`angleAxis`&&i!=null&&i?.length>=2?le(i[0]-i[1])*2*d:d,l&&o?o.map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+d,value:e,index:t,offset:d}:null}).filter(be):r.domain().map((e,t)=>{var n=r.map(e);return U(n)?{coordinate:n+d,value:a?a[e]:e,index:t,offset:d}:null}).filter(be)}}}),zS=B([wx,Tx,Ax],(e,t,n)=>Ex(n.shared,e,t)),BS=e=>e.tooltip.settings.trigger,VS=e=>e.tooltip.settings.defaultIndex,HS=B([oS,zS,BS,VS],Qx),US=B([HS,wS,tb,NS],nS),WS=B([RS,US],kx),GS=B([HS],e=>{if(e)return e.dataKey}),KS=B([HS],e=>{if(e)return e.graphicalItemId}),qS=B([oS,zS,BS,VS],iS),JS=B([HS,B([us,ds,G,Ds,RS,VS,qS],rS)],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),YS=B([HS],e=>e?.active??!1),XS=B([B([qS,US,af,tb,WS,aS,zS],vS)],e=>{if(e!=null){var t=e.map(e=>e.payload).filter(e=>e!=null);return Array.from(new Set(t))}});function ZS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function QS(e){for(var t=1;tz(Z),rC=()=>{var e=nC(),t=z(RS),n=z(LS);return as(!e||!n?void 0:QS(QS({},e),{},{scale:n}),t)};function iC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function aC(e){for(var t=1;t{var i=t.find(e=>e&&e.index===n);if(i){if(e===`horizontal`)return{x:i.coordinate,y:r.relativeY};if(e===`vertical`)return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},uC=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`centric`){var a=i.coordinate,o=r.radius;return aC(aC(aC({},r),jd(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var s=i.coordinate,c=r.angle;return aC(aC(aC({},r),jd(r.cx,r.cy,s,c)),{},{angle:c,radius:s})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function dC(e,t){var n=e.relativeX,r=e.relativeY;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var fC=(e,t,n,r,i)=>{var a=t?.length??0;if(a<=1||e==null)return 0;if(r===`angleAxis`&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var o=i[1]-i[0],s=(t,n,r)=>[e,e+o,e-o].some(e=>(r?e>=t:e>t)&&e<=n),c=0;c0?n[c-1]?.coordinate:n[a-1]?.coordinate,u=n[c]?.coordinate,d=c>=a-1?n[0]?.coordinate:n[c+1]?.coordinate,f=void 0;if(l!=null&&u!=null&&d!=null){if(le(u-l)!==le(d-u)){var p=[];if(le(d-u)===le(i[1]-i[0])){f=d;var m=u+i[1]-i[0];p[0]=Math.min(m,(m+l)/2),p[1]=Math.max(m,(m+l)/2)}else{f=l;var h=d+i[1]-i[0];p[0]=Math.min(u,(h+u)/2),p[1]=Math.max(u,(h+u)/2)}var g=[Math.min(u,(f+u)/2),Math.max(u,(f+u)/2)];if(s(g[0],g[1],!1)||s(p[0],p[1],!0))return n[c]?.index}else{var _=Math.min(l,d),v=Math.max(l,d);if(s((_+u)/2,(v+u)/2,!1))return n[c]?.index}}}else if(t)for(var y=0;y(b.coordinate+S.coordinate)/2||y>0&&y(b.coordinate+S.coordinate)/2&&e<=(b.coordinate+x.coordinate)/2)return b.index}}return-1},pC=()=>z(zf),mC=(e,t)=>t,hC=(e,t,n)=>n,gC=(e,t,n,r)=>r,_C=B(RS,e=>Er(e,e=>e.coordinate)),vC=B([oS,mC,hC,gC],Qx),yC=B([vC,wS,tb,NS],nS),bC=(e,t,n)=>{if(t!=null){var r=oS(e);return t===`axis`?n===`hover`?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n===`hover`?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},xC=B([oS,mC,hC,gC],iS),SC=B([us,ds,G,Ds,RS,gC,xC],rS),CC=B([vC,SC],(e,t)=>e.coordinate??t),wC=B([RS,yC],kx),TC=B([xC,yC,af,tb,wC,aS,mC],vS),EC=B([vC,yC],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),DC=(e,t,n,r,i,a,o)=>{if(!(!e||!n||!r||!i)&&dC(e,o)){var s=fC(cs(e,t),a,i,n,r),c=lC(t,i,s,e);return{activeIndex:String(s),activeCoordinate:c}}},OC=(e,t,n,r,i,a,o)=>{if(!(!e||!r||!i||!a||!n)){var s=Ld(e,n);if(s){var c=fC(ls(s,t),o,a,r,i),l=uC(t,a,c,s);return{activeIndex:String(c),activeCoordinate:l}}}},kC=(e,t,n,r,i,a,o,s)=>{if(!(!e||!t||!r||!i||!a))return t===`horizontal`||t===`vertical`?DC(e,t,r,i,a,o,s):OC(e,t,n,r,i,a,o)},AC=B(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),jC=B(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(e=>parseInt(e,10)).concat(Object.values(Wf));return Array.from(new Set(t)).sort((e,t)=>e-t)},{memoizeOptions:{resultEqualityCheck:vp}});function MC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function NC(e){for(var t=1;tNC(NC({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),{})},RC=new Set(Object.values(Wf));function zC(e){return RC.has(e)}var BC=Ua({name:`zIndex`,initialState:LC,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:H()},unregisterZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(--e.zIndexMap[n].consumers,e.zIndexMap[n].consumers<=0&&!zC(n)&&delete e.zIndexMap[n])},prepare:H()},registerZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload,r=n.zIndex,i=n.element,a=n.isPanorama;e.zIndexMap[r]?a?e.zIndexMap[r].panoramaElement=V(i):e.zIndexMap[r].element=V(i):e.zIndexMap[r]={consumers:0,element:a?void 0:V(i),panoramaElement:a?V(i):void 0}},prepare:H()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:H()}}}),VC=BC.actions,HC=VC.registerZIndexPortal,UC=VC.unregisterZIndexPortal,WC=VC.registerZIndexPortalElement,GC=VC.unregisterZIndexPortalElement,KC=BC.reducer,qC=n(c());function JC(e){var t=e.zIndex,n=e.children,r=xc()&&t!==void 0&&t!==0,i=js(),a=(0,p.useRef)(void 0),o=(0,p.useRef)(new Set),s=R(),c=z(e=>AC(e,t,i));if((0,p.useLayoutEffect)(()=>{if(!r){var e=o.current;e.forEach(e=>{s(UC({zIndex:e}))}),e.clear(),a.current=void 0;return}if(o.current.has(t)||(s(HC({zIndex:t})),o.current.add(t)),c){a.current=c;var n=o.current;n.forEach(e=>{e!==t&&(s(UC({zIndex:e})),n.delete(e))})}},[s,t,r,c]),(0,p.useLayoutEffect)(()=>{var e=o.current;return()=>{e.forEach(e=>{s(UC({zIndex:e}))}),e.clear()}},[s]),!r)return n;var l=c??a.current;return l?(0,qC.createPortal)(n,l):null}function YC(){return YC=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,p.useContext)(iw),ow=n(i(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!ue(n))return e[n]}},dw=Ua({name:`options`,initialState:{chartName:``,tooltipPayloadSearcher:()=>void 0,eventEmitter:void 0,defaultTooltipEventType:`axis`},reducers:{createEventEmitter:e=>{e.eventEmitter??=Symbol(`rechartsEventEmitter`)}}}),fw=dw.reducer,pw=dw.actions.createEventEmitter;function mw(e){return e.tooltip.syncInteraction}var hw=Ua({name:`chartData`,initialState:{chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},reducers:{setChartData(e,t){if(e.chartData=V(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var n=t.payload,r=n.startIndex,i=n.endIndex;r!=null&&(e.dataStartIndex=r),i!=null&&(e.dataEndIndex=i)}}}),gw=hw.actions,_w=gw.setChartData,vw=gw.setDataStartEndIndexes;gw.setComputedData;var yw=hw.reducer,bw=[`x`,`y`];function xw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sw(e){for(var t=1;te.rootProps.className);(0,p.useEffect)(()=>{if(e==null)return xe;var s=(s,c,l)=>{if(t!==l&&e===s){if(c.payload.active===!1){n(Hx({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r===`index`){var u;if(o&&c!=null&&(u=c.payload)!=null&&u.coordinate&&c.payload.sourceViewBox){var d=c.payload.coordinate,f=d.x,p=d.y,m=Ew(d,bw),h=c.payload.sourceViewBox,g=h.x,_=h.y,v=h.width,y=h.height,b=Sw(Sw({},m),{},{x:o.x+(v?(f-g)/v:0)*o.width,y:o.y+(y?(p-_)/y:0)*o.height});n(Sw(Sw({},c),{},{payload:Sw(Sw({},c.payload),{},{coordinate:b})}))}else n(c);return}if(i!=null){var x;typeof r==`function`?x=i[r(i,{activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate})]:r===`value`&&(x=i.find(e=>String(e.value)===c.payload.label));var S=c.payload.coordinate;if(S==null||o==null){n(Hx({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(x==null){n(Hx({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var C=S.x,w=S.y,T=Math.min(C,o.x+o.width),E=Math.min(w,o.y+o.height),D={x:a===`horizontal`?x.coordinate:T,y:a===`horizontal`?E:x.coordinate};n(Hx({active:c.payload.active,coordinate:D,dataKey:c.payload.dataKey,index:String(x.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId}))}}};return sw.on(cw,s),()=>{sw.off(cw,s)}},[s,n,t,e,r,i,a,o])}function kw(){var e=z(Bf),t=z(Hf),n=R();(0,p.useEffect)(()=>{if(e==null)return xe;var r=(r,i,a)=>{t!==a&&e===r&&n(vw(i))};return sw.on(lw,r),()=>{sw.off(lw,r)}},[n,t,e])}function Aw(){var e=R();(0,p.useEffect)(()=>{e(pw())},[e]),Ow(),kw()}function jw(e,t,n,r,i,a){var o=z(n=>bC(n,e,t)),s=z(KS),c=z(Hf),l=z(Bf),u=z(Vf),d=z(mw)?.sourceViewBox!=null,f=pc();(0,p.useEffect)(()=>{if(!d&&l!=null&&c!=null){var e=Hx({active:a,coordinate:n,dataKey:o,index:i,label:typeof r==`number`?String(r):r,sourceViewBox:f,graphicalItemId:s});sw.emit(cw,l,e,c)}},[d,n,o,s,i,r,c,l,u,a,f])}function Mw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Nw(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{S(Lx({shared:_,trigger:v,axisId:x,active:n,defaultIndex:C}))},[S,_,v,x,n,C]);var w=pc(),T=Rl(),E=Ox(_),D=z(e=>EC(e,E,v,C))??{},O=D.activeIndex,k=D.isActive,A=z(e=>TC(e,E,v,C)),j=z(e=>wC(e,E,v,C)),M=z(e=>CC(e,E,v,C)),N=A,ee=aw(),te=n??k??!1,ne=Lw(Rr([N,te]),2),re=ne[0],ie=ne[1],ae=E===`axis`?j:void 0;jw(E,v,M,ae,O,te);var oe=b??ee;if(oe==null||w==null||E==null)return null;var se=N??Gw;te||(se=Gw),s&&se.length&&(se=Xn(se.filter(e=>e.value!=null&&(e.hide!==!0||t.includeHidden)),u,Uw));var ce=se.length>0,P=Nw(Nw({},t),{},{payload:se,label:ae,active:te,activeIndex:O,coordinate:M,accessibilityLayer:T}),le=p.createElement(Ll,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:c,active:te,coordinate:M,hasPayload:ce,offset:l,position:d,reverseDirection:f,useTranslate3d:m,viewBox:w,wrapperStyle:h,lastBoundingBox:re,innerRef:ie,hasPortalFromProps:!!b},Ww(o,P));return p.createElement(p.Fragment,null,(0,qC.createPortal)(le,oe),te&&p.createElement(rw,{cursor:g,tooltipEventType:E,coordinate:M,payload:se,index:O}))}function Jw(e,t,n){return(t=Yw(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yw(e){var t=Xw(e,`string`);return typeof t==`symbol`?t:t+``}function Xw(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Zw=class{constructor(e){Jw(this,`cache`,new Map),this.maxSize=e}get(e){var t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};function Qw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $w(e){for(var t=1;t{try{var n=document.getElementById(oT);n||(n=document.createElement(`span`),n.setAttribute(`id`,oT),n.setAttribute(`aria-hidden`,`true`),document.body.appendChild(n)),Object.assign(n.style,aT,t),n.textContent=`${e}`;var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},lT=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||gl.isSsr)return{width:0,height:0};if(!rT.enableCache)return cT(e,t);var n=sT(e,t),r=iT.get(n);if(r)return r;var i=cT(e,t);return iT.set(n,i),i},uT;function dT(e,t){return gT(e)||hT(e,t)||pT(e,t)||fT()}function fT(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pT(e,t){if(e){if(typeof e==`string`)return mT(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mT(e,t):void 0}}function mT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=e.breakAll,r=e.style;try{var i=[];return I(t)||(i=n?t.toString().split(``):t.toString().split(qT)),{wordsWithComputedWidth:i.map(e=>({word:e,width:lT(e,r).width})),spaceWidth:n?0:lT(`\xA0`,r).width}}catch{return null}};function YT(e){return e===`start`||e===`middle`||e===`end`||e===`inherit`}function XT(e){return I(e)||typeof e==`string`||typeof e==`number`||typeof e==`boolean`}var ZT=(e,t,n,r)=>e.reduce((e,i)=>{var a=i.word,o=i.width,s=e[e.length-1];if(s&&o!=null&&(t==null||r||s.width+o+ne.reduce((e,t)=>e.width>t.width?e:t),$T=`…`,eE=(e,t,n,r,i,a,o,s)=>{var c=JT({breakAll:n,style:r,children:e.slice(0,t)+$T});if(!c)return[!1,[]];var l=ZT(c.wordsWithComputedWidth,a,o,s);return[l.length>i||QT(l).width>Number(a),l]},tE=(e,t,n,r,i)=>{var a=e.maxLines,o=e.children,s=e.style,c=e.breakAll,l=F(a),u=String(o),d=ZT(t,r,n,i);if(!l||i||!(d.length>a||QT(d).width>Number(r)))return d;for(var f=0,p=u.length-1,m=0,h;f<=p&&m<=u.length-1;){var g=Math.floor((f+p)/2),_=VT(eE(u,g-1,c,s,a,r,n,i),2),v=_[0],y=_[1],b=VT(eE(u,g,c,s,a,r,n,i),1)[0];if(!v&&!b&&(f=g+1),v&&b&&(p=g-1),!v&&b){h=y;break}m++}return h||d},nE=e=>[{words:I(e)?[]:e.toString().split(qT),width:void 0}],rE=e=>{var t=e.width,n=e.scaleToFit,r=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||n)&&!gl.isSsr){var s,c,l=JT({breakAll:a,children:r,style:i});if(l){var u=l.wordsWithComputedWidth,d=l.spaceWidth;s=u,c=d}else return nE(r);return tE({breakAll:a,children:r,maxLines:o,style:i},s,c,t,!!n)}return nE(r)},iE=`#808080`,aE={angle:0,breakAll:!1,capHeight:`0.71em`,fill:iE,lineHeight:`1em`,scaleToFit:!1,textAnchor:`start`,verticalAnchor:`end`,x:0,y:0},oE=(0,p.forwardRef)((e,t)=>{var n=zt(e,aE),r=n.x,i=n.y,a=n.lineHeight,s=n.capHeight,c=n.fill,l=n.scaleToFit,u=n.textAnchor,d=n.verticalAnchor,f=zT(n,IT),m=(0,p.useMemo)(()=>rE({breakAll:f.breakAll,children:f.children,maxLines:f.maxLines,scaleToFit:l,style:f.style,width:f.width}),[f.breakAll,f.children,f.maxLines,l,f.style,f.width]),h=f.dx,g=f.dy,_=f.angle,v=f.className,b=f.breakAll,x=zT(f,LT);if(!fe(r)||!fe(i)||m.length===0)return null;var S=Number(r)+(F(h)?h:0),C=Number(i)+(F(g)?g:0);if(!U(S)||!U(C))return null;var w;switch(d){case`start`:w=FT(`calc(${s})`);break;case`middle`:w=FT(`calc(${(m.length-1)/2} * -${a} + (${s} / 2))`);break;default:w=FT(`calc(${m.length-1} * -${a})`)}var T=[],E=m[0];if(l&&E!=null){var D=E.width,O=f.width;T.push(`scale(${F(O)&&F(D)?O/D:1})`)}return _&&T.push(`rotate(${_}, ${S}, ${C})`),T.length&&(x.transform=T.join(` `)),p.createElement(`text`,RT({},y(x),{ref:t,x:S,y:C,className:o(`recharts-text`,v),textAnchor:u,fill:c.includes(`url`)?iE:c}),m.map((e,t)=>{var n=e.words.join(b?``:` `);return p.createElement(`tspan`,{x:S,dy:t===0?w:a,key:`${n}-${t}`},n)}))});oE.displayName=`Text`;var sE=[`labelRef`],cE=[`content`];function lE(e,t){if(e==null)return{};var n,r,i=uE(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var t=e.x,n=e.y,r=e.upperWidth,i=e.lowerWidth,a=e.width,o=e.height,s=e.children,c=(0,p.useMemo)(()=>({x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:o}),[t,n,r,i,a,o]);return p.createElement(_E.Provider,{value:c},s)},yE=()=>{var e=(0,p.useContext)(_E),t=pc();return e||(t?Se(t):void 0)},bE=(0,p.createContext)(null),xE=()=>{var e=(0,p.useContext)(bE),t=z(up);return e||t},SE=e=>{var t=e.value,n=e.formatter,r=I(e.children)?t:e.children;return typeof n==`function`?n(r):r},CE=e=>e!=null&&typeof e==`function`,wE=(e,t)=>le(t-e)*Math.min(Math.abs(t-e),360),TE=(e,t,n,r,i)=>{var a=e.offset,s=e.className,c=i.cx,l=i.cy,u=i.innerRadius,d=i.outerRadius,f=i.startAngle,m=i.endAngle,h=i.clockWise,g=(u+d)/2,_=wE(f,m),v=_>=0?1:-1,y,b;switch(t){case`insideStart`:y=f+v*a,b=h;break;case`insideEnd`:y=m-v*a,b=!h;break;case`end`:y=m+v*a,b=h;break;default:throw Error(`Unsupported position ${t}`)}b=_<=0?b:!b;var x=jd(c,l,g,y),S=jd(c,l,g,y+(b?1:-1)*359),C=`M${x.x},${x.y} - A${g},${g},0,1,${+!b}, - ${S.x},${S.y}`,w=I(e.id)?me(`recharts-radial-line-`):e.id;return p.createElement(`text`,gE({},r,{dominantBaseline:`central`,className:o(`recharts-radial-bar-label`,s)}),p.createElement(`defs`,null,p.createElement(`path`,{id:w,d:C})),p.createElement(`textPath`,{xlinkHref:`#${w}`},n))},EE=(e,t,n)=>{var r=e.cx,i=e.cy,a=e.innerRadius,o=e.outerRadius,s=(e.startAngle+e.endAngle)/2;if(n===`outside`){var c=jd(r,i,o+t,s),l=c.x;return{x:l,y:c.y,textAnchor:l>=r?`start`:`end`,verticalAnchor:`middle`}}if(n===`center`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`middle`};if(n===`centerTop`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`start`};if(n===`centerBottom`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`end`};var u=jd(r,i,(a+o)/2,s);return{x:u.x,y:u.y,textAnchor:`middle`,verticalAnchor:`middle`}},DE=e=>e!=null&&`cx`in e&&F(e.cx),OE={angle:0,offset:5,zIndex:Wf.label,position:`middle`,textBreakAll:!1};function kE(e){if(!DE(e))return e;var t=e.cx,n=e.cy,r=e.outerRadius,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function AE(e){var t=zt(e,OE),n=t.viewBox,r=t.parentViewBox,i=t.position,a=t.value,s=t.children,c=t.content,l=t.className,u=l===void 0?``:l,d=t.textBreakAll,f=t.labelRef,m=xE(),h=yE(),g=n==null?i===`center`?h:m??h:DE(n)?n:Se(n),_,v,b=kE(g);if(!g||I(a)&&I(s)&&!(0,p.isValidElement)(c)&&typeof c!=`function`)return null;var x=DE(g)&&(i===`insideStart`||i===`insideEnd`||i===`end`);if(DE(g))x||(v=EE(g,t.offset,t.position));else if(b){var S=Oe({viewBox:b,position:i,offset:t.offset,parentViewBox:DE(r)?void 0:r,clamp:!0});v=fE(fE({x:S.x,y:S.y,textAnchor:S.horizontalAnchor,verticalAnchor:S.verticalAnchor},S.width===void 0?{}:{width:S.width}),S.height===void 0?{}:{height:S.height})}var C=fE(fE(fE(fE({},v?.x===void 0?{}:{x:v.x}),v?.y===void 0?{}:{y:v.y}),t),{},{viewBox:g});if((0,p.isValidElement)(c)){C.labelRef;var w=lE(C,sE);return(0,p.cloneElement)(c,w)}if(typeof c==`function`){C.content;var T=lE(C,cE);if(_=(0,p.createElement)(c,T),(0,p.isValidElement)(_))return _}else _=SE(t);var E=y(t);return x&&DE(g)?TE(t,i,_,E,g):v==null?null:p.createElement(JC,{zIndex:t.zIndex},p.createElement(oE,gE({ref:f,className:o(`recharts-label`,u)},E,v,{textAnchor:YT(E.textAnchor)?E.textAnchor:v.textAnchor,breakAll:d}),_))}AE.displayName=`Label`;var jE=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?p.createElement(AE,gE({key:`label-implicit`},r)):fe(e)?p.createElement(AE,gE({key:`label-implicit`,value:e},r)):(0,p.isValidElement)(e)?e.type===AE?(0,p.cloneElement)(e,fE({key:`label-implicit`},r)):p.createElement(AE,gE({key:`label-implicit`,content:e},r)):CE(e)?p.createElement(AE,gE({key:`label-implicit`,content:e},r)):e&&typeof e==`object`?p.createElement(AE,gE({},e,{key:`label-implicit`},r)):null};function ME(e){var t=e.label,n=e.labelRef;return jE(t,yE(),n)||null}var NE=[`valueAccessor`],PE=[`dataKey`,`clockWise`,`id`,`textBreakAll`,`zIndex`];function FE(){return FE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(XT(t))return t},zE=(0,p.createContext)(void 0),BE=zE.Provider,VE=(0,p.createContext)(void 0);VE.Provider;function HE(){return(0,p.useContext)(zE)}function UE(){return(0,p.useContext)(VE)}function WE(e){var t=e.valueAccessor,n=t===void 0?RE:t,r=IE(e,NE),i=r.dataKey;r.clockWise;var a=r.id,o=r.textBreakAll,s=r.zIndex,c=IE(r,PE),l=HE(),u=UE(),d=l||u;return!d||!d.length?null:p.createElement(JC,{zIndex:s??Wf.label},p.createElement(A,{className:`recharts-label-list`},d.map((e,t)=>{var s=I(i)?n(e,t):W(e.payload,i),l=I(a)?{}:{id:`${a}-${t}`};return p.createElement(AE,FE({key:`label-${t}`},y(e),c,l,{fill:r.fill??e.fill,parentViewBox:e.parentViewBox,value:s,textBreakAll:o,viewBox:e.viewBox,index:t,zIndex:0}))})))}WE.displayName=`LabelList`;function GE(e){var t=e.label;return t?t===!0?p.createElement(WE,{key:`labelList-implicit`}):p.isValidElement(t)||CE(t)?p.createElement(WE,{key:`labelList-implicit`,content:t}):typeof t==`object`?p.createElement(WE,FE({key:`labelList-implicit`},t,{type:String(t.type)})):null:null}function KE(){return KE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,n=e.cy,r=e.r,i=e.className,a=o(`recharts-dot`,i);return F(t)&&F(n)&&F(r)?p.createElement(`circle`,KE({},_(e),jt(e),{className:a,cx:t,cy:n,r})):null},JE=Ua({name:`polarAxis`,initialState:{radiusAxis:{},angleAxis:{}},reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=V(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=V(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),YE=JE.actions;YE.addRadiusAxis,YE.removeRadiusAxis,YE.addAngleAxis,YE.removeAngleAxis;var XE=JE.reducer;function ZE(e){return e&&typeof e==`object`&&`className`in e&&typeof e.className==`string`?e.className:``}var QE=i((e=>{typeof Symbol==`function`&&Symbol.for}));i(((e,t)=>{t.exports=QE()}))();var $E=e=>e&&typeof e==`object`&&`clipDot`in e?!!e.clipDot:!0;function eD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function tD(e){for(var t=1;t{r||(i.current===null?n(Px(t)):i.current!==t&&n(Fx({prev:i.current,next:t})),i.current=t)},[t,n,r]),(0,p.useLayoutEffect)(()=>()=>{i.current&&=(n(Ix(i.current)),null)},[n]),null}function fD(e){var t=e.legendPayload,n=R(),r=js(),i=(0,p.useRef)(null);return(0,p.useLayoutEffect)(()=>{r||(i.current===null?n(Tc(t)):i.current!==t&&n(Ec({prev:i.current,next:t})),i.current=t)},[n,r,t]),(0,p.useLayoutEffect)(()=>()=>{i.current&&=(n(Dc(i.current)),null)},[n]),null}function pD(e,t){return vD(e)||_D(e,t)||hD(e,t)||mD()}function mD(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hD(e,t){if(e){if(typeof e==`string`)return gD(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gD(e,t):void 0}}function gD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&arguments[2]!==void 0?arguments[2]:[],r=[];for(var i of n)r.push({status:`removed`,prev:i});for(var a=0;ae[Math.floor(r*n)]),t)}function SD(e,t){return bD(t.map((t,n)=>e[n]),t)}function CD(e,t){for(var n=new Map,r=0;r{var a=n(e,t);if(a!=null){var o=r.get(a);if(o!==void 0)return i.add(a),o}}),o=[];for(var s of r){var c=pD(s,2),l=c[0],u=c[1];i.has(l)||o.push(u)}return bD(a,t,o)}function TD(e,t,n){return t==null?null:e==null?t.map(e=>({status:`added`,next:e})):n===`index`?xD(e,t):n===`append`?SD(e,t):wD(e,t,n)}function ED(e,t){var n=(0,p.useRef)(e),r=(0,p.useRef)(t.current),i=(0,p.useRef)(!0);n.current!==e&&(n.current=e,r.current=t.current,i.current=!1);var a=(0,p.useCallback)(function(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(n===0){i.current=!0;return}n===1&&(r.current=e),n>0&&i.current&&a&&(t.current=e)},[t]);return{startValue:r.current,syncStepValue:a}}function DD(e,t){return MD(e)||jD(e,t)||kD(e,t)||OD()}function OD(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kD(e,t){if(e){if(typeof e==`string`)return AD(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?AD(e,t):void 0}}function AD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{typeof e==`function`&&e(),i(!0)},[e]),handleAnimationEnd:(0,p.useCallback)(()=>{typeof t==`function`&&t(),i(!1)},[t])}}function PD(e){var t=e.animationInput,n=e.animationIdPrefix,r=e.items,i=e.previousItemsRef,a=e.isAnimationActive,o=e.animationBegin,s=e.animationDuration,c=e.animationEasing,l=e.onAnimationStart,u=e.onAnimationEnd,d=e.animationInterpolateFn,f=e.animationMatchBy,m=e.shouldUpdatePreviousRef,h=e.children,g=e.layout,_=Gu(t,n),v=ED(_,i),y=v.startValue??null,b=TD(y,r,f??yD);return p.createElement(Wu,{animationId:_,begin:o,duration:s,isActive:a,easing:c,onAnimationEnd:u,onAnimationStart:l,key:_},e=>{var t=y==null,n=r==null?r:d(b,e,g),i=m?m(e):e>0;return v.syncStepValue(n,e,i),n==null?null:h(n,e,t)})}function FD(e,t){return BD(e)||zD(e,t)||LD(e,t)||ID()}function ID(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function LD(e,t){if(e){if(typeof e==`string`)return RD(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?RD(e,t):void 0}}function RD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nFD(p.useState(()=>me(`uid-`)),1)[0]);function HD(e,t){var n=VD();return t||(e?`${e}-${n}`:n)}var UD=(0,p.createContext)(void 0),WD=e=>{var t=e.id,n=e.type,r=e.children,i=HD(`recharts-${n}`,t);return p.createElement(UD.Provider,{value:i},r(i))},GD=Ua({name:`graphicalItems`,initialState:{cartesianItems:[],polarItems:[]},reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(V(t.payload))},prepare:H()},replaceCartesianGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=ha(e).cartesianItems.indexOf(V(r));a>-1&&(e.cartesianItems[a]=V(i))},prepare:H()},removeCartesianGraphicalItem:{reducer(e,t){var n=ha(e).cartesianItems.indexOf(V(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:H()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(V(t.payload))},prepare:H()},removePolarGraphicalItem:{reducer(e,t){var n=ha(e).polarItems.indexOf(V(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:H()},replacePolarGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=ha(e).polarItems.indexOf(V(r));a>-1&&(e.polarItems[a]=V(i))},prepare:H()}}}),KD=GD.actions,qD=KD.addCartesianGraphicalItem,JD=KD.replaceCartesianGraphicalItem,YD=KD.removeCartesianGraphicalItem;KD.addPolarGraphicalItem,KD.removePolarGraphicalItem,KD.replacePolarGraphicalItem;var XD=GD.reducer,ZD=(0,p.memo)(e=>{var t=R(),n=(0,p.useRef)(null);return(0,p.useLayoutEffect)(()=>{n.current===null?t(qD(e)):n.current!==e&&t(JD({prev:n.current,next:e})),n.current=e},[t,e]),(0,p.useLayoutEffect)(()=>()=>{n.current&&=(t(YD(n.current)),null)},[t]),null}),QD=[`points`];function $D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eO(e){for(var t=1;t{var s=eO(eO(eO({r:3},o),f),{},{index:r,cx:e.x??void 0,cy:e.y??void 0,dataKey:a,value:e.value,payload:e.payload,points:t});return p.createElement(sO,{key:`dot-${r}`,option:n,dotProps:s,className:i})}),h={};return s&&c!=null&&(h.clipPath=`url(#clipPath-${d?``:`dots-`}${c})`),p.createElement(JC,{zIndex:u},p.createElement(A,iO({className:r},h),m))}function uO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function dO(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),us,ds],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),DO=()=>z(EO),OO=()=>z(XS);function kO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function AO(e){for(var t=1;t{var t=e.point,n=e.childIndex,r=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var s=AO(AO(AO({},{index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??`none`,strokeWidth:2,stroke:`#fff`,payload:t.payload,value:t.value}),v(i)),jt(i)),c=(0,p.isValidElement)(i)?(0,p.cloneElement)(i,s):typeof i==`function`?i(s):p.createElement(qE,s);return p.createElement(A,{className:`recharts-active-dot`,clipPath:o},c)};function FO(e){var t=e.points,n=e.mainColor,r=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,s=o===void 0?Wf.activeDot:o,c=z(US),l=OO();if(t==null||l==null)return null;var u=t.find(e=>l.includes(e.payload));return I(u)?null:p.createElement(JC,{zIndex:s},p.createElement(PO,{point:u,childIndex:Number(c),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var IO=e=>{var t=e.chartData,n=R(),r=js();return(0,p.useEffect)(()=>r?()=>{}:(n(_w(t)),()=>{n(_w(void 0))}),[t,n,r]),null},LO={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},RO=Ua({name:`brush`,initialState:LO,reducers:{setBrushSettings(e,t){return t.payload==null?LO:t.payload}}});RO.actions.setBrushSettings;var zO=RO.reducer;function BO(e){return(e%180+180)%180}var VO=function(e){var t=e.width,n=e.height,r=BO(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0)*Math.PI/180,i=Math.atan(n/t),a=r>i&&r{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=ha(e).dots.findIndex(e=>e===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=ha(e).areas.findIndex(e=>e===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(V(t.payload))},removeLine:(e,t)=>{var n=ha(e).lines.findIndex(e=>e===t.payload);n!==-1&&e.lines.splice(n,1)}}}),UO=HO.actions;UO.addDot,UO.removeDot,UO.addArea,UO.removeArea,UO.addLine,UO.removeLine;var WO=HO.reducer;function GO(e,t){return XO(e)||YO(e,t)||qO(e,t)||KO()}function KO(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qO(e,t){if(e){if(typeof e==`string`)return JO(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?JO(e,t):void 0}}function JO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=GO((0,p.useState)(`${me(`recharts`)}-clip`),1)[0],r=DO();if(r==null)return null;var i=r.x,a=r.y,o=r.width,s=r.height;return p.createElement(ZO.Provider,{value:n},p.createElement(`defs`,null,p.createElement(`clipPath`,{id:n},p.createElement(`rect`,{x:i,y:a,height:s,width:o}))),t)};function $O(){}function ek(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null?!1:Object.prototype.toString.call(e)===`[object Object]`}function tk(e,t,n){return nk(e,t,void 0,void 0,void 0,void 0,n)}function nk(e,t,n,r,i,a,o){let s=o(e,t,n,r,i,a);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return e===t;case`number`:return e===t||Object.is(e,t);case`function`:return e===t;case`object`:return rk(e,t,a,o)}return rk(e,t,a,o)}function rk(e,t,n,r){if(Object.is(e,t))return!0;let i=Yt(e),a=Yt(t);if(i===`[object Arguments]`&&(i=ln),a===`[object Arguments]`&&(a=ln),i!==a)return!1;switch(i){case Zt:return e.toString()===t.toString();case Qt:return An(e.valueOf(),t.valueOf());case $t:case nn:case tn:return Object.is(e.valueOf(),t.valueOf());case Xt:return e.source===t.source&&e.flags===t.flags;case sn:return e===t}n??=new Map;let o=n.get(e),s=n.get(t);if(o!=null&&s!=null)return o===t;n.set(e,t),n.set(t,e);try{switch(i){case rn:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!nk(a,t.get(i),i,e,t,n,r))return!1;return!0;case an:{if(e.size!==t.size)return!1;let i=Array.from(e.values()),a=Array.from(t.values());for(let o=0;onk(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case on:case fn:case pn:case mn:case hn:case gn:case _n:case vn:case yn:case bn:case xn:case Sn:if(wn(e)!==wn(t)||e.length!==t.length)return!1;for(let i=0;ie*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function lk(e,t){return ak(e,t+1)}function uk(e,t,n,r,i){for(var a=(r||[]).slice(),o=t.start,s=t.end,c=0,l=1,u=o,d=function(){var t=r?.[c];if(t===void 0)return{v:ak(r,l)};var a=c,d,f=()=>(d===void 0&&(d=n(t,a)),d),p=t.coordinate,m=c===0||ck(e,p,f,u,s);m||(c=0,u=o,l+=1),m&&(u=p+e*(f()/2+i),c+=l)},f;l<=a.length;)if(f=d(),f)return f.v;return[]}function dk(e,t,n,r,i){var a=(r||[]).slice().length;if(a===0)return[];for(var o=t.start,s=t.end,c=1;c<=a;c++){for(var l=(a-1)%c,u=o,d=!0,f=function(){var t=r[m];if(t==null)return 0;var a=m,o,c=()=>(o===void 0&&(o=n(t,a)),o),f=t.coordinate,p=m===l||ck(e,f,c,u,s);if(!p)return d=!1,1;p&&(u=f+e*(c()/2+i))},p,m=l;m(u===void 0&&(u=n(r,t)),u);if(t===o-1){var f=e*(l.coordinate+e*d()/2-c);a[t]=l=pk(pk({},l),{},{tickCoord:f>0?l.coordinate-f*e:l.coordinate})}else a[t]=l=pk(pk({},l),{},{tickCoord:l.coordinate});l.tickCoord!=null&&ck(e,l.tickCoord,d,s,c)&&(c=l.tickCoord-e*(d()/2+i),a[t]=pk(pk({},l),{},{isShow:!0}))},u=o-1;u>=0;u--)if(l(u))continue;return a}function vk(e,t,n,r,i,a){var o=(r||[]).slice(),s=o.length,c=t.start,l=t.end;if(a){var u=r[s-1];if(u!=null){var d=n(u,s-1),f=e*(u.coordinate+e*d/2-l);o[s-1]=u=pk(pk({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate}),u.tickCoord!=null&&ck(e,u.tickCoord,()=>d,c,l)&&(l=u.tickCoord-e*(d/2+i),o[s-1]=pk(pk({},u),{},{isShow:!0}))}}for(var p=a?s-1:s,m=function(t){var r=o[t];if(r==null)return 1;var a=r,s,u=()=>(s===void 0&&(s=n(r,t)),s);if(t===0){var d=e*(a.coordinate-e*u()/2-c);o[t]=a=pk(pk({},a),{},{tickCoord:d<0?a.coordinate-d*e:a.coordinate})}else o[t]=a=pk(pk({},a),{},{tickCoord:a.coordinate});a.tickCoord!=null&&ck(e,a.tickCoord,u,c,l)&&(c=a.tickCoord+e*(u()/2+i),o[t]=pk(pk({},a),{},{isShow:!0}))},h=0;h{var i=typeof l==`function`?l(e.value,r):e.value;return p===`width`?ok(lT(i,{fontSize:t,letterSpacing:n}),m,d):lT(i,{fontSize:t,letterSpacing:n})[p]},g=i[0],_=i[1],v=i.length>=2&&g!=null&&_!=null?le(_.coordinate-g.coordinate):1,y=sk(a,v,p);return c===`equidistantPreserveStart`?uk(v,y,h,i,o):c===`equidistantPreserveEnd`?dk(v,y,h,i,o):(f=c===`preserveStart`||c===`preserveStartEnd`?vk(v,y,h,i,o,c===`preserveStartEnd`):_k(v,y,h,i,o),f.filter(e=>e.isShow))}var bk=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.width>l&&(l=t.width)}});var u=n?n.getBoundingClientRect().width:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},xk=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.height>l&&(l=t.height)}});var u=n?n.getBoundingClientRect().height:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},Sk=Ua({name:`renderedTicks`,initialState:{xAxis:{},yAxis:{}},reducers:{setRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId,a=n.ticks;e[r][i]=V(a)},removeRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId;delete e[r][i]}}}),Ck=Sk.actions,wk=Ck.setRenderedTicks,Tk=Ck.removeRenderedTicks,Ek=Sk.reducer,Dk=[`axisLine`,`width`,`height`,`className`,`hide`,`ticks`,`axisType`,`axisId`];function Ok(e,t){return Nk(e)||Mk(e,t)||Ak(e,t)||kk()}function kk(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ak(e,t){if(e){if(typeof e==`string`)return jk(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jk(e,t):void 0}}function jk(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(r!=null&&n!=null){var e=t.map(e=>({value:e.value,coordinate:e.coordinate,offset:e.offset,index:e.index})),o=a.current;o!=null&&o.axisId===r&&o.axisType===n&&ik(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(wk({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,p.useEffect)(()=>r==null||n==null?xe:()=>{i(Tk({axisId:r,axisType:n}))},[i,r,n]),null}var Jk=(0,p.forwardRef)((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,i=e.tick,a=e.tickLine,s=e.stroke,c=e.tickFormatter,l=e.unit,u=e.padding,d=e.tickTextProps,f=e.orientation,m=e.mirror,h=e.x,g=e.y,y=e.width,b=e.height,x=e.tickSize,S=e.tickMargin,C=e.fontSize,w=e.letterSpacing,T=e.getTicksConfig,E=e.events,D=e.axisType,O=e.axisId,k=yk(Q(Q({},T),{},{ticks:r}),C,w),j=_(T),M=v(i),N=YT(j.textAnchor)?j.textAnchor:Wk(f,m),ee=Gk(f,m),te={};typeof a==`object`&&(te=a);var ne=Q(Q({},j),{},{fill:`none`},te),re=k.map(e=>Q({entry:e},Uk(e,h,g,y,b,f,x,m,S))),ie=re.map(e=>{var t=e.entry,n=e.line;return p.createElement(A,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&p.createElement(`line`,Ik({},ne,n,{className:o(`recharts-cartesian-axis-tick-line`,ae(a,`className`))})))}),oe=re.map((e,t)=>{var n=e.entry,r=e.tick,a=Q(Q({},Q(Q(Q(Q({verticalAnchor:ee},j),{},{textAnchor:N,stroke:`none`,fill:s},r),{},{index:t,payload:n,visibleTicksCount:k.length,tickFormatter:c,padding:u},d),{},{angle:d?.angle??j.angle??0})),M);return p.createElement(A,Ik({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},Nt(E,n,t)),i&&p.createElement(Kk,{option:i,tickProps:a,value:`${typeof c==`function`?c(n.value,t):n.value}${l||``}`}))});return p.createElement(`g`,{className:`recharts-cartesian-axis-ticks recharts-${D}-ticks`},p.createElement(qk,{ticks:k,axisId:O,axisType:D}),oe.length>0&&p.createElement(JC,{zIndex:Wf.label},p.createElement(`g`,{className:`recharts-cartesian-axis-tick-labels recharts-${D}-tick-labels`,ref:t},oe)),ie.length>0&&p.createElement(`g`,{className:`recharts-cartesian-axis-tick-lines recharts-${D}-tick-lines`},ie))}),Yk=(0,p.forwardRef)((e,t)=>{var n=e.axisLine,r=e.width,i=e.height,a=e.className,s=e.hide,c=e.ticks,l=e.axisType,u=e.axisId,d=Pk(e,Dk),f=Ok((0,p.useState)(``),2),m=f[0],h=f[1],g=Ok((0,p.useState)(``),2),v=g[0],y=g[1],b=(0,p.useRef)(null);(0,p.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>bk({ticks:b.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>xk({ticks:b.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}));var x=(0,p.useCallback)(e=>{if(e){var t=e.getElementsByClassName(`recharts-cartesian-axis-tick-value`);b.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,a=r.letterSpacing;(i!==m||a!==v)&&(h(i),y(a))}}},[m,v]);return s||r!=null&&r<=0||i!=null&&i<=0?null:p.createElement(JC,{zIndex:e.zIndex},p.createElement(A,{className:o(`recharts-cartesian-axis`,a)},p.createElement(Hk,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:_(e)}),p.createElement(Jk,{ref:x,axisType:l,events:d,fontSize:m,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:c,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),p.createElement(vE,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},p.createElement(ME,{label:e.label,labelRef:e.labelRef}),e.children)))}),Xk=p.forwardRef((e,t)=>{var n=zt(e,Vk);return p.createElement(Yk,Ik({},n,{ref:t}))});Xk.displayName=`CartesianAxis`;var Zk=(0,p.createContext)({grid:{stroke:`#ccc`,fill:`none`}});Zk.Provider;var Qk=()=>(0,p.useContext)(Zk),$k=[`x1`,`y1`,`x2`,`y2`,`key`],eA=[`offset`],tA=[`xAxisId`,`yAxisId`],nA=[`xAxisId`,`yAxisId`];function rA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function iA(e){for(var t=1;t{var t=e.fill;if(!t||t===`none`)return null;var n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.ry;return p.createElement(`rect`,{x:r,y:i,ry:s,width:a,height:o,stroke:`none`,fill:t,fillOpacity:n,className:`recharts-cartesian-grid-bg`})};function fA(e){var t=e.option,n=e.lineItemProps,r;if(p.isValidElement(t))r=p.cloneElement(t,n);else if(typeof t==`function`)r=t(n);else{var i=n.x1,a=n.y1,o=n.x2,s=n.y2,c=n.key,l=_(lA(n,$k))??{};l.offset;var u=lA(l,eA),d=Array.isArray(u.strokeDasharray)?u.strokeDasharray.join(`,`):u.strokeDasharray;r=p.createElement(`line`,cA({},u,{strokeDasharray:d,x1:i,y1:a,x2:o,y2:s,fill:`none`,key:c}))}return r}function pA(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0||r,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=lA(e,tA),s=a.map((e,r)=>{var a=iA(iA({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return p.createElement(fA,{key:`line-${r}`,option:i,lineItemProps:a})});return p.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},s)}function mA(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0||r,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=lA(e,nA),s=a.map((e,r)=>{var a=iA(iA({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return p.createElement(fA,{option:i,lineItemProps:a,key:`line-${r}`})});return p.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},s)}function hA(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.horizontalPoints,c=e.horizontal;if(!(c===void 0||c)||!t||!t.length||s==null)return null;var l=s.map(e=>Math.round(e+i-i)).sort((e,t)=>e-t);i!==l[0]&&l.unshift(0);var u=l.map((e,s)=>{var c=l[s+1],u=c==null?i+o-e:c-e;if(u<=0)return null;var d=s%t.length;return p.createElement(`rect`,{key:`react-${s}`,y:e,x:r,height:u,width:a,stroke:`none`,fill:t[d],fillOpacity:n,className:`recharts-cartesian-grid-bg`})});return p.createElement(`g`,{className:`recharts-cartesian-gridstripes-horizontal`},u)}function gA(e){var t=e.vertical,n=t===void 0||t,r=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,s=e.width,c=e.height,l=e.verticalPoints;if(!n||!r||!r.length)return null;var u=l.map(e=>Math.round(e+a-a)).sort((e,t)=>e-t);a!==u[0]&&u.unshift(0);var d=u.map((e,t)=>{var n=u[t+1],l=n==null?a+s-e:n-e;if(l<=0)return null;var d=t%r.length;return p.createElement(`rect`,{key:`react-${t}`,x:e,y:o,width:l,height:c,stroke:`none`,fill:r[d],fillOpacity:i,className:`recharts-cartesian-grid-bg`})});return p.createElement(`g`,{className:`recharts-cartesian-gridstripes-vertical`},d)}var _A=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return Jo(yk(iA(iA(iA({},Vk),n),{},{ticks:Yo(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},vA=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return Jo(yk(iA(iA(iA({},Vk),n),{},{ticks:Yo(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},yA={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Wf.grid};function bA(e){var t=gc(),n=_c(),r=hc(),i=iA(iA({},zt(e,yA)),{},{x:F(e.x)?e.x:r.left,y:F(e.y)?e.y:r.top,width:F(e.width)?e.width:r.width,height:F(e.height)?e.height:r.height}),a=i.xAxisId,o=i.yAxisId,s=i.x,c=i.y,l=i.width,u=i.height,d=i.syncWithTicks,f=i.horizontalValues,m=i.verticalValues,h=js(),g=z(e=>yx(e,`xAxis`,a,h)),_=z(e=>yx(e,`yAxis`,o,h)),v=Qk(),y={stroke:i.stroke??v.grid.stroke,strokeWidth:i.strokeWidth??v.grid.strokeWidth,strokeOpacity:i.strokeOpacity??v.grid.strokeOpacity,strokeDasharray:i.strokeDasharray??v.grid.strokeDasharray};if(!Bo(l)||!Bo(u)||!F(s)||!F(c))return null;var b=i.verticalCoordinatesGenerator||_A,x=i.horizontalCoordinatesGenerator||vA,S=i.horizontalPoints,C=i.verticalPoints;if((!S||!S.length)&&typeof x==`function`){var w=f&&f.length,T=x({yAxis:_?iA(iA({},_),{},{ticks:w?f:_.ticks}):void 0,width:t??l,height:n??u,offset:r},w?!0:d);Ls(Array.isArray(T),`horizontalCoordinatesGenerator should return Array but instead it returned [${typeof T}]`),Array.isArray(T)&&(S=T)}if((!C||!C.length)&&typeof b==`function`){var E=m&&m.length,D=b({xAxis:g?iA(iA({},g),{},{ticks:E?m:g.ticks}):void 0,width:t??l,height:n??u,offset:r},E?!0:d);Ls(Array.isArray(D),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof D}]`),Array.isArray(D)&&(C=D)}return p.createElement(JC,{zIndex:i.zIndex},p.createElement(`g`,{className:`recharts-cartesian-grid`},p.createElement(dA,{fill:i.fill??v.grid.fill,fillOpacity:i.fillOpacity??v.grid.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),p.createElement(hA,cA({},i,{horizontalPoints:S})),p.createElement(gA,cA({},i,{verticalPoints:C})),p.createElement(pA,cA({},i,y,{offset:r,horizontalPoints:S,xAxis:g,yAxis:_})),p.createElement(mA,cA({},i,y,{offset:r,verticalPoints:C,xAxis:g,yAxis:_}))))}bA.displayName=`CartesianGrid`;var xA=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`visibleLength`,`strokeDasharray`,`connectNulls`];function SA(){return SA=Object.assign?Object.assign.bind():function(e){for(var t=1;te+t,0);if(!i)return EA(t,e);for(var a=Math.floor(e/i),o=e%i,s=[],c=0,l=0;co){s=[...r.slice(0,c),o-l];break}}var f=s.length%2==0?[0,t]:[t];return[...OA(r,a),...s,...f].map(e=>`${e}px`).join(`, `)}function AA(e,t,n){return e?kA(n,t,`${e}`.split(/[,\s]+/gim).map(e=>parseFloat(e))):EA(t,n)}function jA(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,i=CA(e,xA),a=r??!1,o;if(t!=null){var s=i.pathRef;o=AA(n,TA(s?.current??null),t)}else n!=null&&(o=String(n));return p.createElement($l,SA({},i,{connectNulls:a,strokeDasharray:o}))}function MA(e){var t=(0,p.useRef)(0),n=(0,p.useRef)(0),r=(0,p.useRef)(!1),i=(0,p.useRef)(e);return i.current!==e&&(t.current=n.current,i.current=e),(0,p.useCallback)((e,i)=>{if(r.current)return null;var a=Math.min(ce(t.current+e*i),i);return e>0&&i>0&&(n.current=Math.max(n.current,a),a>=i)?(r.current=!0,null):a},[])}var NA=Ua({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]||(e[r]=[]),e[r].push(i)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.prev,a=n.next;e[r]&&(e[r]=e[r].map(e=>e.dataKey===i.dataKey&&e.direction===i.direction?a:e))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]&&(e[r]=e[r].filter(e=>e.dataKey!==i.dataKey||e.direction!==i.direction))}}}),PA=NA.actions;PA.addErrorBar,PA.replaceErrorBar,PA.removeErrorBar;var FA=NA.reducer,IA=[`children`];function LA(e,t){if(e==null)return{};var n,r,i=RA(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0});function BA(e){var t=e.children,n=LA(e,IA);return p.createElement(zA.Provider,{value:n},t)}function VA(e,t){var n=z(t=>Cy(t,e)),r=z(e=>Ty(e,t)),i=n?.allowDataOverflow??Y.allowDataOverflow,a=r?.allowDataOverflow??X.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function HA(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=DO(),a=VA(t,n),o=a.needClipX,s=a.needClipY,c=a.needClip,l=z(e=>Jb(e,t,!1)),u=z(e=>Yb(e,n,!1));if(!c||!i)return null;var d=i.x,f=i.y,m=i.width,h=i.height,g=o&&l?Math.min(l[0],l[1]):d-m/2,_=s&&u?Math.min(u[0],u[1]):f-h/2,v=o&&l?Math.abs(l[1]-l[0]):m*2,y=s&&u?Math.abs(u[1]-u[0]):h*2;return p.createElement(`clipPath`,{id:`clipPath-${r}`},p.createElement(`rect`,{x:g,y:_,width:v,height:y}))}var UA=(e,t,n,r)=>Sx(e,`xAxis`,t,r),WA=(e,t,n,r)=>xx(e,`xAxis`,t,r),GA=(e,t,n,r)=>Sx(e,`yAxis`,n,r),KA=(e,t,n,r)=>xx(e,`yAxis`,n,r),qA=B([G,UA,GA,WA,KA],(e,t,n,r,i)=>qo(e,`xAxis`)?as(t,r,!1):as(n,i,!1)),JA=(e,t,n,r,i)=>i;function YA(e){return e.type===`line`}var XA=B([G,UA,GA,WA,KA,B([Ny,JA],(e,t)=>e.filter(YA).find(e=>e.id===t)),qA,sf],(e,t,n,r,i,a,o,s)=>{var c=s.chartData,l=s.dataStartIndex,u=s.dataEndIndex;if(!(a==null||t==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||e!==`horizontal`&&e!==`vertical`)){var d=a.dataKey,f=a.data,p=f!=null&&f.length>0?f:c?.slice(l,u+1);if(p!=null)return Sj({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:d,bandSize:o,displayedData:p})}});function ZA(e){var t=v(e),n=3,r=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),s=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}var QA=[`id`],$A=[`type`,`layout`,`connectNulls`,`needClip`,`shape`,`strokeDasharray`],ej=[`activeDot`,`animateNewValues`,`animationBegin`,`animationDuration`,`animationEasing`,`connectNulls`,`dot`,`hide`,`isAnimationActive`,`label`,`legendType`,`xAxisId`,`yAxisId`,`id`];function tj(){return tj=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/n:0}var dj={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:`ease`,animationInterpolateFn:(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(e=>e.status===`removed`?[]:[e.next]);var n=uj(e),r=[];for(var i of e)if(i.status===`matched`)r.push(aj(aj({},i.next),{},{x:_e(i.prev.x,i.next.x,t),y:_e(i.prev.y,i.next.y,t)}));else if(i.status===`added`){if(i.next.x!=null){var a=i.next.x-n;r.push(aj(aj({},i.next),{},{x:_e(a,i.next.x,t),y:i.next.y}))}else r.push(i.next)}else if(i.status===`removed`&&i.prev.x!=null){var o=i.prev.x+n;r.push(aj(aj({},i.prev),{},{x:_e(i.prev.x,o,t),y:i.prev.y}))}return r},animationMatchBy:yD,connectNulls:!1,dot:!0,fill:`#fff`,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`line`,shape:jA,stroke:`#3182bd`,strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:Wf.line,type:`linear`},fj=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:ss(n,t),payload:e}]},pj=p.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,d=e.id,f={dataDefinedOnItem:n,getPosition:xe,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:ss(o,t),hide:s,type:u,color:r,unit:c,formatter:l,graphicalItemId:d}};return p.createElement(dD,{tooltipEntrySettings:f})});function mj(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.dot,a=r.dataKey,o=r.needClip;r.id;var s=_(nj(r,QA));return p.createElement(lO,{points:n,dot:i,className:`recharts-line-dots`,dotClassName:`recharts-line-dot`,dataKey:a,baseProps:s,needClip:o,clipPathId:t})}function hj(e){var t=e.showLabels,n=e.children,r=e.points,i=(0,p.useMemo)(()=>r?.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return aj(aj({},t),{},{value:e.value,payload:e.payload,viewBox:t,parentViewBox:void 0,fill:void 0})}),[r]);return p.createElement(BE,{value:t?i:void 0},n)}function gj(e){var t=e.clipPathId,n=e.pathRef,r=e.points,i=e.props,a=e.animationElapsedTime,o=e.isAnimating,s=e.isEntrance,c=e.visibleLength,l=i.type,u=i.layout,d=i.connectNulls,f=i.needClip,m=i.shape,h=i.strokeDasharray,g=aj(aj({},y(nj(i,$A))),{},{fill:`none`,className:`recharts-line-curve`,clipPath:f?`url(#clipPath-${t})`:void 0,points:r,type:l,layout:u,connectNulls:d,strokeDasharray:h??i.strokeDasharray,pathRef:n,animationElapsedTime:a,isAnimating:o,isEntrance:i.animateNewValues?s:!1,visibleLength:c});return p.createElement(p.Fragment,null,r?.length>1&&p.createElement(uD,{option:m,DefaultShape:dj.shape,shapeProps:g}),p.createElement(mj,{points:r,clipPathId:t,props:i}))}function _j(e){var t=e.clipPathId,n=e.props,r=e.pathRef,i=e.previousPointsRef,a=n.points,o=n.isAnimationActive,s=n.animationBegin,c=n.animationDuration,l=n.animationEasing,u=n.animationMatchBy,d=n.animationInterpolateFn,f=n.layout,m=lj(r.current),h=ND(n.onAnimationStart,n.onAnimationEnd),g=h.isAnimating,_=h.handleAnimationStart,v=h.handleAnimationEnd,y=!g,b=MA(a),x=(0,p.useCallback)(e=>e>0&&m>0,[m]);return p.createElement(hj,{points:a,showLabels:y},n.children,p.createElement(PD,{animationInput:a,animationIdPrefix:`recharts-line-`,items:a,previousItemsRef:i,isAnimationActive:o,animationBegin:s,animationDuration:c,animationEasing:l,onAnimationStart:_,onAnimationEnd:v,animationInterpolateFn:d,animationMatchBy:u,shouldUpdatePreviousRef:x,layout:f},(e,i,a)=>{var o=g||i<1,s=o?b(i,m):null;return p.createElement(gj,{props:n,points:e,clipPathId:t,pathRef:r,animationElapsedTime:i,isAnimating:o,isEntrance:a,visibleLength:s})}),p.createElement(GE,{label:n.label}))}function vj(e){var t=e.clipPathId,n=e.props,r=(0,p.useRef)(null),i=(0,p.useRef)(null);return p.createElement(_j,{props:n,clipPathId:t,previousPointsRef:r,pathRef:i})}var yj=(e,t)=>({x:e.x??void 0,y:e.y??void 0,value:e.value,errorVal:W(e.payload,t)}),bj=class extends p.Component{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.xAxisId,s=e.yAxisId,c=e.top,l=e.left,u=e.width,d=e.height,f=e.id,m=e.needClip,h=e.zIndex;if(t)return null;var g=o(`recharts-line`,i),_=f,v=ZA(n),y=v.r,b=v.strokeWidth,x=$E(n),S=y*2+b,C=m?`url(#clipPath-${x?``:`dots-`}${_})`:void 0;return p.createElement(JC,{zIndex:h},p.createElement(A,{className:g},m&&p.createElement(`defs`,null,p.createElement(HA,{clipPathId:_,xAxisId:a,yAxisId:s}),!x&&p.createElement(`clipPath`,{id:`clipPath-dots-${_}`},p.createElement(`rect`,{x:l-S/2,y:c-S/2,width:u+S,height:d+S}))),p.createElement(BA,{xAxisId:a,yAxisId:s,data:r,dataPointFormatter:yj,errorBarOffset:0},p.createElement(vj,{props:this.props,clipPathId:_}))),p.createElement(FO,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:C}))}};function xj(e){var t=zt(e,dj),n=t.activeDot,r=t.animateNewValues,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.connectNulls,c=t.dot,l=t.hide,u=t.isAnimationActive,d=t.label,f=t.legendType,m=t.xAxisId,h=t.yAxisId,g=t.id,_=nj(t,ej),v=VA(m,h).needClip,y=DO(),b=vc(),x=js(),S=z(e=>XA(e,m,h,x,g));if(b!==`horizontal`&&b!==`vertical`||S==null||y==null)return null;var C=y.height,w=y.width,T=y.x,E=y.y;return p.createElement(bj,tj({},_,{id:g,connectNulls:s,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:a,animationEasing:o,isAnimationActive:u,hide:l,label:d,legendType:f,xAxisId:m,yAxisId:h,points:S,layout:b,height:C,width:w,left:T,top:E,needClip:v}))}function Sj(e){var t=e.layout,n=e.xAxis,r=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,o=e.dataKey,s=e.bandSize;return e.displayedData.map((e,c)=>{var l=W(e,o);if(t===`horizontal`)return{x:$o({axis:n,ticks:i,bandSize:s,entry:e,index:c}),y:(I(l)?null:r.scale.map(l))??null,value:l,payload:e};var u=I(l)?null:n.scale.map(l),d=$o({axis:r,ticks:a,bandSize:s,entry:e,index:c});return u==null||d==null?null:{x:u,y:d,value:l,payload:e}}).filter(Boolean)}function Cj(e){var t=zt(e,dj),n=js();return p.createElement(WD,{id:t.id,type:`line`},e=>p.createElement(p.Fragment,null,p.createElement(fD,{legendPayload:fj(t)}),p.createElement(pj,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),p.createElement(ZD,{type:`line`,id:e,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),p.createElement(xj,tj({},t,{id:e}))))}var wj=p.memo(Cj,qc);wj.displayName=`Line`;function Tj(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function Ej(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var Dj=(e,t,n)=>Sx(e,`xAxis`,Tj(e,t),n),Oj=(e,t,n)=>xx(e,`xAxis`,Tj(e,t),n),kj=(e,t,n)=>Sx(e,`yAxis`,Ej(e,t),n),Aj=(e,t,n)=>xx(e,`yAxis`,Ej(e,t),n),jj=B([G,Dj,kj,Oj,Aj],(e,t,n,r,i)=>qo(e,`xAxis`)?as(t,r,!1):as(n,i,!1)),Mj=B([Ny,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`area`).find(e=>e.id===t)),Nj=e=>qo(G(e),`xAxis`)?`yAxis`:`xAxis`,Pj=(e,t)=>Nj(e)===`yAxis`?Ej(e,t):Tj(e,t),Fj=(e,t,n)=>ib(e,Nj(e),Pj(e,t),n),Ij=B([G,Dj,kj,Oj,Aj,B([Mj,Fj],(e,t)=>{if(e!=null&&t!=null){var n=e.stackId,r=pp(e);if(n!=null&&r!=null){var i=(t[n]?.stackedData)?.find(e=>e.key===r);if(i!=null)return i.map(e=>[e[0],e[1]])}}}),cf,jj,Mj,Uf,B([Mj,Fj],(e,t)=>{if(e!=null&&e.stackId!=null&&t!=null){var n=t[e.stackId];if(n!=null)return n.graphicalItems.map(e=>e.dataKey).filter(be)}})],(e,t,n,r,i,a,o,s,c,l,u)=>{var d=o.chartData,f=o.dataStartIndex,p=o.dataEndIndex;if(!(c==null||e!==`horizontal`&&e!==`vertical`||t==null||n==null||r==null||i==null||r.length===0||i.length===0||s==null)){var m=c.data,h=m&&m.length>0?m:d?.slice(f,p+1);if(h!=null)return hM({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:c,stackedData:a,displayedData:h,chartBaseValue:l,bandSize:s,stackDataKeys:u})}}),Lj=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`layout`,`isRange`,`stroke`,`connectNulls`],Rj=[`id`,`baseLine`];function zj(){return zj=Object.assign?Object.assign.bind():function(e){for(var t=1;te.y||0));return F(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(e=>e.y||0),c)),F(c)?p.createElement(`rect`,{x:ae.x||0));return F(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(e=>e.x||0),c)),F(c)?p.createElement(`rect`,{x:0,y:ae==null?[]:t===1?e.flatMap(e=>e.status===`removed`?[]:[e.next]):e.flatMap(e=>e.status===`matched`?[Qj(Qj({},e.next),{},{x:_e(e.prev.x,e.next.x,t),y:_e(e.prev.y,e.next.y,t)})]:e.status===`added`?[e.next]:[]),connectNulls:!1,dot:!1,fill:`#3182bd`,fillOpacity:.6,hide:!1,isAnimationActive:`auto`,legendType:`line`,stroke:`#3182bd`,strokeWidth:1,type:`linear`,label:!1,shape:Gj,xAxisId:0,yAxisId:0,zIndex:Wf.area};function rM(e,t){return e&&e!==`none`?e:t}var iM=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.fill,a=e.legendType;return[{inactive:e.hide,dataKey:t,type:a,color:rM(r,i),value:ss(n,t),payload:e}]},aM=p.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,d=e.id,f={dataDefinedOnItem:n,getPosition:xe,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:ss(o,t),hide:s,type:u,color:rM(r,a),unit:c,formatter:l,graphicalItemId:d}};return p.createElement(dD,{tooltipEntrySettings:f})});function oM(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.needClip,a=r.dot,o=r.dataKey,s=_(r);return p.createElement(lO,{points:n,dot:a,className:`recharts-area-dots`,dotClassName:`recharts-area-dot`,dataKey:o,baseProps:s,needClip:i,clipPathId:t})}function sM(e){var t=e.showLabels,n=e.children,r=e.points.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return Qj(Qj({},t),{},{value:e.value,payload:e.payload,parentViewBox:void 0,viewBox:t,fill:void 0})});return p.createElement(BE,{value:t?r:void 0},n)}function cM(e){var t=e.points,n=e.baseLine,r=e.needClip,i=e.clipPathId,a=e.props,o=e.animationElapsedTime,s=e.isAnimating,c=e.isEntrance,l=a.layout,u=a.type,d=a.stroke,f=a.connectNulls,m=a.isRange,h=a.shape,g=a.id,_=Yj(a,Kj),v=Qj(Qj({},y(_)),{},{id:g,points:t,connectNulls:f,type:u,baseLine:n,layout:l,stroke:d,isRange:m,animationElapsedTime:o,isAnimating:s,isEntrance:c});return p.createElement(p.Fragment,null,t?.length>1&&p.createElement(A,{clipPath:r?`url(#clipPath-${i})`:void 0},p.createElement(uD,{option:h,DefaultShape:nM.shape,shapeProps:v})),p.createElement(oM,{points:t,props:_,clipPathId:i}))}function lM(e,t,n){return F(e)?_e(F(t)?t:void 0,e,n):I(e)||ue(e)?_e(F(t)?t:void 0,0,n):e}function uM(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=e.previousPointsRef,a=e.previousBaselineRef,o=r.points,s=r.baseLine,c=r.isAnimationActive,l=r.animationBegin,u=r.animationDuration,d=r.animationEasing,f=r.animationMatchBy,m=r.animationInterpolateFn,h=(0,p.useMemo)(()=>({points:o,baseLine:s}),[o,s]),g=ED(h,a),_=yc(),v=ND(r.onAnimationStart,r.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(_==null)return null;var C=Array.isArray(s)&&Array.isArray(S)?TD(S,s,f):Array.isArray(s)?TD(null,s,f):null;return p.createElement(PD,{animationInput:h,animationIdPrefix:`recharts-area-`,items:o,previousItemsRef:i,isAnimationActive:c,animationBegin:l,animationDuration:u,animationEasing:d,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:m,animationMatchBy:f,layout:_},(e,i,a)=>{var c=i===1?s:Array.isArray(s)?m(C,i,_):a?s:lM(s,S,i);return g.syncStepValue(c,i),p.createElement(sM,{showLabels:!y,points:o},r.children,p.createElement(cM,{points:e,baseLine:c,needClip:t,clipPathId:n,props:r,animationElapsedTime:i,isAnimating:y||i<1,isEntrance:a}),p.createElement(GE,{label:r.label}))})}function dM(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=(0,p.useRef)(null),a=(0,p.useRef)();return p.createElement(uM,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}var fM=class extends p.PureComponent{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.top,s=e.left,c=e.needClip,l=e.xAxisId,u=e.yAxisId,d=e.width,f=e.height,m=e.id,h=e.baseLine,g=e.zIndex;if(t)return null;var _=o(`recharts-area`,i),v=m,y=ZA(n),b=y.r,x=y.strokeWidth,S=$E(n),C=b*2+x,w=c?`url(#clipPath-${S?``:`dots-`}${v})`:void 0;return p.createElement(JC,{zIndex:g},p.createElement(A,{className:_},c&&p.createElement(`defs`,null,p.createElement(HA,{clipPathId:v,xAxisId:l,yAxisId:u}),!S&&p.createElement(`clipPath`,{id:`clipPath-dots-${v}`},p.createElement(`rect`,{x:s-C/2,y:a-C/2,width:d+C,height:f+C}))),p.createElement(dM,{needClip:c,clipPathId:v,props:this.props})),p.createElement(FO,{points:r,mainColor:rM(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}),this.props.isRange&&Array.isArray(h)&&p.createElement(FO,{points:h,mainColor:rM(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:w}))}};function pM(e){var t=e.activeDot,n=e.animationBegin,r=e.animationDuration,i=e.animationEasing,a=e.connectNulls,o=e.dot,s=e.fill,c=e.fillOpacity,l=e.hide,u=e.isAnimationActive,d=e.legendType,f=e.stroke,m=e.xAxisId,h=e.yAxisId,g=Yj(e,qj),_=vc(),v=pC(),y=VA(m,h).needClip,b=js(),x=z(t=>Ij(t,e.id,b))??{},S=x.points,C=x.isRange,w=x.baseLine,T=DO();if(_!==`horizontal`&&_!==`vertical`||T==null||v!==`AreaChart`&&v!==`ComposedChart`)return null;var E=T.height,D=T.width,O=T.x,k=T.y;return!S||!S.length?null:p.createElement(fM,Jj({},g,{activeDot:t,animationBegin:n,animationDuration:r,animationEasing:i,baseLine:w,connectNulls:a,dot:o,fill:s,fillOpacity:c,height:E,hide:l,layout:_,isAnimationActive:u,isRange:C,legendType:d,needClip:y,points:S,stroke:f,width:D,left:O,top:k,xAxisId:m,yAxisId:h}))}var mM=(e,t,n,r,i)=>{var a=n??t;if(F(a))return a;var o=e===`horizontal`?i:r,s=o.scale.domain();if(o.type===`number`){var c=Math.max(s[0],s[1]),l=Math.min(s[0],s[1]);return a===`dataMin`?l:a===`dataMax`||c<0?c:Math.max(Math.min(s[0],s[1]),0)}return a===`dataMin`?s[0]:a===`dataMax`?s[1]:s[0]};function hM(e){var t=e.areaSettings,n=t.connectNulls,r=t.baseValue,i=t.dataKey,a=e.stackedData,o=e.layout,s=e.chartBaseValue,c=e.xAxis,l=e.yAxis,u=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,h=e.stackDataKeys,g=a&&a.length,_=mM(o,s,r,c,l),v=o===`horizontal`,y=!1,b=u.map((e,t)=>{var r;if(g)r=a[d+t];else{var o=W(e,i);Array.isArray(o)?(r=o,y=!0):r=[_,o]}var s=r?.[1]??null,u=W(e,i),b=g&&u==null&&h!=null&&h.length>0&&h.every(t=>W(e,t)==null),x=s==null||g&&!n&&u==null||b;return v?{x:$o({axis:c,ticks:f,bandSize:m,entry:e,index:t}),y:x?null:l.scale.map(s)??null,value:r,payload:e}:{x:x?null:c.scale.map(s)??null,y:$o({axis:l,ticks:p,bandSize:m,entry:e,index:t}),value:r,payload:e}});return{points:b,baseLine:(g||y?b.map(e=>{var t=Array.isArray(e.value)?e.value[0]:null;return v?{x:e.x,y:t!=null&&e.y!=null?l.scale.map(t)??null:null,payload:e.payload}:{x:t==null?null:c.scale.map(t)??null,y:e.y,payload:e.payload}}):v?l.scale.map(_):c.scale.map(_))??0,isRange:y}}function gM(e){var t=zt(e,nM),n=js();return p.createElement(WD,{id:t.id,type:`area`},e=>p.createElement(p.Fragment,null,p.createElement(fD,{legendPayload:iM(t)}),p.createElement(aM,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),p.createElement(ZD,{type:`area`,id:e,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:Qo(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),p.createElement(pM,Jj({},t,{id:e}))))}var _M=p.memo(gM,qc);_M.displayName=`Area`;var vM=[`domain`,`range`],yM=[`domain`,`range`];function bM(e,t){if(e==null)return{};var n,r,i=xM(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{if(o!=null)return kM(kM({},a),{},{type:o})},[a,o]);return(0,p.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(_O(s)):n.current!==s&&t(vO({prev:n.current,next:s})),n.current=s)},[s,t]),(0,p.useLayoutEffect)(()=>()=>{n.current&&=(t(yO(n.current)),null)},[t]),null}var IM=e=>{var t=e.xAxisId,n=e.className,r=e.height,i=e.label,a=(0,p.useRef)(null),s=(0,p.useRef)(null),c=z(ks),l=js(),u=R(),d=`xAxis`,f=z(e=>bx(e,d,t,l)),m=z(e=>lx(e,t)),h=z(e=>mx(e,t)),g=z(e=>Sy(e,t));if((0,p.useLayoutEffect)(()=>{if(!(r!==`auto`||!m||CE(i)||(0,p.isValidElement)(i)||g==null)){var e=a.current;if(e){var n=e.getCalculatedHeight();Math.round(m.height)!==Math.round(n)&&u(wO({id:t,height:n}))}}},[f,m,u,i,t,r,g]),m==null||h==null||g==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var _=NM(e,TM);g.id,g.scale;var v=NM(g,EM);return p.createElement(Xk,DM({},_,v,{ref:a,labelRef:s,x:h.x,y:h.y,width:m.width,height:m.height,className:o(`recharts-${d} ${d}`,n),viewBox:c,ticks:f,axisType:d,axisId:t}))},LM={allowDataOverflow:Y.allowDataOverflow,allowDecimals:Y.allowDecimals,allowDuplicatedCategory:Y.allowDuplicatedCategory,angle:Y.angle,axisLine:Vk.axisLine,height:Y.height,hide:!1,includeHidden:Y.includeHidden,interval:Y.interval,label:!1,minTickGap:Y.minTickGap,mirror:Y.mirror,orientation:Y.orientation,padding:Y.padding,reversed:Y.reversed,scale:Y.scale,tick:Y.tick,tickCount:Y.tickCount,tickLine:Vk.tickLine,tickSize:Vk.tickSize,type:Y.type,niceTicks:Y.niceTicks,xAxisId:0},RM=p.memo(e=>{var t=zt(e,LM);return p.createElement(p.Fragment,null,p.createElement(FM,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),p.createElement(IM,t))},CM);RM.displayName=`XAxis`;var zM=[`type`],BM=[`dangerouslySetInnerHTML`,`ticks`,`scale`],VM=[`id`,`scale`];function HM(){return HM=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(o!=null)return WM(WM({},a),{},{type:o})},[o,a]);return(0,p.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(bO(s)):n.current!==s&&t(xO({prev:n.current,next:s})),n.current=s)},[s,t]),(0,p.useLayoutEffect)(()=>()=>{n.current&&=(t(SO(n.current)),null)},[t]),null}function ZM(e){var t=e.yAxisId,n=e.className,r=e.width,i=e.label,a=(0,p.useRef)(null),s=(0,p.useRef)(null),c=z(ks),l=js(),u=R(),d=`yAxis`,f=z(e=>gx(e,t)),m=z(e=>hx(e,t)),h=z(e=>bx(e,d,t,l)),g=z(e=>wy(e,t));if((0,p.useLayoutEffect)(()=>{if(!(r!==`auto`||!f||CE(i)||(0,p.isValidElement)(i)||g==null)){var e=a.current;if(e){var n=e.getCalculatedWidth();Math.round(f.width)!==Math.round(n)&&u(CO({id:t,width:n}))}}},[h,f,u,i,t,r,g]),f==null||m==null||g==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var _=JM(e,BM);g.id,g.scale;var v=JM(g,VM);return p.createElement(Xk,HM({},_,v,{ref:a,labelRef:s,x:m.x,y:m.y,tickTextProps:r===`auto`?{width:void 0}:{width:r},width:f.width,height:f.height,className:o(`recharts-${d} ${d}`,n),viewBox:c,ticks:h,axisType:d,axisId:t}))}var QM={allowDataOverflow:X.allowDataOverflow,allowDecimals:X.allowDecimals,allowDuplicatedCategory:X.allowDuplicatedCategory,angle:X.angle,axisLine:Vk.axisLine,hide:!1,includeHidden:X.includeHidden,interval:X.interval,label:!1,minTickGap:X.minTickGap,mirror:X.mirror,orientation:X.orientation,padding:X.padding,reversed:X.reversed,scale:X.scale,tick:X.tick,tickCount:X.tickCount,tickLine:Vk.tickLine,tickSize:Vk.tickSize,type:X.type,niceTicks:X.niceTicks,width:X.width,yAxisId:0},$M=p.memo(e=>{var t=zt(e,QM);return p.createElement(p.Fragment,null,p.createElement(XM,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),p.createElement(ZM,t))},CM);$M.displayName=`YAxis`;var eN=B([(e,t)=>t,G,up,yp,IS,RS,_C,Ds],kC);function tN(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function nN(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(tN(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var rN=Sa(`mouseClick`),iN=Ao();iN.startListening({actionCreator:rN,effect:(e,t)=>{var n=e.payload,r=eN(t.getState(),nN(n));r?.activeIndex!=null&&t.dispatch(Vx({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var aN=Sa(`mouseMove`),oN=Ao(),sN=null,cN=null,lN=null;oN.startListening({actionCreator:aN,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);sN!==null&&(cancelAnimationFrame(sN),sN=null),cN!==null&&(typeof i!=`number`||!o)&&(clearTimeout(cN),cN=null),lN=nN(n);var s=()=>{var e=t.getState(),n=Dx(e,e.tooltip.settings.shared);if(!lN){sN=null,cN=null;return}if(n===`axis`){var r=eN(e,lN);r?.activeIndex==null?t.dispatch(zx()):t.dispatch(Bx({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}sN=null,cN=null};if(!o){s();return}i===`raf`?sN=requestAnimationFrame(s):typeof i==`number`&&cN===null&&(cN=setTimeout(s,i))}});function uN(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<>`:t}var dN={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},fN=Ua({name:`rootProps`,initialState:dN,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??dN.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),pN=fN.reducer,mN=fN.actions.updateOptions,hN=Ua({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}});hN.actions.updatePolarOptions;var gN=hN.reducer,_N=Sa(`keyDown`),vN=Sa(`focus`),yN=Sa(`blur`),bN=Ao(),xN=null,SN=null,CN=null;bN.startListening({actionCreator:_N,effect:(e,t)=>{CN=e.payload,xN!==null&&(cancelAnimationFrame(xN),xN=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);SN!==null&&(typeof r!=`number`||!a)&&(clearTimeout(SN),SN=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=CN;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=nS(n,wS(e),tb(e),NS(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=RS(e),c=wS(e),l=Dx(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=SC(e,l,`hover`,String(n.index));t.dispatch(Ux({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=Cx(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=tb(e),h=NS(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v=0;y--)if(nS(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=SC(e,l,`hover`,String(p));t.dispatch(Ux({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{xN=null,SN=null}};if(!a){o();return}r===`raf`?xN=requestAnimationFrame(o):typeof r==`number`&&SN===null&&(o(),CN=null,SN=setTimeout(()=>{CN?o():(SN=null,xN=null)},r))}}),bN.startListening({actionCreator:vN,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;if(!r.active&&r.index==null){var i=`0`,a=SC(n,Dx(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(Ux({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),bN.startListening({actionCreator:yN,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(Ux({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function wN(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var TN=Sa(`externalEvent`),EN=Ao(),DN=new Map,ON=new Map,kN=new Map;EN.startListening({actionCreator:TN,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=wN(i);kN.set(a,{handler:r,reactEvent:o});var s=DN.get(a);s!==void 0&&(cancelAnimationFrame(s),DN.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=ON.get(a);f!==void 0&&(typeof l!=`number`||!d)&&(clearTimeout(f),ON.delete(a));var p=()=>{var e=kN.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:JS(i),activeDataKey:GS(i),activeIndex:US(i),activeLabel:WS(i),activeTooltipIndex:US(i),isTooltipActive:YS(i)};n&&n(o,r)}finally{DN.delete(a),ON.delete(a),kN.delete(a)}};if(!d){p();return}if(l===`raf`){var m=requestAnimationFrame(p);DN.set(a,m)}else if(typeof l==`number`){if(!ON.has(a)){p();var h=setTimeout(p,l);ON.set(a,h)}}else p()}}});var AN=B([B([oS],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(t)}}}),jN=Sa(`touchMove`),MN=Ao(),NN=null,PN=null,FN=null,IN=null;MN.startListening({actionCreator:jN,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){IN=wN(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);NN!==null&&(cancelAnimationFrame(NN),NN=null),PN!==null&&(typeof i!=`number`||!o)&&(clearTimeout(PN),PN=null),FN=Array.from(n.touches).map(e=>nN({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(IN!=null){var e=t.getState(),n=Dx(e,e.tooltip.settings.shared);if(n===`axis`){var r=FN?.[0];if(r==null){NN=null,PN=null;return}var i=eN(e,r);i?.activeIndex!=null&&t.dispatch(Bx({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=IN.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(gs),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=bS(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=AN(e,s,c);t.dispatch(Rx({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}NN=null,PN=null}};if(!o){s();return}i===`raf`?NN=requestAnimationFrame(s):typeof i==`number`&&PN===null&&(s(),IN=null,PN=setTimeout(()=>{IN?s():(PN=null,NN=null)},i))}}});var LN={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},RN=Ua({name:`eventSettings`,initialState:LN,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=V(t.payload.throttledEvents))}}}),zN=RN.actions.setEventSettings,BN=RN.reducer,VN=Kr({brush:zO,cartesianAxis:TO,chartData:yw,errorBars:FA,eventSettings:BN,graphicalItems:XD,layout:Ro,legend:Oc,options:fw,polarAxis:XE,polarOptions:gN,referenceElements:WO,renderedTicks:Ek,rootProps:pN,tooltip:Wx,zIndex:KC}),HN=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return Na({reducer:VN,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([iN.middleware,oN.middleware,bN.middleware,EN.middleware,MN.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(ja({type:`raf`}))},devTools:gl.devToolsEnabled&&{serialize:{replacer:uN},name:`recharts-${t}`}})};function UN(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=js(),a=(0,p.useRef)(null);if(i)return n;a.current??=HN(t,r);var o=$n;return p.createElement(Wc,{context:o,store:a.current},n)}function WN(e){var t=e.layout,n=e.margin,r=R(),i=js();return(0,p.useEffect)(()=>{i||(r(Fo(t)),r(Po(n)))},[r,i,t,n]),null}var GN=(0,p.memo)(WN,qc);function KN(e){var t=R();return(0,p.useEffect)(()=>{t(mN(e))},[t,e]),null}var qN=(0,p.memo)(e=>{var t=R();return(0,p.useEffect)(()=>{t(zN(e))},[t,e]),null},qc);function JN(e){var t=e.zIndex,n=e.isPanorama,r=(0,p.useRef)(null),i=R();return(0,p.useLayoutEffect)(()=>(r.current&&i(WC({zIndex:t,element:r.current,isPanorama:n})),()=>{i(GC({zIndex:t,isPanorama:n}))}),[i,t,n]),p.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function YN(e){var t=e.children,n=e.isPanorama,r=z(jC);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return p.createElement(p.Fragment,null,i.map(e=>p.createElement(JN,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>p.createElement(JN,{key:e,zIndex:e,isPanorama:n})))}var XN=[`children`];function ZN(e,t){if(e==null)return{};var n,r,i=QN(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=gc(),r=_c(),i=Rl();if(!Bo(n)||!Bo(r))return null;var a=e.children,o=e.otherAttributes,s=e.title,c=e.desc,l,u;return o!=null&&(l=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,u=typeof o.role==`string`?o.role:i?`application`:void 0),p.createElement(T,$N({},o,{title:s,desc:c,role:u,tabIndex:l,width:n,height:r,style:eP,ref:t}),a)}),nP=e=>{var t=e.children,n=z(Ns);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return p.createElement(T,{width:r,height:i,x:o,y:a},t)},rP=(0,p.forwardRef)((e,t)=>{var n=e.children,r=ZN(e,XN);return js()?p.createElement(nP,null,p.createElement(YN,{isPanorama:!0},n)):p.createElement(tP,$N({ref:t},r),p.createElement(YN,{isPanorama:!1},n))});function iP(e,t){return lP(e)||cP(e,t)||oP(e,t)||aP()}function aP(){throw TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oP(e,t){if(e){if(typeof e==`string`)return sP(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?sP(e,t):void 0}}function sP(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;U(t)&&t!==i&&e(Lo(t))}},[n,e,i]),r}function dP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function fP(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n(Aw(),null);function wP(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var TP=(0,p.forwardRef)((e,t)=>{var n=(0,p.useRef)(null),r=_P((0,p.useState)({containerWidth:wP(e.style?.width),containerHeight:wP(e.style?.height)}),2),i=r[0],a=r[1],o=(0,p.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),s=(0,p.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,p.useEffect)(()=>()=>{n.current?.disconnect()},[o]),p.createElement(p.Fragment,null,p.createElement(Sc,{width:i.containerWidth,height:i.containerHeight}),p.createElement(`div`,gP({ref:s},e)))}),EP=(0,p.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=_P((0,p.useState)({containerWidth:wP(n),containerHeight:wP(r)}),2),a=i[0],o=i[1],s=(0,p.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,p.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;s(r,i)}},[t,s]);return p.createElement(p.Fragment,null,p.createElement(Sc,{width:a.containerWidth,height:a.containerHeight}),p.createElement(`div`,gP({ref:c},e)))}),DP=(0,p.forwardRef)((e,t)=>{var n=e.width,r=e.height;return p.createElement(p.Fragment,null,p.createElement(Sc,{width:n,height:r}),p.createElement(`div`,gP({ref:t},e)))}),OP=(0,p.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?p.createElement(EP,gP({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?p.createElement(DP,gP({},e,{width:n,height:r,ref:t})):p.createElement(p.Fragment,null,p.createElement(Sc,{width:n,height:r}),p.createElement(`div`,gP({ref:t},e)))});function kP(e){return e?TP:OP}var AP=(0,p.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,s=e.onContextMenu,c=e.onDoubleClick,l=e.onMouseDown,u=e.onMouseEnter,d=e.onMouseLeave,f=e.onMouseMove,m=e.onMouseUp,h=e.onTouchEnd,g=e.onTouchMove,_=e.onTouchStart,v=e.style,y=e.width,b=e.responsive,x=e.dispatchTouchEvents,S=x===void 0||x,C=(0,p.useRef)(null),w=R(),T=_P((0,p.useState)(null),2),E=T[0],D=T[1],O=_P((0,p.useState)(null),2),k=O[0],A=O[1],j=uP(),M=uc(),N=M?.width>0?M.width:y,ee=M?.height>0?M.height:i,te=(0,p.useCallback)(e=>{j(e),typeof t==`function`&&t(e),D(e),A(e),e!=null&&(C.current=e)},[j,t,D,A]),ne=(0,p.useCallback)(e=>{w(rN(e)),w(TN({handler:a,reactEvent:e}))},[w,a]),re=(0,p.useCallback)(e=>{w(aN(e)),w(TN({handler:u,reactEvent:e}))},[w,u]),ie=(0,p.useCallback)(e=>{w(zx()),w(TN({handler:d,reactEvent:e}))},[w,d]),ae=(0,p.useCallback)(e=>{w(aN(e)),w(TN({handler:f,reactEvent:e}))},[w,f]),oe=(0,p.useCallback)(()=>{w(vN())},[w]),se=(0,p.useCallback)(()=>{w(yN())},[w]),ce=(0,p.useCallback)(e=>{w(_N(e.key))},[w]),P=(0,p.useCallback)(e=>{w(TN({handler:s,reactEvent:e}))},[w,s]),le=(0,p.useCallback)(e=>{w(TN({handler:c,reactEvent:e}))},[w,c]),ue=(0,p.useCallback)(e=>{w(TN({handler:l,reactEvent:e}))},[w,l]),de=(0,p.useCallback)(e=>{w(TN({handler:m,reactEvent:e}))},[w,m]),F=(0,p.useCallback)(e=>{w(TN({handler:_,reactEvent:e}))},[w,_]),fe=(0,p.useCallback)(e=>{S&&w(jN(e)),w(TN({handler:g,reactEvent:e}))},[w,S,g]),pe=(0,p.useCallback)(e=>{w(TN({handler:h,reactEvent:e}))},[w,h]),me=kP(b);return p.createElement(iw.Provider,{value:E},p.createElement(je.Provider,{value:k},p.createElement(me,{width:N??v?.width,height:ee??v?.height,className:o(`recharts-wrapper`,r),style:fP({position:`relative`,cursor:`default`,width:N,height:ee},v),onClick:ne,onContextMenu:P,onDoubleClick:le,onFocus:oe,onBlur:se,onKeyDown:ce,onMouseDown:ue,onMouseEnter:re,onMouseLeave:ie,onMouseMove:ae,onMouseUp:de,onTouchEnd:pe,onTouchMove:fe,onTouchStart:F,ref:te},p.createElement(CP,null),n)))}),jP=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function MP(e,t){if(e==null)return{};var n,r,i=NP(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,s=e.style,c=e.compact,l=e.title,u=e.desc,d=_(MP(e,jP));return c?p.createElement(p.Fragment,null,p.createElement(Sc,{width:n,height:r}),p.createElement(rP,{otherAttributes:d,title:l,desc:u},a)):p.createElement(AP,{className:o,style:s,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},p.createElement(rP,{otherAttributes:d,title:l,desc:u,ref:t},p.createElement(QO,null,a)))});function FP(){return FP=Object.assign?Object.assign.bind():function(e){for(var t=1;tp.createElement(HP,{chartName:`ComposedChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:UP,tooltipPayloadSearcher:uw,categoricalChartProps:e,ref:t})),$=e();function GP(e,t,n){let r=new Date(e);return Number.isFinite(r.getTime())?new Intl.DateTimeFormat(n===`zh`?`zh-CN`:`en-US`,t?{month:`short`,day:`numeric`}:{hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(r):``}function KP(e){if(e<=1)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t;return(n<=1?1:n<=2?2:n<=5?5:10)*t}function qP({active:e,payload:t,daily:n,lang:r,okLabel:i,errorLabel:a}){if(!e||!t?.[0])return null;let o=t[0].payload;return(0,$.jsxs)(`div`,{className:`rounded-xl border border-border bg-overlay px-3 py-2 text-[11px] text-overlay-foreground shadow-overlay`,children:[(0,$.jsx)(`div`,{className:`mono text-muted`,children:GP(o.at,n,r)}),(0,$.jsxs)(`div`,{className:`mt-1.5 grid gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-success`}),i]}),(0,$.jsx)(`span`,{className:`mono font-medium`,children:o.okCount})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-danger`}),a]}),(0,$.jsx)(`span`,{className:`mono font-medium`,children:o.errorCount})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-6 border-t border-separator pt-1`,children:[(0,$.jsx)(`span`,{className:`text-muted`,children:`total`}),(0,$.jsx)(`span`,{className:`mono font-medium`,children:o.requests})]})]})]})}function JP({series:e,lang:t,emptyLabel:n,okLabel:r,errorLabel:i}){let o=(0,p.useRef)(null),c=(0,p.useMemo)(()=>e.map(e=>{let t=Math.max(0,e.ok??e.requests-e.error),n=Math.min(Math.max(0,e.requests-t),Math.max(0,e.requests));return{...e,okCount:t,errorCount:n}}),[e]),u=c[0],d=c[c.length-1],f=(u&&d?Date.parse(d.at)-Date.parse(u.at):0)>1728e5,m=Math.max(0,...c.map(e=>e.requests)),h=KP(m),g=c.some(e=>e.requests>0),_=c.map(e=>`${e.at}:${e.requests}:${e.error}`).join(`|`);return(0,p.useLayoutEffect)(()=>{let e=o.current;if(!e||!g)return;let t=!1,n=null,r=s.context(()=>{let r=s.matchMedia(),i=()=>{let t=s.utils.toArray(`.recharts-area-area`,e),n=s.utils.toArray(`.recharts-line-curve`,e);return!t.length&&!n.length?!1:(r.add(`(prefers-reduced-motion: reduce)`,()=>{s.set(n,{clearProps:`strokeDashoffset,strokeDasharray`}),s.set(t,{clearProps:`autoAlpha`})}),r.add(`(prefers-reduced-motion: no-preference)`,()=>{s.fromTo(t,{autoAlpha:0},{autoAlpha:1,duration:.45,ease:`power2.out`,stagger:.05}),n.forEach((e,t)=>{let n=e.getTotalLength();s.fromTo(e,{strokeDasharray:n,strokeDashoffset:n},{strokeDashoffset:0,duration:.7,delay:t*.05,ease:`power2.out`})})}),!0)};if(i()){t=!0;return}n=new MutationObserver(()=>{t||i()&&(t=!0,n?.disconnect())}),n.observe(e,{childList:!0,subtree:!0})},e);return()=>{n?.disconnect(),r.revert()}},[g,_]),!e.length||!g?(0,$.jsx)(l,{emptyLabel:n}):(0,$.jsxs)(`div`,{ref:o,className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`h-72 w-full`,children:(0,$.jsx)(fc,{width:`100%`,height:`100%`,children:(0,$.jsxs)(WP,{data:c,margin:{top:8,right:8,bottom:0,left:0},children:[(0,$.jsxs)(`defs`,{children:[(0,$.jsxs)(`linearGradient`,{id:`traffic-ok`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--success)`,stopOpacity:.28}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--success)`,stopOpacity:.02})]}),(0,$.jsxs)(`linearGradient`,{id:`traffic-error`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0%`,stopColor:`var(--danger)`,stopOpacity:.22}),(0,$.jsx)(`stop`,{offset:`100%`,stopColor:`var(--danger)`,stopOpacity:.02})]})]}),(0,$.jsx)(bA,{vertical:!1,stroke:`var(--separator)`,strokeDasharray:`3 6`}),(0,$.jsx)(RM,{dataKey:`at`,tickLine:!1,axisLine:!1,minTickGap:28,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>GP(e,f,t)}),(0,$.jsx)($M,{width:36,domain:[0,h],tickLine:!1,axisLine:!1,allowDecimals:!1,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>a(e)}),(0,$.jsx)(qw,{cursor:{stroke:`var(--border)`,strokeDasharray:`3 3`},content:(0,$.jsx)(qP,{daily:f,lang:t,okLabel:r,errorLabel:i})}),(0,$.jsx)(_M,{type:`monotone`,dataKey:`okCount`,stroke:`none`,fill:`url(#traffic-ok)`,isAnimationActive:!1,activeDot:!1,dot:!1,className:`traffic-ok-area`}),(0,$.jsx)(_M,{type:`monotone`,dataKey:`errorCount`,stroke:`none`,fill:`url(#traffic-error)`,isAnimationActive:!1,activeDot:!1,dot:!1,className:`traffic-error-area`}),(0,$.jsx)(wj,{type:`monotone`,dataKey:`okCount`,stroke:`var(--success)`,strokeWidth:1.75,dot:!1,isAnimationActive:!1,activeDot:{r:4,fill:`var(--surface)`,stroke:`var(--success)`,strokeWidth:1.5},className:`traffic-ok-line`}),(0,$.jsx)(wj,{type:`monotone`,dataKey:`errorCount`,stroke:`var(--danger)`,strokeWidth:1.25,strokeOpacity:.7,dot:!1,isAnimationActive:!1,activeDot:{r:4,fill:`var(--surface)`,stroke:`var(--danger)`,strokeWidth:1.5},className:`traffic-error-line`})]})})}),(0,$.jsxs)(`div`,{className:`mt-2 flex min-h-5 items-center justify-between gap-3 text-[10px] text-muted`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-success`}),r]}),(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-danger`}),i]})]}),(0,$.jsxs)(`span`,{className:`mono`,children:[a(m),` peak`]})]})]})}export{JP as TrafficChart}; \ No newline at end of file diff --git a/internal/webui/static/assets/TrafficChart-DhJ4-yS6.js b/internal/webui/static/assets/TrafficChart-DhJ4-yS6.js new file mode 100644 index 00000000..e556b046 --- /dev/null +++ b/internal/webui/static/assets/TrafficChart-DhJ4-yS6.js @@ -0,0 +1 @@ +import{f as e,i as t,l as n,o as r,r as i,s as a,t as o}from"./index-Csxv7Rej.js";import{A as s,B as c,C as l,D as u,E as d,F as f,G as p,H as m,I as h,J as g,K as _,L as v,M as y,N as b,O as x,P as S,R as C,S as w,T,U as ee,V as E,W as D,X as O,Y as te,Z as ne,_ as re,a as ie,b as ae,c as oe,d as se,f as ce,g as le,h as ue,i as k,j as de,k as fe,l as pe,m as me,n as he,o as ge,p as _e,q as A,r as j,s as M,t as N,u as P,v as F,w as I,x as ve,y as ye,z as L}from"./CartesianChart-L2THuTTV.js";var R=e(n()),be=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`visibleLength`,`strokeDasharray`,`connectNulls`];function z(){return z=Object.assign?Object.assign.bind():function(e){for(var t=1;te+t,0);if(!i)return B(t,e);for(var a=Math.floor(e/i),o=e%i,s=[],c=0,l=0;co){s=[...r.slice(0,c),o-l];break}}var f=s.length%2==0?[0,t]:[t];return[...Te(r,a),...s,...f].map(e=>`${e}px`).join(`, `)}function De(e,t,n){return e?Ee(n,t,`${e}`.split(/[,\s]+/gim).map(e=>parseFloat(e))):B(t,n)}function Oe(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,i=xe(e,be),a=r??!1,o;if(t!=null){var s=i.pathRef;o=De(n,Ce(s?.current??null),t)}else n!=null&&(o=String(n));return R.createElement(de,z({},i,{connectNulls:a,strokeDasharray:o}))}function ke(e){var t=(0,R.useRef)(0),n=(0,R.useRef)(0),r=(0,R.useRef)(!1),i=(0,R.useRef)(e);return i.current!==e&&(t.current=n.current,i.current=e),(0,R.useCallback)((e,i)=>{if(r.current)return null;var a=Math.min(g(t.current+e*i),i);return e>0&&i>0&&(n.current=Math.max(n.current,a),a>=i)?(r.current=!0,null):a},[])}var Ae=[`children`];function je(e,t){if(e==null)return{};var n,r,i=Me(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0});function Pe(e){var t=e.children,n=je(e,Ae);return R.createElement(Ne.Provider,{value:n},t)}var V=(e,t,n,r)=>d(e,`xAxis`,t,r),H=(e,t,n,r)=>u(e,`xAxis`,t,r),U=(e,t,n,r)=>d(e,`yAxis`,n,r),W=(e,t,n,r)=>u(e,`yAxis`,n,r),Fe=m([b,V,U,H,W],(e,t,n,r,i)=>E(e,`xAxis`)?v(t,r,!1):v(n,i,!1)),Ie=(e,t,n,r,i)=>i;function Le(e){return e.type===`line`}var Re=m([x,Ie],(e,t)=>e.filter(Le).find(e=>e.id===t)),ze=m([b,V,U,H,W,Re,Fe,s],(e,t,n,r,i,a,o,s)=>{var c=s.chartData,l=s.dataStartIndex,u=s.dataEndIndex;if(!(a==null||t==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||e!==`horizontal`&&e!==`vertical`)){var d=a.dataKey,f=a.data,p=f!=null&&f.length>0?f:c?.slice(l,u+1);if(p!=null)return it({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:d,bandSize:o,displayedData:p})}}),Be=[`id`],Ve=[`type`,`layout`,`connectNulls`,`needClip`,`shape`,`strokeDasharray`],He=[`activeDot`,`animateNewValues`,`animationBegin`,`animationDuration`,`animationEasing`,`connectNulls`,`dot`,`hide`,`isAnimationActive`,`label`,`legendType`,`xAxisId`,`yAxisId`,`id`];function G(){return G=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/n:0}var Y={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:`ease`,animationInterpolateFn:(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(e=>e.status===`removed`?[]:[e.next]);var n=Je(e),r=[];for(var i of e)if(i.status===`matched`)r.push(J(J({},i.next),{},{x:p(i.prev.x,i.next.x,t),y:p(i.prev.y,i.next.y,t)}));else if(i.status===`added`){if(i.next.x!=null){var a=i.next.x-n;r.push(J(J({},i.next),{},{x:p(a,i.next.x,t),y:i.next.y}))}else r.push(i.next)}else if(i.status===`removed`&&i.prev.x!=null){var o=i.prev.x+n;r.push(J(J({},i.prev),{},{x:p(i.prev.x,o,t),y:i.prev.y}))}return r},animationMatchBy:le,connectNulls:!1,dot:!0,fill:`#fff`,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`line`,shape:Oe,stroke:`#3182bd`,strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:fe.line,type:`linear`},Ye=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:L(n,t),payload:e}]},Xe=R.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,d=e.id,f={dataDefinedOnItem:n,getPosition:A,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:L(o,t),hide:s,type:u,color:r,unit:c,formatter:l,graphicalItemId:d}};return R.createElement(F,{tooltipEntrySettings:f})});function Ze(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.dot,a=r.dataKey,o=r.needClip;r.id;var s=K(r,Be),c=ne(s);return R.createElement(se,{points:n,dot:i,className:`recharts-line-dots`,dotClassName:`recharts-line-dot`,dataKey:a,baseProps:c,needClip:o,clipPathId:t})}function Qe(e){var t=e.showLabels,n=e.children,r=e.points,i=(0,R.useMemo)(()=>r?.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return J(J({},t),{},{value:e.value,payload:e.payload,viewBox:t,parentViewBox:void 0,fill:void 0})}),[r]);return R.createElement(ve,{value:t?i:void 0},n)}function $e(e){var t=e.clipPathId,n=e.pathRef,r=e.points,i=e.props,a=e.animationElapsedTime,o=e.isAnimating,s=e.isEntrance,c=e.visibleLength,l=i.type,u=i.layout,d=i.connectNulls,f=i.needClip,p=i.shape,m=i.strokeDasharray,h=K(i,Ve),g=J(J({},O(h)),{},{fill:`none`,className:`recharts-line-curve`,clipPath:f?`url(#clipPath-${t})`:void 0,points:r,type:l,layout:u,connectNulls:d,strokeDasharray:m??i.strokeDasharray,pathRef:n,animationElapsedTime:a,isAnimating:o,isEntrance:i.animateNewValues?s:!1,visibleLength:c});return R.createElement(R.Fragment,null,r?.length>1&&R.createElement(ye,{option:p,DefaultShape:Y.shape,shapeProps:g}),R.createElement(Ze,{points:r,clipPathId:t,props:i}))}function et(e){var t=e.clipPathId,n=e.props,r=e.pathRef,i=e.previousPointsRef,a=n.points,o=n.isAnimationActive,s=n.animationBegin,c=n.animationDuration,l=n.animationEasing,u=n.animationMatchBy,d=n.animationInterpolateFn,f=n.layout,p=qe(r.current),m=ue(n.onAnimationStart,n.onAnimationEnd),h=m.isAnimating,g=m.handleAnimationStart,_=m.handleAnimationEnd,v=!h,y=ke(a),b=(0,R.useCallback)(e=>e>0&&p>0,[p]);return R.createElement(Qe,{points:a,showLabels:v},n.children,R.createElement(me,{animationInput:a,animationIdPrefix:`recharts-line-`,items:a,previousItemsRef:i,isAnimationActive:o,animationBegin:s,animationDuration:c,animationEasing:l,onAnimationStart:g,onAnimationEnd:_,animationInterpolateFn:d,animationMatchBy:u,shouldUpdatePreviousRef:b,layout:f},(e,i,a)=>{var o=h||i<1,s=o?y(i,p):null;return R.createElement($e,{props:n,points:e,clipPathId:t,pathRef:r,animationElapsedTime:i,isAnimating:o,isEntrance:a,visibleLength:s})}),R.createElement(w,{label:n.label}))}function X(e){var t=e.clipPathId,n=e.props,r=(0,R.useRef)(null),i=(0,R.useRef)(null);return R.createElement(et,{props:n,clipPathId:t,previousPointsRef:r,pathRef:i})}var tt=(e,t)=>({x:e.x??void 0,y:e.y??void 0,value:e.value,errorVal:c(e.payload,t)}),nt=class extends R.Component{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,o=e.xAxisId,s=e.yAxisId,c=e.top,l=e.left,u=e.width,d=e.height,f=e.id,p=e.needClip,m=e.zIndex;if(t)return null;var h=a(`recharts-line`,i),g=f,_=ie(n),v=_.r,y=_.strokeWidth,b=ae(n),x=v*2+y,S=p?`url(#clipPath-${b?``:`dots-`}${g})`:void 0;return R.createElement(T,{zIndex:m},R.createElement(te,{className:h},p&&R.createElement(`defs`,null,R.createElement(ge,{clipPathId:g,xAxisId:o,yAxisId:s}),!b&&R.createElement(`clipPath`,{id:`clipPath-dots-${g}`},R.createElement(`rect`,{x:l-x/2,y:c-x/2,width:u+x,height:d+x}))),R.createElement(Pe,{xAxisId:o,yAxisId:s,data:r,dataPointFormatter:tt,errorBarOffset:0},R.createElement(X,{props:this.props,clipPathId:g}))),R.createElement(pe,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:S}))}};function rt(e){var t=D(e,Y),n=t.activeDot,r=t.animateNewValues,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.connectNulls,c=t.dot,l=t.hide,u=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,g=t.id,_=K(t,He),v=M(p,m).needClip,y=P(),b=S(),x=h(),C=ee(e=>ze(e,p,m,x,g));if(b!==`horizontal`&&b!==`vertical`||C==null||y==null)return null;var w=y.height,T=y.width,E=y.x,O=y.y;return R.createElement(nt,G({},_,{id:g,connectNulls:s,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:a,animationEasing:o,isAnimationActive:u,hide:l,label:d,legendType:f,xAxisId:p,yAxisId:m,points:C,layout:b,height:w,width:T,left:E,top:O,needClip:v}))}function it(e){var t=e.layout,n=e.xAxis,r=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,o=e.dataKey,s=e.bandSize;return e.displayedData.map((e,l)=>{var u=c(e,o);if(t===`horizontal`)return{x:C({axis:n,ticks:i,bandSize:s,entry:e,index:l}),y:(_(u)?null:r.scale.map(u))??null,value:u,payload:e};var d=_(u)?null:n.scale.map(u),f=C({axis:r,ticks:a,bandSize:s,entry:e,index:l});return d==null||f==null?null:{x:d,y:f,value:u,payload:e}}).filter(Boolean)}function at(e){var t=D(e,Y),n=h();return R.createElement(_e,{id:t.id,type:`line`},e=>R.createElement(R.Fragment,null,R.createElement(re,{legendPayload:Ye(t)}),R.createElement(Xe,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),R.createElement(ce,{type:`line`,id:e,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),R.createElement(rt,G({},t,{id:e}))))}var Z=R.memo(at,y);Z.displayName=`Line`;var ot=[`axis`],st=(0,R.forwardRef)((e,t)=>R.createElement(N,{chartName:`ComposedChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:ot,tooltipPayloadSearcher:I,categoricalChartProps:e,ref:t})),Q=r();function $(e,t,n){let r=new Date(e);return Number.isFinite(r.getTime())?new Intl.DateTimeFormat(n===`zh`?`zh-CN`:`en-US`,t?{month:`short`,day:`numeric`}:{hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(r):``}function ct(e){if(e<=1)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t;return(n<=1?1:n<=2?2:n<=5?5:10)*t}function lt({active:e,payload:t,daily:n,lang:r,okLabel:i,errorLabel:a}){if(!e||!t?.[0])return null;let o=t[0].payload;return(0,Q.jsxs)(`div`,{className:`rounded-xl border border-border bg-overlay px-3 py-2 text-[11px] text-overlay-foreground shadow-overlay`,children:[(0,Q.jsx)(`div`,{className:`mono text-muted`,children:$(o.at,n,r)}),(0,Q.jsxs)(`div`,{className:`mt-1.5 grid gap-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`size-1.5 rounded-full bg-success`}),i]}),(0,Q.jsx)(`span`,{className:`mono font-medium`,children:o.okCount})]}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-6`,children:[(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`size-1.5 rounded-full bg-danger`}),a]}),(0,Q.jsx)(`span`,{className:`mono font-medium`,children:o.errorCount})]}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-6 border-t border-separator pt-1`,children:[(0,Q.jsx)(`span`,{className:`text-muted`,children:`total`}),(0,Q.jsx)(`span`,{className:`mono font-medium`,children:o.requests})]})]})]})}function ut({series:e,lang:n,emptyLabel:r,okLabel:a,errorLabel:s}){let c=(0,R.useRef)(null),u=(0,R.useMemo)(()=>e.map(e=>{let t=Math.max(0,e.ok??e.requests-e.error),n=Math.min(Math.max(0,e.requests-t),Math.max(0,e.requests));return{...e,okCount:t,errorCount:n}}),[e]),d=u[0],p=u[u.length-1],m=(d&&p?Date.parse(p.at)-Date.parse(d.at):0)>1728e5,h=Math.max(0,...u.map(e=>e.requests)),g=ct(h),_=u.some(e=>e.requests>0),v=u.map(e=>`${e.at}:${e.requests}:${e.error}`).join(`|`);return(0,R.useLayoutEffect)(()=>{let e=c.current;if(!e||!_)return;let n=!1,r=null,i=t.context(()=>{let i=t.matchMedia(),a=()=>{let n=t.utils.toArray(`.recharts-area-area`,e),r=t.utils.toArray(`.recharts-line-curve`,e);return!n.length&&!r.length?!1:(i.add(`(prefers-reduced-motion: reduce)`,()=>{t.set(r,{clearProps:`strokeDashoffset,strokeDasharray`}),t.set(n,{clearProps:`autoAlpha`})}),i.add(`(prefers-reduced-motion: no-preference)`,()=>{t.fromTo(n,{autoAlpha:0},{autoAlpha:1,duration:.45,ease:`power2.out`,stagger:.05}),r.forEach((e,n)=>{let r=e.getTotalLength();t.fromTo(e,{strokeDasharray:r,strokeDashoffset:r},{strokeDashoffset:0,duration:.7,delay:n*.05,ease:`power2.out`})})}),!0)};if(a()){n=!0;return}r=new MutationObserver(()=>{n||a()&&(n=!0,r?.disconnect())}),r.observe(e,{childList:!0,subtree:!0})},e);return()=>{r?.disconnect(),i.revert()}},[_,v]),!e.length||!_?(0,Q.jsx)(o,{emptyLabel:r}):(0,Q.jsxs)(`div`,{ref:c,className:`min-w-0`,children:[(0,Q.jsx)(`div`,{className:`h-72 w-full`,children:(0,Q.jsx)(f,{width:`100%`,height:`100%`,children:(0,Q.jsxs)(st,{data:u,margin:{top:8,right:8,bottom:0,left:0},children:[(0,Q.jsxs)(`defs`,{children:[(0,Q.jsxs)(`linearGradient`,{id:`traffic-ok`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Q.jsx)(`stop`,{offset:`0%`,stopColor:`var(--success)`,stopOpacity:.28}),(0,Q.jsx)(`stop`,{offset:`100%`,stopColor:`var(--success)`,stopOpacity:.02})]}),(0,Q.jsxs)(`linearGradient`,{id:`traffic-error`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Q.jsx)(`stop`,{offset:`0%`,stopColor:`var(--danger)`,stopOpacity:.22}),(0,Q.jsx)(`stop`,{offset:`100%`,stopColor:`var(--danger)`,stopOpacity:.02})]})]}),(0,Q.jsx)(oe,{vertical:!1,stroke:`var(--separator)`,strokeDasharray:`3 6`}),(0,Q.jsx)(j,{dataKey:`at`,tickLine:!1,axisLine:!1,minTickGap:28,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>$(e,m,n)}),(0,Q.jsx)(he,{width:36,domain:[0,g],tickLine:!1,axisLine:!1,allowDecimals:!1,tick:{fill:`var(--muted)`,fontSize:10,fontFamily:`var(--font-mono)`},tickFormatter:e=>i(e)}),(0,Q.jsx)(l,{cursor:{stroke:`var(--border)`,strokeDasharray:`3 3`},content:(0,Q.jsx)(lt,{daily:m,lang:n,okLabel:a,errorLabel:s})}),(0,Q.jsx)(k,{type:`monotone`,dataKey:`okCount`,stroke:`none`,fill:`url(#traffic-ok)`,isAnimationActive:!1,activeDot:!1,dot:!1,className:`traffic-ok-area`}),(0,Q.jsx)(k,{type:`monotone`,dataKey:`errorCount`,stroke:`none`,fill:`url(#traffic-error)`,isAnimationActive:!1,activeDot:!1,dot:!1,className:`traffic-error-area`}),(0,Q.jsx)(Z,{type:`monotone`,dataKey:`okCount`,stroke:`var(--success)`,strokeWidth:1.75,dot:!1,isAnimationActive:!1,activeDot:{r:4,fill:`var(--surface)`,stroke:`var(--success)`,strokeWidth:1.5},className:`traffic-ok-line`}),(0,Q.jsx)(Z,{type:`monotone`,dataKey:`errorCount`,stroke:`var(--danger)`,strokeWidth:1.25,strokeOpacity:.7,dot:!1,isAnimationActive:!1,activeDot:{r:4,fill:`var(--surface)`,stroke:`var(--danger)`,strokeWidth:1.5},className:`traffic-error-line`})]})})}),(0,Q.jsxs)(`div`,{className:`mt-2 flex min-h-5 items-center justify-between gap-3 text-[10px] text-muted`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`size-1.5 rounded-full bg-success`}),a]}),(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`size-1.5 rounded-full bg-danger`}),s]})]}),(0,Q.jsxs)(`span`,{className:`mono`,children:[i(h),` peak`]})]})]})}export{ut as TrafficChart}; \ No newline at end of file diff --git a/internal/webui/static/assets/index-Csxv7Rej.js b/internal/webui/static/assets/index-Csxv7Rej.js new file mode 100644 index 00000000..f84e3791 --- /dev/null +++ b/internal/webui/static/assets/index-Csxv7Rej.js @@ -0,0 +1,29 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TrafficChart-DhJ4-yS6.js","assets/CartesianChart-L2THuTTV.js","assets/CostChart-CElvBh-x.js"])))=>i.map(i=>d[i]); +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u{t.exports=u()})),f=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=d();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=p(),n=d(),r=h();function i(e){var t=`https://react.dev/errors/`+e;if(1te||(e.current=R[te],R[te]=null,te--)}function B(e,t){te++,R[te]=e.current,e.current=t}var re=ne(null),ie=ne(null),ae=ne(null),oe=ne(null);function se(e,t){switch(B(ae,t),B(ie,e),B(re,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Jd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Jd(t),e=Yd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}z(re),B(re,e)}function ce(){z(re),z(ie),z(ae)}function le(e){e.memoizedState!==null&&B(oe,e);var t=re.current,n=Yd(t,e.type);t!==n&&(B(ie,e),B(re,n))}function ue(e){ie.current===e&&(z(re),z(ie)),oe.current===e&&(z(oe),ip._currentValue=L)}var de,fe;function pe(e){if(de===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||``,fe=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{me=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?pe(n):``}function ge(e,t){switch(e.tag){case 26:case 27:case 5:return pe(e.type);case 16:return pe(`Lazy`);case 13:return e.child!==t&&t!==null?pe(`Suspense Fallback`):pe(`Suspense`);case 19:return pe(`SuspenseList`);case 0:case 15:return he(e.type,!1);case 11:return he(e.type.render,!1);case 1:return he(e.type,!0);case 31:return pe(`Activity`);default:return``}}function _e(e){try{var t=``,n=null;do t+=ge(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var ve=Object.prototype.hasOwnProperty,ye=t.unstable_scheduleCallback,be=t.unstable_cancelCallback,xe=t.unstable_shouldYield,Se=t.unstable_requestPaint,Ce=t.unstable_now,we=t.unstable_getCurrentPriorityLevel,Te=t.unstable_ImmediatePriority,Ee=t.unstable_UserBlockingPriority,De=t.unstable_NormalPriority,Oe=t.unstable_LowPriority,ke=t.unstable_IdlePriority,Ae=t.log,je=t.unstable_setDisableYieldValue,Me=null,Ne=null;function Pe(e){if(typeof Ae==`function`&&je(e),Ne&&typeof Ne.setStrictMode==`function`)try{Ne.setStrictMode(Me,e)}catch{}}var Fe=Math.clz32?Math.clz32:Re,Ie=Math.log,Le=Math.LN2;function Re(e){return e>>>=0,e===0?32:31-(Ie(e)/Le|0)|0}var ze=256,Be=262144,Ve=4194304;function He(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ue(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=He(n))):i=He(o):i=He(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=He(n))):i=He(o)):i=He(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function We(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ge(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ke(){var e=Ve;return Ve<<=1,!(Ve&62914560)&&(Ve=4194304),e}function qe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Je(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ye(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),cn=!1;if(sn)try{var ln={};Object.defineProperty(ln,"passive",{get:function(){cn=!0}}),window.addEventListener(`test`,ln,ln),window.removeEventListener(`test`,ln,ln)}catch{cn=!1}var un=null,dn=null,fn=null;function pn(){if(fn)return fn;var e,t=dn,n=t.length,r,i=`value`in un?un.value:un.textContent,a=i.length;for(e=0;e=Gn),Jn=` `,Yn=!1;function Xn(e,t){switch(e){case`keyup`:return Un.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Zn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Qn=!1;function $n(e,t){switch(e){case`compositionend`:return Zn(t);case`keypress`:return t.which===32?(Yn=!0,Jn):null;case`textInput`:return e=t.data,e===Jn&&Yn?null:e;default:return null}}function er(e,t){if(Qn)return e===`compositionend`||!Wn&&Xn(e,t)?(e=pn(),fn=dn=un=null,Qn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Sr(n)}}function wr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?wr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Tr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Pt(e.document)}return t}function Er(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Dr=sn&&`documentMode`in document&&11>=document.documentMode,Or=null,kr=null,Ar=null,jr=!1;function Mr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;jr||Or==null||Or!==Pt(r)||(r=Or,`selectionStart`in r&&Er(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ar&&xr(Ar,r)||(Ar=r,r=Md(kr,`onSelect`),0>=o,i-=o,wi=1<<32-Fe(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Ni&&Ei(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Ni&&Ei(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Ni&&Ei(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),Ni&&Ei(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Da(l)===r.type){n(e,r.sibling),c=a(r,o.props),Pa(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===y?(c=di(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ui(o.type,o.key,o.props,null,e.mode,c),Pa(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=mi(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Da(o),b(e,r,o,c)}if(P(o))return h(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Na(o),c);if(o.$$typeof===C)return b(e,r,ta(e,o),c);Fa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=fi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ma=0;var i=b(e,t,n,r);return ja=null,i}catch(t){if(t===xa||t===Ca)throw t;var a=oi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var La=Ia(!0),Ra=Ia(!1),za=!1;function Ba(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Va(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ha(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ua(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,zl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ri(e),ni(e,null,n),t}return $r(e,r,t,n),ri(e)}function Wa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}function Ga(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ka=!1;function qa(){if(Ka){var e=fa;if(e!==null)throw e}}function Ja(e,t,n,r){Ka=!1;var i=e.updateQueue;za=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Hl&f)===f:(r&f)===f){f!==0&&f===da&&(Ka=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:za=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Xl|=o,e.lanes=o,e.memoizedState=d}}function Ya(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Xa(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=F.T,s={};F.T=s,Ps(e,!1,t,n);try{var c=i(),l=F.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ns(e,t,ha(c,r),vu(e)):Ns(e,t,r,vu(e))}catch(n){Ns(e,t,{then:function(){},status:`rejected`,reason:n},vu())}finally{I.p=a,o!==null&&s.types!==null&&(o.types=s.types),F.T=o}}function Cs(){}function ws(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Ts(e).queue;Ss(e,a,t,L,n===null?Cs:function(){return Es(e),n(r)})}function Ts(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:L,baseState:L,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:L},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Es(e){var t=Ts(e);t.next===null&&(t=e.alternate.memoizedState),Ns(e,t.next.queue,{},vu())}function Ds(){return ea(ip)}function Os(){return No().memoizedState}function ks(){return No().memoizedState}function As(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=vu();e=Ha(n);var r=Ua(t,e,n);r!==null&&(bu(r,t,n),Wa(r,t,n)),t={cache:sa()},e.payload=t;return}t=t.return}}function js(e,t,n){var r=vu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Fs(e)?Is(t,n):(n=ei(e,t,n,r),n!==null&&(bu(n,e,r),Ls(n,t,r)))}function Ms(e,t,n){Ns(e,t,n,vu())}function Ns(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Fs(e))Is(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,br(s,o))return $r(e,t,i,0),Bl===null&&Qr(),!1}catch{}if(n=ei(e,t,i,r),n!==null)return bu(n,e,r),Ls(n,t,r),!0}return!1}function Ps(e,t,n,r){if(r={lane:2,revertLane:gd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Fs(e)){if(t)throw Error(i(479))}else t=ei(e,n,r,2),t!==null&&bu(t,e,2)}function Fs(e){var t=e.alternate;return e===po||t!==null&&t===po}function Is(e,t){_o=go=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ls(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}var Rs={readContext:ea,use:Io,useCallback:Co,useContext:Co,useEffect:Co,useImperativeHandle:Co,useLayoutEffect:Co,useInsertionEffect:Co,useMemo:Co,useReducer:Co,useRef:Co,useState:Co,useDebugValue:Co,useDeferredValue:Co,useTransition:Co,useSyncExternalStore:Co,useId:Co,useHostTransitionStatus:Co,useFormState:Co,useActionState:Co,useOptimistic:Co,useMemoCache:Co,useCacheRefresh:Co};Rs.useEffectEvent=Co;var zs={readContext:ea,use:Io,useCallback:function(e,t){return Mo().memoizedState=[e,t===void 0?null:t],e},useContext:ea,useEffect:ls,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),cs(4194308,4,hs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cs(4194308,4,e,t)},useInsertionEffect:function(e,t){cs(4,2,e,t)},useMemo:function(e,t){var n=Mo();t=t===void 0?null:t;var r=e();if(vo){Pe(!0);try{e()}finally{Pe(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Mo();if(n!==void 0){var i=n(t);if(vo){Pe(!0);try{n(t)}finally{Pe(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=js.bind(null,po,e),[r.memoizedState,e]},useRef:function(e){var t=Mo();return e={current:e},t.memoizedState=e},useState:function(e){e=Jo(e);var t=e.queue,n=Ms.bind(null,po,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:_s,useDeferredValue:function(e,t){return bs(Mo(),e,t)},useTransition:function(){var e=Jo(!1);return e=Ss.bind(null,po,e.queue,!0,!1),Mo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=po,a=Mo();if(Ni){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Bl===null)throw Error(i(349));Hl&127||Uo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ls(Go.bind(null,r,o,e),[e]),r.flags|=2048,os(9,{destroy:void 0},Wo.bind(null,r,o,n,t),null),n},useId:function(){var e=Mo(),t=Bl.identifierPrefix;if(Ni){var n=Ti,r=wi;n=(r&~(1<<32-Fe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=yo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[it]=t,o[at]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Vd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&jc(t)}}return Ic(t),Mc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&jc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ae.current,Bi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=ji,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[it]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Rd(e.nodeValue,n)),e||Li(t,!0)}else e=qd(e).createTextNode(r),e[it]=t,t.stateNode=e}return Ic(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Bi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[it]=t}else Vi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),e=!1}else n=Hi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(co(t),t):(co(t),null);if(t.flags&128)throw Error(i(558))}return Ic(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Bi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[it]=t}else Vi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),a=!1}else a=Hi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(co(t),t):(co(t),null)}return co(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Pc(t,t.updateQueue),Ic(t),null);case 4:return ce(),e===null&&Od(t.stateNode.containerInfo),Ic(t),null;case 10:return Ji(t.type),Ic(t),null;case 19:if(z(lo),r=t.memoizedState,r===null)return Ic(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)Fc(r,!1);else{if(Yl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=uo(e),o!==null){for(t.flags|=128,Fc(r,!1),e=o.updateQueue,t.updateQueue=e,Pc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)li(n,e),n=n.sibling;return B(lo,lo.current&1|2),Ni&&Ei(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ce()>ou&&(t.flags|=128,a=!0,Fc(r,!1),t.lanes=4194304)}}else{if(!a){if(e=uo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Pc(t,e),Fc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Ni)return Ic(t),null}else 2*Ce()-r.renderingStartTime>ou&&n!==536870912&&(t.flags|=128,a=!0,Fc(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Ic(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ce(),e.sibling=null,n=lo.current,B(lo,a?n&1|2:n&1),Ni&&Ei(t,r.treeForkCount),e);case 22:case 23:return co(t),to(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Ic(t),t.subtreeFlags&6&&(t.flags|=8192)):Ic(t),n=t.updateQueue,n!==null&&Pc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&z(_a),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ji(oa),Ic(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Rc(e,t){switch(ki(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ji(oa),ce(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(co(t),t.alternate===null)throw Error(i(340));Vi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(co(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Vi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return z(lo),null;case 4:return ce(),null;case 10:return Ji(t.type),null;case 22:case 23:return co(t),to(),e!==null&&z(_a),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ji(oa),null;case 25:return null;default:return null}}function zc(e,t){switch(ki(t),t.tag){case 3:Ji(oa),ce();break;case 26:case 27:case 5:ue(t);break;case 4:ce();break;case 31:t.memoizedState!==null&&co(t);break;case 13:co(t);break;case 19:z(lo);break;case 10:Ji(t.type);break;case 22:case 23:co(t),to(),e!==null&&z(_a);break;case 24:Ji(oa)}}function Bc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Yu(t,t.return,e)}}function Vc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Yu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Yu(t,t.return,e)}}function Hc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Xa(t,n)}catch(t){Yu(e,e.return,t)}}}function Uc(e,t,n){n.props=Ks(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Yu(e,t,n)}}function Wc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Yu(e,t,n)}}function Gc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Yu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Yu(e,t,n)}else n.current=null}}function Kc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Yu(e,e.return,t)}}function qc(e,t,n){try{var r=e.stateNode;Hd(r,e.type,n,t),r[at]=t}catch(t){Yu(e,e.return,t)}}function Jc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&af(e.type)||e.tag===4}function Yc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Jc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&af(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Zt));else if(r!==4&&(r===27&&af(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&af(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Vd(t,r,n),t[it]=e,t[at]=n}catch(t){Yu(e,e.return,t)}}var $c=!1,el=!1,tl=!1,nl=typeof WeakSet==`function`?WeakSet:Set,rl=null;function il(e,t){if(e=e.containerInfo,Gd=pp,e=Tr(e),Er(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Kd={focusedElem:e,selectionRange:n},pp=!1,rl=t;rl!==null;)if(t=rl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,rl=e;else for(;rl!==null;){switch(t=rl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Vd(o,r,n),o[it]=e,_t(o),r=o;break a;case`link`:var s=qf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Cr(s,h),v=Cr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,F.T=null,n=mu,mu=null;var o=uu,s=fu;if(lu=0,du=uu=null,fu=0,zl&6)throw Error(i(331));var c=zl;if(zl|=4,Pl(o.current),El(o,o.current,s,n),zl=c,ld(0,!1),Ne&&typeof Ne.onPostCommitFiberRoot==`function`)try{Ne.onPostCommitFiberRoot(Me,o)}catch{}return!0}finally{I.p=a,F.T=r,Gu(e,t)}}function Ju(e,t,n){t=gi(n,t),t=Qs(e.stateNode,t,2),e=Ua(e,t,2),e!==null&&(Je(e,2),cd(e))}function Yu(e,t,n){if(e.tag===3)Ju(e,e,n);else for(;t!==null;){if(t.tag===3){Ju(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(cu===null||!cu.has(r))){e=gi(n,e),n=$s(2),r=Ua(t,n,2),r!==null&&(ec(n,r,t,e),Je(r,2),cd(r));break}}t=t.return}}function Xu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ql=!0,i.add(n),e=Zu.bind(null,e,t,n),t.then(e,e))}function Zu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Bl===e&&(Hl&n)===n&&(Yl===4||Yl===3&&(Hl&62914560)===Hl&&300>Ce()-iu?!(zl&2)&&K(e,0):Ql|=n,eu===Hl&&(eu=0)),cd(e)}function Qu(e,t){t===0&&(t=Ke()),e=ti(e,t),e!==null&&(Je(e,t),cd(e))}function $u(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Qu(e,n)}function ed(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),Qu(e,n)}function td(e,t){return ye(e,t)}var nd=null,rd=null,id=!1,ad=!1,od=!1,sd=0;function cd(e){e!==rd&&e.next===null&&(rd===null?nd=rd=e:rd=rd.next=e),ad=!0,id||(id=!0,hd())}function ld(e,t){if(!od&&ad){od=!0;do for(var n=!1,r=nd;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Fe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,md(r,a))}else a=Hl,a=Ue(r,r===Bl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||We(r,a)||(n=!0,md(r,a))}r=r.next}while(n);od=!1}}function ud(){dd()}function dd(){ad=id=!1;var e=0;sd!==0&&Qd()&&(e=sd);for(var t=Ce(),n=null,r=nd;r!==null;){var i=r.next,a=fd(r,t);a===0?(r.next=null,n===null?nd=i:n.next=i,i===null&&(rd=n)):(n=r,(e!==0||a&3)&&(ad=!0)),r=i}lu!==0&&lu!==5||ld(e,!1),sd!==0&&(sd=0)}function fd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Ud(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function Df(e,t,n){var r=Ef;if(r&&typeof t==`string`&&t){var i=It(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),xf.has(i)||(xf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Vd(t,`link`,e),_t(t),r.head.appendChild(t)))}}function Of(e){Cf.D(e),Df(`dns-prefetch`,e,null)}function kf(e,t){Cf.C(e,t),Df(`preconnect`,e,t)}function Af(e,t,n){Cf.L(e,t,n);var r=Ef;if(r&&e&&t){var i=`link[rel="preload"][as="`+It(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+It(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+It(n.imageSizes)+`"]`)):i+=`[href="`+It(e)+`"]`;var a=i;switch(t){case`style`:a=If(e);break;case`script`:a=Bf(e)}bf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),bf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Lf(a))||t===`script`&&r.querySelector(Vf(a))||(t=r.createElement(`link`),Vd(t,`link`,e),_t(t),r.head.appendChild(t)))}}function jf(e,t){Cf.m(e,t);var n=Ef;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+It(r)+`"][href="`+It(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Bf(e)}if(!bf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),bf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Vf(a)))return}r=n.createElement(`link`),Vd(r,`link`,e),_t(r),n.head.appendChild(r)}}}function Mf(e,t,n){Cf.S(e,t,n);var r=Ef;if(r&&e){var i=gt(r).hoistableStyles,a=If(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Lf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=bf.get(a))&&Wf(e,n);var c=o=r.createElement(`link`);_t(c),Vd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Uf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Nf(e,t){Cf.X(e,t);var n=Ef;if(n&&e){var r=gt(n).hoistableScripts,i=Bf(e),a=r.get(i);a||(a=n.querySelector(Vf(i)),a||(e=m({src:e,async:!0},t),(t=bf.get(i))&&Gf(e,t),a=n.createElement(`script`),_t(a),Vd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Pf(e,t){Cf.M(e,t);var n=Ef;if(n&&e){var r=gt(n).hoistableScripts,i=Bf(e),a=r.get(i);a||(a=n.querySelector(Vf(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=bf.get(i))&&Gf(e,t),a=n.createElement(`script`),_t(a),Vd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Ff(e,t,n,r){var a=(a=ae.current)?Sf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=If(n.href),n=gt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=If(n.href);var o=gt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Lf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),bf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},bf.set(e,n),o||zf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Bf(n),n=gt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function If(e){return`href="`+It(e)+`"`}function Lf(e){return`link[rel="stylesheet"][`+e+`]`}function Rf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function zf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Vd(t,`link`,n),_t(t),e.head.appendChild(t))}function Bf(e){return`[src="`+It(e)+`"]`}function Vf(e){return`script[async]`+e}function Hf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+It(n.href)+`"]`);if(r)return t.instance=r,_t(r),r;var a=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),_t(r),Vd(r,`style`,a),Uf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=If(n.href);var o=e.querySelector(Lf(a));if(o)return t.state.loading|=4,t.instance=o,_t(o),o;r=Rf(n),(a=bf.get(a))&&Wf(r,a),o=(e.ownerDocument||e).createElement(`link`),_t(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Vd(o,`link`,r),t.state.loading|=4,Uf(o,n.precedence,e),t.instance=o;case`script`:return o=Bf(n.src),(a=e.querySelector(Vf(o)))?(t.instance=a,_t(a),a):(r=n,(a=bf.get(o))&&(r=m({},n),Gf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),_t(a),Vd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Uf(r,n.precedence,e));return t.instance}function Uf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Yf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Xf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Zf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=If(r.href),a=t.querySelector(Lf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=ep.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,_t(a);return}a=t.ownerDocument||t,r=Rf(r),(i=bf.get(i))&&Wf(r,i),a=a.createElement(`link`),_t(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Vd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=ep.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Qf=0;function $f(e,t){return e.stylesheets&&e.count===0&&np(e,e.stylesheets),0Qf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function ep(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)np(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var tp=null;function np(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,tp=new Map,t.forEach(rp,e),tp=null,ep.call(e))}function rp(e,t){if(!(t.state.loading&4)){var n=tp.get(e);if(n)var r=n.get(null);else{n=new Map,tp.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=g()})),v=l(d(),1),y=_(),b=`modulepreload`,x=function(e){return`/`+e},S={},C=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=x(t,n),t=s(t),t in S)return;S[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:b,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},w=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,T=/^[\\/]{2}/;function E(e,t){return t+e.replace(/\\/g,`/`)}var D=`popstate`;function O(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function k(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return ee(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:P(t)}return I(t,n,null,e)}function A(e,t){if(e===!1||e==null)throw Error(t)}function j(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function M(){return Math.random().toString(36).substring(2,10)}function N(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function ee(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?F(t):t,state:n,key:t&&t.key||r||M(),mask:i}}function P({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function F(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function I(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=O(e)?e:ee(h.location,e,t);n&&n(r,e),l=u()+1;let d=N(r,l),f=h.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=O(e)?e:ee(h.location,e,t);n&&n(r,e),l=u();let i=N(r,l),d=h.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return L(i,e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(D,d),c=e,()=>{i.removeEventListener(D,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function L(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),A(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:P(t);return i=i.replace(/ $/,`%20`),!n&&T.test(i)&&(i=r+i),new URL(i,r)}function R(e,t,n=`/`){return te(e,t,n,!1)}function te(e,t,n,r,i){let a=ve((typeof t==`string`?F(t):t).pathname||`/`,n);if(a==null)return null;let o=i??ne(e),s=null,c=_e(a);for(let e=0;s==null&&e{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;A(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Ee([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(A(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),z(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:de(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=ge(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of B(e.path))a(e,t,!0,n)}),t}function B(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=B(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function re(e){e.sort((e,t)=>e.score===t.score?fe(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ie=/^:[\w-]+$/,ae=3,oe=2,se=1,ce=10,le=-2,ue=e=>e===`*`;function de(e,t){let n=e.split(`/`),r=n.length;return n.some(ue)&&(r+=le),t&&(r+=oe),n.filter(e=>!ue(e)).reduce((e,t)=>e+(ie.test(t)?ae:t===``?se:ce),r)}function fe(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function pe(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return e[t]=n&&!i?void 0:(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function ge(e,t=!1,n=!0){j(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function _e(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return j(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function ve(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function ye(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?F(e):e,a;return n?(n=Te(n),a=n.startsWith(`/`)?be(n.substring(1),`/`):be(n,t)):a=t,{pathname:a,search:ke(r),hash:Ae(i)}}function be(e,t){let n=De(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function xe(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Se(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Ce(e){let t=Se(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function we(e,t,n,r=!1){let i;typeof e==`string`?i=F(e):(i={...e},A(!i.pathname||!i.pathname.includes(`?`),xe(`?`,`pathname`,`search`,i)),A(!i.pathname||!i.pathname.includes(`#`),xe(`#`,`pathname`,`hash`,i)),A(!i.search||!i.search.includes(`#`),xe(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ye(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Te=e=>e.replace(/[\\/]{2,}/g,`/`),Ee=e=>Te(e.join(`/`)),De=e=>e.replace(/\/+$/,``),Oe=e=>De(e).replace(/^\/*/,`/`),ke=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Ae=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,je=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Me(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Ne(e){return Ee(e.map(e=>e.route.path).filter(Boolean))||`/`}var Pe=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Fe(e,t){let n=e;if(typeof n!=`string`||!w.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Pe)try{let e=new URL(window.location.href),r=T.test(n)?new URL(E(n,e.protocol)):new URL(n),a=ve(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{j(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Ie=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(Ie);var Le=[`GET`,...Ie];new Set(Le);var Re=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function ze(e){try{return Re.includes(new URL(e).protocol)}catch{return!1}}var Be=v.createContext(null);Be.displayName=`DataRouter`;var Ve=v.createContext(null);Ve.displayName=`DataRouterState`;var He=v.createContext(!1);function Ue(){return v.useContext(He)}var We=v.createContext({isTransitioning:!1});We.displayName=`ViewTransition`;var Ge=v.createContext(new Map);Ge.displayName=`Fetchers`;var Ke=v.createContext(null);Ke.displayName=`Await`;var qe=v.createContext(null);qe.displayName=`Navigation`;var Je=v.createContext(null);Je.displayName=`Location`;var Ye=v.createContext({outlet:null,matches:[],isDataRoute:!1});Ye.displayName=`Route`;var Xe=v.createContext(null);Xe.displayName=`RouteError`;var Ze=`REACT_ROUTER_ERROR`,Qe=`REDIRECT`,$e=`ROUTE_ERROR_RESPONSE`;function et(e){if(e.startsWith(`${Ze}:${Qe}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function tt(e){if(e.startsWith(`${Ze}:${$e}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new je(t.status,t.statusText,t.data)}catch{}}function nt(e,{relative:t}={}){A(rt(),`useHref() may be used only in the context of a component.`);let{basename:n,navigator:r}=v.useContext(qe),{hash:i,pathname:a,search:o}=dt(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Ee([n,a])),r.createHref({pathname:s,search:o,hash:i})}function rt(){return v.useContext(Je)!=null}function it(){return A(rt(),`useLocation() may be used only in the context of a component.`),v.useContext(Je).location}var at=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function ot(e){v.useContext(qe).static||v.useLayoutEffect(e)}function st(){let{isDataRoute:e}=v.useContext(Ye);return e?Ot():ct()}function ct(){A(rt(),`useNavigate() may be used only in the context of a component.`);let e=v.useContext(Be),{basename:t,navigator:n}=v.useContext(qe),{matches:r}=v.useContext(Ye),{pathname:i}=it(),a=JSON.stringify(Ce(r)),o=v.useRef(!1);return ot(()=>{o.current=!0}),v.useCallback((r,s={})=>{if(j(o.current,at),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=we(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Ee([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var lt=v.createContext(null);function ut(e){let t=v.useContext(Ye).outlet;return v.useMemo(()=>t&&v.createElement(lt.Provider,{value:e},t),[t,e])}function dt(e,{relative:t}={}){let{matches:n}=v.useContext(Ye),{pathname:r}=it(),i=JSON.stringify(Ce(n));return v.useMemo(()=>we(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function ft(e,t){return pt(e,t)}function pt(e,t,n){A(rt(),`useRoutes() may be used only in the context of a component.`);let{navigator:r}=v.useContext(qe),{matches:i}=v.useContext(Ye),a=i[i.length-1],o=a?a.params:{},s=a?a.pathname:`/`,c=a?a.pathnameBase:`/`,l=a&&a.route;{let e=l&&l.path||``;At(s,!l||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant (or called \`useRoutes()\`) at "${s}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let u=it(),d;if(t){let e=typeof t==`string`?F(t):t;A(c===`/`||e.pathname?.startsWith(c),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=u;let f=d.pathname||`/`,p=f;if(c!==`/`){let e=c.replace(/^\//,``).split(`/`);p=`/`+f.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let m=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):R(e,{pathname:p});j(l||m!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),j(m==null||m[m.length-1].route.element!==void 0||m[m.length-1].route.Component!==void 0||m[m.length-1].route.lazy!==void 0,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let h=bt(m&&m.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:Ee([c,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?c:Ee([c,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&h?v.createElement(Je.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...d},navigationType:`POP`}},h):h}function mt(){let e=Dt(),t=Me(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=v.createElement(v.Fragment,null,v.createElement(`p`,null,`💿 Hey developer 👋`),v.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,v.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,v.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),v.createElement(v.Fragment,null,v.createElement(`h2`,null,`Unexpected Application Error!`),v.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?v.createElement(`pre`,{style:i},n):null,o)}var ht=v.createElement(mt,null),gt=class extends v.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=tt(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:v.createElement(Ye.Provider,{value:this.props.routeContext},v.createElement(Xe.Provider,{value:e,children:this.props.component}));return this.context?v.createElement(vt,{error:e},t):t}};gt.contextType=He;var _t=new WeakMap;function vt({children:e,error:t}){let{basename:n}=v.useContext(qe);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=et(t.digest);if(e){let r=_t.get(t);if(r)throw r;let i=Fe(e.location,n),a=i.absoluteURL||i.to;if(ze(a))throw Error(`Invalid redirect location`);if(Pe&&!_t.get(t)){if(i.isExternal||e.reloadDocument)window.location.href=a;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw _t.set(t,n),n}}return v.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a}`})}}return e}function yt({routeContext:e,match:t,children:n}){let r=v.useContext(Be);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),v.createElement(Ye.Provider,{value:e},n)}function bt(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);A(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:Ne(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||ht,o&&(s<0&&c===0?(At(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?v.createElement(n.route.Component,null):n.route.element?n.route.element:e,v.createElement(yt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?v.createElement(gt,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function xt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function St(e){let t=v.useContext(Be);return A(t,xt(e)),t}function Ct(e){let t=v.useContext(Ve);return A(t,xt(e)),t}function wt(e){let t=v.useContext(Ye);return A(t,xt(e)),t}function Tt(e){let t=wt(e),n=t.matches[t.matches.length-1];return A(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Et(){return Tt(`useRouteId`)}function Dt(){let e=v.useContext(Xe),t=Ct(`useRouteError`),n=Tt(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Ot(){let{router:e}=St(`useNavigate`),t=Tt(`useNavigate`),n=v.useRef(!1);return ot(()=>{n.current=!0}),v.useCallback(async(r,i={})=>{j(n.current,at),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var kt={};function At(e,t,n){!t&&!kt[e]&&(kt[e]=!0,j(!1,n))}v.memo(jt);function jt({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return pt(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function Mt({to:e,replace:t,state:n,relative:r}){A(rt(),` may be used only in the context of a component.`);let{static:i}=v.useContext(qe);j(!i,` must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.`);let{matches:a}=v.useContext(Ye),{pathname:o}=it(),s=st(),c=we(e,Ce(a),o,r===`path`),l=JSON.stringify(c);return v.useEffect(()=>{s(JSON.parse(l),{replace:t,state:n,relative:r})},[s,l,r,t,n]),null}function Nt(e){return ut(e.context)}function Pt(e){A(!1,`A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .`)}function Ft({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){A(!rt(),`You cannot render a inside another . You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=v.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=F(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=v.useMemo(()=>{let e=ve(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return j(h!=null,` is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the won't render anything.`),h==null?null:v.createElement(qe.Provider,{value:c},v.createElement(Je.Provider,{children:t,value:h}))}function It({children:e,location:t}){return ft(Lt(e),t)}v.Component;function Lt(e,t=[]){let n=[];return v.Children.forEach(e,(e,r)=>{if(!v.isValidElement(e))return;let i=[...t,r];if(e.type===v.Fragment){n.push.apply(n,Lt(e.props.children,i));return}A(e.type===Pt,`[${typeof e.type==`string`?e.type:e.type.name}] is not a component. All component children of must be a or `),A(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=Lt(e.props.children,i)),n.push(a)}),n}var Rt=`get`,zt=`application/x-www-form-urlencoded`;function Bt(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function Vt(e){return Bt(e)&&e.tagName.toLowerCase()===`button`}function Ht(e){return Bt(e)&&e.tagName.toLowerCase()===`form`}function Ut(e){return Bt(e)&&e.tagName.toLowerCase()===`input`}function Wt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Gt(e,t){return e.button===0&&(!t||t===`_self`)&&!Wt(e)}var Kt=null;function qt(){if(Kt===null)try{new FormData(document.createElement(`form`),0),Kt=!1}catch{Kt=!0}return Kt}var Jt=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Yt(e){return e!=null&&!Jt.has(e)?(j(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${zt}"`),null):e}function Xt(e,t){let n,r,i,a,o;if(Ht(e)){let o=e.getAttribute(`action`);r=o?ve(o,t):null,n=e.getAttribute(`method`)||Rt,i=Yt(e.getAttribute(`enctype`))||zt,a=new FormData(e)}else if(Vt(e)||Ut(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a