From d07682fd63305b6bb4e4912e7179b5f1fc354ae7 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 12 Nov 2026 14:59:00 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B5=D1=80=D0=B0=D0=BB?= =?UTF-8?q?=D0=BA=D0=B0:=20=D1=87=D0=B5=D1=82=D1=8B=D1=80=D0=B5=20=D0=B2?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=B0=D0=BD=D1=82=D0=B0=20=D0=B2=D1=8B=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B,=20=D0=BE=D1=82=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D1=81=D0=BD=D0=B8=D0=BC=D0=B0=D0=B5=D1=82?= =?UTF-8?q?=20=D0=BD=D0=B0=D1=87=D0=B8=D1=81=D0=BB=D0=B5=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Процент на баланс, уровни, скидка другу и удержание считаются при расчете. Задержка и годовой лимит правятся в админке. Миграция 013 подключает журнал. Co-authored-by: ANDY BUM --- CHANGELOG.en.md | 3 + CHANGELOG.md | 3 + mobile/src/lib/referralLoad.ts | 5 +- mobile/src/screens/Invite.tsx | 2 + mobile/tests/invite.test.tsx | 2 +- ops/billing/admin/src/lib/types.ts | 11 +- .../admin/src/panels/ReferralPanel.tsx | 138 ++++++- ops/billing/src/bot.mjs | 23 +- ops/billing/src/db/pg/schema.mjs | 22 + ops/billing/src/db/pg/spec.mjs | 32 ++ ops/billing/src/logic.mjs | 355 ++++++++++++---- ops/billing/src/referralAdmin.mjs | 390 +++++++++++++++++- ops/billing/src/server.mjs | 84 +++- ops/billing/src/services.mjs | 3 +- ops/billing/src/state.mjs | 5 +- ops/billing/test/referralVariants.test.ts | 304 ++++++++++++++ ops/billing/test/stores.test.ts | 1 + src/billing/session.ts | 2 +- src/i18n/en.ts | 1 + src/i18n/ru.ts | 1 + src/sources/ompJackett.ts | 4 +- 21 files changed, 1265 insertions(+), 126 deletions(-) create mode 100644 ops/billing/test/referralVariants.test.ts diff --git a/CHANGELOG.en.md b/CHANGELOG.en.md index 50043be9..a7ded448 100644 --- a/CHANGELOG.en.md +++ b/CHANGELOG.en.md @@ -6,6 +6,9 @@ The English translation covers the latest versions only; the full history (in Ru ## Unreleased +- [phone] Invite: a balance credit shows the amount +- [tech] Referral variants: balance percent, tiers, friend discount and retention. Off by default. Cancelling a journal row takes back days and balance. Migration 013 + ## 0.30.1-beta.5 - [phone] Watch from: a server row stays dark, with the name and address on one line, the status under them, and the menu on the right. The light box is gone diff --git a/CHANGELOG.md b/CHANGELOG.md index d09b3937..eee44c31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ ## Не выпущено +- [phone] Приглашение: если рефереру начислен баланс, экран показывает сумму +- [tech] Рефералка: процент на баланс, уровни, скидка другу и удержание. По умолчанию выключены. Отмена журнала снимает дни и баланс. Миграция 013 + ## 0.30.1-beta.5 - [phone] «Откуда смотреть»: строка сервера темная, имя и адрес в одну строку, статус под ними, меню справа. Светлый прямоугольник убран diff --git a/mobile/src/lib/referralLoad.ts b/mobile/src/lib/referralLoad.ts index 73d9799c..900111a1 100644 --- a/mobile/src/lib/referralLoad.ts +++ b/mobile/src/lib/referralLoad.ts @@ -8,9 +8,10 @@ export interface PhoneReferral { code: string; friends: number; noticeDays: number; + noticeCredit: number; } -const OFF: PhoneReferral = { enabled: false, code: '', friends: 0, noticeDays: 0 }; +const OFF: PhoneReferral = { enabled: false, code: '', friends: 0, noticeDays: 0, noticeCredit: 0 }; export function loadPhoneReferral(): Promise { if (!billingSession()) return Promise.resolve(OFF); @@ -18,7 +19,7 @@ export function loadPhoneReferral(): Promise { (acc) => { const row = acc && acc.referral; if (!row || !row.enabled) return OFF; - return { enabled: true, code: row.code || '', friends: row.friends || 0, noticeDays: row.noticeDays || 0 }; + return { enabled: true, code: row.code || '', friends: row.friends || 0, noticeDays: row.noticeDays || 0, noticeCredit: row.noticeCredit || 0 }; }, () => OFF, ); diff --git a/mobile/src/screens/Invite.tsx b/mobile/src/screens/Invite.tsx index 2cf2e834..4fb31258 100644 --- a/mobile/src/screens/Invite.tsx +++ b/mobile/src/screens/Invite.tsx @@ -13,6 +13,7 @@ export interface InviteCard { code: string; friends: number; noticeDays?: number; + noticeCredit?: number; } /** The program is off until an admin turns it on. A loader reads the signed-in card from /v1/me. */ @@ -87,6 +88,7 @@ export function Invite({

{t('invite.code', { code: view.code })}

{t('invite.friends', { n: view.friends })}

{card.noticeDays ?

{t('invite.noticeApp', { n: card.noticeDays })}

: null} + {card.noticeCredit ?

{t('invite.noticeCredit', { n: card.noticeCredit })}

: null} {qr ? {t('invite.qr')} : null} - - void save({ referrerDays: Number(e.target.value) })} /> - - void save({ friendDays: Number(e.target.value) })} /> - - void save({ balancePercent: Number(e.target.value) })} /> - - - -

Начисление через {local.delayDays ?? 7} дн. после оплаты. Годовой лимит {local.yearlyCap ?? 12} мес. Только при активной подписке реферера и оплате друга.

+ + void save({ referrerDays: clamp(e.target.value, 14) })} /> +

Базовые дни за первого оплатившего друга. Потолок одного начисления - 14 дней.

+ + void save({ friendDays: clamp(e.target.value, 14) })} /> + + void save({ delayDays: clamp(e.target.value, 365) })} /> +

Дни, баланс и удержание начисляются только после этой паузы. 0 - сразу после оплаты.

+ + void save({ yearlyCap: clamp(e.target.value, 120) })} /> +

Сколько месяцев бонусных дней реферер может получить за 365 дней. 0 - без лимита. Месяц считается как 30 дней.

+ + + + void save({ balancePercent: clamp(e.target.value, 100) })} /> + + void save({ balanceMax: clamp(e.target.value, 1000000) })} /> + + void save({ balanceMonthlyCap: clamp(e.target.value, 1000000) })} /> +

Рубли падают на внутренний баланс подписки и списываются при следующей оплате. Пока переключатель выключен, процент не начисляется. Уровень может поднять процент, если он выше.

+ + +

Порог - сколько друзей уже оплатили. Дни уровня заменяют базовые, если они больше, но не больше 14. Процент уровня берется, если он выше процента на баланс. Пустой список ничего не меняет.

+ {local.tiers ? ( +
+ {tiers.map((tier, index) => ( +
+ { + const next = tiers.slice(); + next[index] = { ...tier, friends: clamp(e.target.value, 10000) }; + saveTiers(next); + }} /> + { + const next = tiers.slice(); + next[index] = { ...tier, days: clamp(e.target.value, 14) }; + saveTiers(next); + }} /> + { + const next = tiers.slice(); + next[index] = { ...tier, percent: clamp(e.target.value, 100) }; + saveTiers(next); + }} /> + +
+ ))} + +
+ ) : null} + + + + void save({ friendDiscountPercent: clamp(e.target.value, 100) })} /> + + void save({ friendDiscountRub: clamp(e.target.value, 1000000) })} /> + + void save({ friendDiscountDays: clamp(e.target.value, 3650) })} /> +

Только первая оплата подписки, и только пока у реферера есть доступ. Процент и рубли складываются. Цена в боте и в приложении берется уже со скидкой и замораживается в заказе.

+ + + + void save({ retentionMonths: Math.max(1, clamp(e.target.value, 36)) })} /> + + void save({ retentionDays: clamp(e.target.value, 14) })} /> +

Месяц - следующая оплата через 27-45 дней. Большой разрыв начинает счет заново. 0 дней - бонус не выдается, даже если переключатель включен.

+ +

Бонус только при активной подписке реферера и оплате друга. Нельзя пригласить себя. Один Telegram или одно устройство - одно приглашение.

Журнал

{rows.length === 0 ?

Начислений нет

: rows.map((row) => ( -
- {row.friendId || row.id} · {row.status} · {row.days} дн. +
+ + {row.friendId || row.id} · {variantLabel(row.variant)} · {row.status} · {row.days} дн. + {row.credit ? ' · ' + row.credit + ' ₽' : ''} + {row.shortfall ? ' · ' + row.shortfall : ''} + {row.status !== 'cancelled' ? (
))} -
diff --git a/ops/billing/public/assets/index-BFljiapz.js b/ops/billing/public/assets/index-BFljiapz.js new file mode 100644 index 00000000..22793336 --- /dev/null +++ b/ops/billing/public/assets/index-BFljiapz.js @@ -0,0 +1,240 @@ +var h$=Object.defineProperty;var QA=e=>{throw TypeError(e)};var m$=(e,t,n)=>t in e?h$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Yh=(e,t,n)=>m$(e,typeof t!="symbol"?t+"":t,n),ux=(e,t,n)=>t.has(e)||QA("Cannot "+n);var $=(e,t,n)=>(ux(e,t,"read from private field"),n?n.call(e):t.get(e)),ze=(e,t,n)=>t.has(e)?QA("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),be=(e,t,n,r)=>(ux(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),Je=(e,t,n)=>(ux(e,t,"access private method"),n);var Xh=(e,t,n,r)=>({set _(l){be(e,t,l,n)},get _(){return $(e,t,r)}});function v$(e,t){for(var n=0;nr[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const u of o.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();function gR(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cx={exports:{}},tf={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ZA;function g$(){if(ZA)return tf;ZA=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,l,o){var u=null;if(o!==void 0&&(u=""+o),l.key!==void 0&&(u=""+l.key),"key"in l){o={};for(var f in l)f!=="key"&&(o[f]=l[f])}else o=l;return l=o.ref,{$$typeof:e,type:r,key:u,ref:l!==void 0?l:null,props:o}}return tf.Fragment=t,tf.jsx=n,tf.jsxs=n,tf}var WA;function p$(){return WA||(WA=1,cx.exports=g$()),cx.exports}var c=p$(),fx={exports:{}},Be={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var JA;function y$(){if(JA)return Be;JA=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),x=Symbol.for("react.view_transition"),S=Symbol.iterator;function w(z){return z===null||typeof z!="object"?null:(z=S&&z[S]||z["@@iterator"],typeof z=="function"?z:null)}var j={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,A={};function E(z,Y,le){this.props=z,this.context=Y,this.refs=A,this.updater=le||j}E.prototype.isReactComponent={},E.prototype.setState=function(z,Y){if(typeof z!="object"&&typeof z!="function"&&z!=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,z,Y,"setState")},E.prototype.forceUpdate=function(z){this.updater.enqueueForceUpdate(this,z,"forceUpdate")};function N(){}N.prototype=E.prototype;function T(z,Y,le){this.props=z,this.context=Y,this.refs=A,this.updater=le||j}var R=T.prototype=new N;R.constructor=T,C(R,E.prototype),R.isPureReactComponent=!0;var O=Array.isArray;function D(){}var k={H:null,A:null,T:null,S:null},I=Object.prototype.hasOwnProperty;function P(z,Y,le){var fe=le.ref;return{$$typeof:e,type:z,key:Y,ref:fe!==void 0?fe:null,props:le}}function B(z,Y){return P(z.type,Y,z.props)}function F(z){return typeof z=="object"&&z!==null&&z.$$typeof===e}function se(z){var Y={"=":"=0",":":"=2"};return"$"+z.replace(/[=:]/g,function(le){return Y[le]})}var ue=/\/+/g;function he(z,Y){return typeof z=="object"&&z!==null&&z.key!=null?se(""+z.key):Y.toString(36)}function G(z){switch(z.status){case"fulfilled":return z.value;case"rejected":throw z.reason;default:switch(typeof z.status=="string"?z.then(D,D):(z.status="pending",z.then(function(Y){z.status==="pending"&&(z.status="fulfilled",z.value=Y)},function(Y){z.status==="pending"&&(z.status="rejected",z.reason=Y)})),z.status){case"fulfilled":return z.value;case"rejected":throw z.reason}}throw z}function ne(z,Y,le,fe,Pe){var te=typeof z;(te==="undefined"||te==="boolean")&&(z=null);var ge=!1;if(z===null)ge=!0;else switch(te){case"bigint":case"string":case"number":ge=!0;break;case"object":switch(z.$$typeof){case e:case t:ge=!0;break;case v:return ge=z._init,ne(ge(z._payload),Y,le,fe,Pe)}}if(ge)return Pe=Pe(z),ge=fe===""?"."+he(z,0):fe,O(Pe)?(le="",ge!=null&&(le=ge.replace(ue,"$&/")+"/"),ne(Pe,Y,le,"",function(ct){return ct})):Pe!=null&&(F(Pe)&&(Pe=B(Pe,le+(Pe.key==null||z&&z.key===Pe.key?"":(""+Pe.key).replace(ue,"$&/")+"/")+ge)),Y.push(Pe)),1;ge=0;var oe=fe===""?".":fe+":";if(O(z))for(var J=0;J{const t=b.useContext(pR);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},b$=({client:e,children:t})=>(b.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),c.jsx(pR.Provider,{value:e,children:t})),S$={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)};var wl,Wb,lR,w$=(lR=class{constructor(){ze(this,wl,S$);ze(this,Wb,!1)}setTimeoutProvider(e){be(this,wl,e)}setTimeout(e,t){return $(this,wl).setTimeout(e,t)}clearTimeout(e){$(this,wl).clearTimeout(e)}setInterval(e,t){return $(this,wl).setInterval(e,t)}clearInterval(e){$(this,wl).clearInterval(e)}},wl=new WeakMap,Wb=new WeakMap,lR);const wo=new w$;function j$(e){setTimeout(e,0)}const C$=typeof window>"u"||"Deno"in globalThis;function ur(){}function _$(e,t){return typeof e=="function"?e(t):e}function yR(e){return typeof e=="number"&&e>=0&&e!==1/0}function xR(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Mt(e,t){return typeof e=="function"?e(t):e}function tE(e,t){const{type:n="all",exact:r,fetchStatus:l,predicate:o,queryKey:u,stale:f}=e;if(u){if(r){if(t.queryHash!==e1(u,t.options))return!1}else if(!Pu(t.queryKey,u))return!1}if(n!=="all"){const h=t.isActive();if(n==="active"&&!h||n==="inactive"&&h)return!1}return!(typeof f=="boolean"&&t.isStale()!==f||l&&l!==t.state.fetchStatus||o&&!o(t))}function nE(e,t){const{exact:n,status:r,predicate:l,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(n){if(Nf(t.options.mutationKey)!==Nf(o))return!1}else if(!Pu(t.options.mutationKey,o))return!1}return!(r&&t.state.status!==r||l&&!l(t))}function e1(e,t){return((t==null?void 0:t.queryKeyHashFn)||Nf)(e)}function Nf(e){return JSON.stringify(e,(t,n)=>_0(n)?Object.keys(n).sort().reduce((r,l)=>(r[l]=n[l],r),{}):n)}function Pu(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let r=0;r500)return t;const r=rE(e)&&rE(t);if(!r&&!(_0(e)&&_0(t)))return t;const l=(r?e:Object.keys(e)).length,o=r?t:Object.keys(t),u=o.length,f=r?new Array(u):{};let h=0;for(let m=0;m{wo.setTimeout(t,e)})}function A0(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?SR(e,t):t}function E$(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(-n):r}function O$(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,n):r}const t1=Symbol();function wR(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===t1?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function jR(e,t){return typeof e=="function"?e(...t):!!e}const n1=Symbol();function N$(e,t,n,r){let l=!1,o;return Object.defineProperties(e,{[n1]:{value:r},signal:{enumerable:!0,get:()=>(o??(o=t()),l||(l=!0,o.aborted?n():o.addEventListener("abort",n,{once:!0})),o)}}),e}let T$=()=>C$;const r1=()=>T$();var Qf=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Eo,jl,Su,oR,R$=(oR=class extends Qf{constructor(){super();ze(this,Eo);ze(this,jl);ze(this,Su);be(this,Su,t=>{if(typeof window<"u"&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){$(this,jl)||this.setEventListener($(this,Su))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,jl))==null||t.call(this),be(this,jl,void 0))}setEventListener(t){var n;be(this,Su,t),(n=$(this,jl))==null||n.call(this),be(this,jl,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){$(this,Eo)!==t&&(be(this,Eo,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof $(this,Eo)=="boolean"?$(this,Eo):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Eo=new WeakMap,jl=new WeakMap,Su=new WeakMap,oR);const i1=new R$,M$=j$;function D$(){let e=[],t=0,n=f=>{f()},r=f=>{f()},l=M$;const o=f=>{t?e.push(f):l(()=>{n(f)})},u=()=>{const f=e;e=[],f.length&&l(()=>{r(()=>{f.forEach(h=>{n(h)})})})};return{batch:f=>{let h;t++;try{h=f()}finally{t--,t||u()}return h},batchCalls:f=>(...h)=>{o(()=>{f(...h)})},schedule:o,setNotifyFunction:f=>{n=f},setBatchNotifyFunction:f=>{r=f},setScheduler:f=>{l=f}}}const Mn=D$();var wu,Cl,ju,sR,P$=(sR=class extends Qf{constructor(){super();ze(this,wu,!0);ze(this,Cl);ze(this,ju);be(this,ju,t=>{if(typeof window<"u"&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){$(this,Cl)||this.setEventListener($(this,ju))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,Cl))==null||t.call(this),be(this,Cl,void 0))}setEventListener(t){var n;be(this,ju,t),(n=$(this,Cl))==null||n.call(this),be(this,Cl,t(this.setOnline.bind(this)))}setOnline(t){$(this,wu)!==t&&(be(this,wu,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return $(this,wu)}},wu=new WeakMap,Cl=new WeakMap,ju=new WeakMap,sR);const Im=new P$;function k$(e){return Math.min(1e3*2**e,3e4)}function CR(e){return(e??"online")==="online"?Im.isOnline():!0}var E0=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function _R(e){let t=!1,n=0,r,l="pending",o,u;const f=new Promise((E,N)=>{o=E,u=N});f.catch(ur);const h=()=>l!=="pending",m=E=>{var N;if(!h()){const T=new E0(E);j(T),(N=e.onCancel)==null||N.call(e,T)}},v=()=>{t=!0},p=()=>{t=!1},x=()=>i1.isFocused()&&(e.networkMode==="always"||Im.isOnline())&&e.canRun(),S=()=>CR(e.networkMode)&&e.canRun(),w=E=>{h()||(r==null||r(),l="resolved",o(E))},j=E=>{h()||(r==null||r(),l="rejected",u(E))},C=E=>new Promise(N=>{var T;r=R=>{(h()||E())&&N(R)},(T=e.onPause)==null||T.call(e)}).then(()=>{var N;r=void 0,h()||(N=e.onContinue)==null||N.call(e)}),A=()=>{if(h())return;let E;const N=n===0?e.initialPromise:void 0;try{E=N??e.fn()}catch(T){E=Promise.reject(T)}Promise.resolve(E).then(w).catch(T=>{var I;if(h())return;const R=e.retry??(r1()?0:3),O=e.retryDelay??k$,D=typeof O=="function"?O(n,T):O,k=R===!0||typeof R=="number"&&nh()||x()?void 0:C(x)).then(()=>{t?j(T):A()})})};return{promise:f,status:()=>l,cancel:m,continue:()=>(r==null||r(),f),cancelRetry:v,continueRetry:p,canStart:S,start:()=>(S()?A():C(S).then(A),f)}}var Oo,uR,AR=(uR=class{constructor(){ze(this,Oo)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),yR(this.gcTime)&&be(this,Oo,wo.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(r1()?1/0:3e5))}clearGcTimeout(){$(this,Oo)!==void 0&&(wo.clearTimeout($(this,Oo)),be(this,Oo,void 0))}},Oo=new WeakMap,uR);function I$(e){return{onFetch:(t,n)=>{var v,p,x,S,w;const r=t.options,l=(x=(p=(v=t.fetchOptions)==null?void 0:v.meta)==null?void 0:p.fetchMore)==null?void 0:x.direction,o=((S=t.state.data)==null?void 0:S.pages)||[],u=((w=t.state.data)==null?void 0:w.pageParams)||[];let f={pages:[],pageParams:[]},h=0;const m=async()=>{let j=!1;const C=t,A=T=>{N$(T,()=>t.signal,()=>j=!0,C[n1])},E=wR(t.options,t.fetchOptions),N=async(T,R,O)=>{if(j)return Promise.reject(t.signal.reason);if(R==null&&T.pages.length)return Promise.resolve(T);const k=(()=>{const F={client:t.client,queryKey:t.queryKey,pageParam:R,direction:O?"backward":"forward",meta:t.options.meta};return A(F),F})(),I=await E(k),{maxPages:P}=t.options,B=O?O$:E$;return{pages:B(T.pages,I,P),pageParams:B(T.pageParams,R,P)}};if(l&&o.length){const T=l==="backward",R=T?z$:aE,O={pages:o,pageParams:u};f=await N(O,R(r,O),T)}else{const T=e??o.length;do{const R=h===0?u[0]===void 0?r.initialPageParam:u[0]:aE(r,f);if(h>0&&R==null)break;f=await N(f,R),h++}while(h{var j,C;return(C=(j=t.options).persister)==null?void 0:C.call(j,m,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=m}}}function aE(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function z$(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var Cu,No,_u,Fr,To,hn,ma,Gf,Ro,oi,ca,cR,L$=(cR=class extends AR{constructor(t){super();ze(this,oi);ze(this,Cu);ze(this,No);ze(this,_u);ze(this,Fr);ze(this,To);ze(this,hn);ze(this,ma);ze(this,Gf);ze(this,Ro);be(this,Ro,!1),be(this,Gf,t.defaultOptions),this.setOptions(t.options),this.observers=[],be(this,To,t.client),be(this,Fr,$(this,To).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,be(this,No,oE(this.options)),this.state=t.state??$(this,No),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return $(this,Cu)}get promise(){var t;return(t=$(this,hn))==null?void 0:t.promise}setOptions(t){if(this.options={...$(this,Gf),...t},t!=null&&t._type&&be(this,Cu,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=oE(this.options);n.data!==void 0&&(this.setState(lE(n.data,n.dataUpdatedAt)),be(this,No,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&$(this,Fr).remove(this)}setData(t,n){const r=A0(this.state.data,t,this.options);return Je(this,oi,ca).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t){Je(this,oi,ca).call(this,{type:"setState",state:t})}cancel(t){var r,l;const n=(r=$(this,hn))==null?void 0:r.promise;return(l=$(this,hn))==null||l.cancel(t),n?n.then(ur).catch(ur):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return $(this,No)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Mt(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===t1||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.state.data===void 0?!1:this.getObserversCount()>0?this.observers.some(t=>Mt(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!xR(this.state.dataUpdatedAt,t)}onFocus(){var t,n;(t=this.observers.find(r=>r.shouldFetchOnWindowFocus()))==null||t.refetch({cancelRefetch:!1}),(n=$(this,hn))==null||n.continue()}onOnline(){var t,n;(t=this.observers.find(r=>r.shouldFetchOnReconnect()))==null||t.refetch({cancelRefetch:!1}),(n=$(this,hn))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),$(this,Fr).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){const n=this.observers.indexOf(t);n!==-1&&(this.observers.splice(n,1),this.observers.length||($(this,hn)&&($(this,Ro)||this.state.fetchStatus==="paused"&&this.state.status==="pending"?$(this,hn).cancel({revert:!0}):$(this,hn).cancelRetry()),this.scheduleGc()),$(this,Fr).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Je(this,oi,ca).call(this,{type:"invalidate"})}async fetch(t,n){var v,p,x,S;if(this.state.fetchStatus!=="idle"&&((v=$(this,hn))==null?void 0:v.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if($(this,hn)&&$(this,ma))return $(this,hn).continueRetry(),$(this,ma)}if(t&&this.setOptions(t),!this.options.queryFn){const w=this.observers.find(j=>j.options.queryFn);w&&this.setOptions(w.options)}const r=new AbortController,l=w=>{Object.defineProperties(w,{[n1]:{value:r.signal,enumerable:!0},signal:{enumerable:!0,get:()=>(be(this,Ro,!0),r.signal)}})},o=()=>{const w=wR(this.options,n),C=(()=>{const A={client:$(this,To),queryKey:this.queryKey,meta:this.meta};return l(A),A})();return be(this,Ro,!1),this.options.persister?this.options.persister(w,C,this):w(C)},f=(()=>{const w={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:$(this,To),state:this.state,fetchFn:o};return l(w),w})();(p=$(this,Cu)==="infinite"?I$(this.options.pages):this.options.behavior)==null||p.onFetch(f,this),be(this,_u,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((x=f.fetchOptions)==null?void 0:x.meta))&&Je(this,oi,ca).call(this,{type:"fetch",meta:(S=f.fetchOptions)==null?void 0:S.meta});const h=be(this,hn,_R({initialPromise:n==null?void 0:n.initialPromise,fn:f.fetchFn,onCancel:w=>{w instanceof E0&&w.revert&&this.setState({...$(this,_u),fetchStatus:"idle"}),r.abort()},onFail:(w,j)=>{Je(this,oi,ca).call(this,{type:"failed",failureCount:w,error:j})},onPause:()=>{Je(this,oi,ca).call(this,{type:"pause"})},onContinue:()=>{Je(this,oi,ca).call(this,{type:"continue"})},retry:f.options.retry,retryDelay:f.options.retryDelay,networkMode:f.options.networkMode,canRun:()=>!0})),m=(async()=>{var w,j,C,A,E,N,T,R;try{const O=await h.promise;if(O===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(O),(j=(w=$(this,Fr).config).onSuccess)==null||j.call(w,O,this),(A=(C=$(this,Fr).config).onSettled)==null||A.call(C,O,this.state.error,this),O}catch(O){if(O instanceof E0){if(O.silent){if($(this,hn)!==h&&$(this,ma))return $(this,ma);throw O}else if(O.revert){if(this.state.data===void 0)throw O;return this.state.data}}throw Je(this,oi,ca).call(this,{type:"error",error:O}),(N=(E=$(this,Fr).config).onError)==null||N.call(E,O,this),(R=(T=$(this,Fr).config).onSettled)==null||R.call(T,this.state.data,O,this),O}finally{$(this,hn)===h&&(be(this,hn,void 0),be(this,ma,void 0)),this.scheduleGc()}})();return be(this,ma,m),h.start(),m}},Cu=new WeakMap,No=new WeakMap,_u=new WeakMap,Fr=new WeakMap,To=new WeakMap,hn=new WeakMap,ma=new WeakMap,Gf=new WeakMap,Ro=new WeakMap,oi=new WeakSet,ca=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...ER(r.data,this.options),fetchMeta:t.meta??null};case"success":const l={...r,...lE(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return be(this,_u,t.manual?l:void 0),l;case"error":const o=t.error;return{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Mn.batch(()=>{this.observers.slice().forEach(r=>{r.onQueryUpdate()}),$(this,Fr).notify({query:this,type:"updated",action:t})})},cR);function ER(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:CR(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function lE(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function oE(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Xn,et,qf,Qn,Mo,Au,va,Kf,Eu,Ou,Do,Po,_l,Nu,ut,yf,O0,N0,T0,R0,M0,D0,P0,k0,fR,U$=(fR=class extends Qf{constructor(t,n){super();ze(this,ut);ze(this,Xn);ze(this,et);ze(this,qf);ze(this,Qn);ze(this,Mo);ze(this,Au);ze(this,va);ze(this,Kf);ze(this,Eu);ze(this,Ou);ze(this,Do);ze(this,Po);ze(this,_l);ze(this,Nu,new Set);this.options=n,be(this,Xn,t),be(this,va,null),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&($(this,et).addObserver(this),sE($(this,et),this.options)?Je(this,ut,yf).call(this):this.updateResult(),Je(this,ut,M0).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return I0($(this,et),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return I0($(this,et),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Je(this,ut,D0).call(this),Je(this,ut,P0).call(this),$(this,et).removeObserver(this)}setOptions(t){const n=this.options,r=$(this,et);if(this.options=$(this,Xn).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Mt(this.options.enabled,$(this,et))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Je(this,ut,k0).call(this),$(this,et).setOptions(this.options),n._defaulted&&!dx(this.options,n)&&$(this,Xn).getQueryCache().notify({type:"observerOptionsUpdated",query:$(this,et),observer:this});const l=this.hasListeners();l&&uE($(this,et),r,this.options,n)&&Je(this,ut,yf).call(this),this.updateResult(),l&&($(this,et)!==r||Mt(this.options.enabled,$(this,et))!==Mt(n.enabled,$(this,et))||Mt(this.options.staleTime,$(this,et))!==Mt(n.staleTime,$(this,et)))&&Je(this,ut,N0).call(this);const o=Je(this,ut,T0).call(this);l&&($(this,et)!==r||Mt(this.options.enabled,$(this,et))!==Mt(n.enabled,$(this,et))||o!==$(this,_l))&&Je(this,ut,R0).call(this,o)}getOptimisticResult(t){const n=$(this,Xn).getQueryCache().build($(this,Xn),t),r=this.createResult(n,t);return dx(this.getCurrentResult(),r)||(be(this,Qn,r),be(this,Au,this.options),be(this,Mo,$(this,et).state)),r}getCurrentResult(){return $(this,Qn)}trackResult(t,n){return new Proxy(t,{get:(r,l)=>(this.trackProp(l),n==null||n(l),Reflect.get(r,l))})}trackProp(t){$(this,Nu).add(t)}getCurrentQuery(){return $(this,et)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=$(this,Xn).defaultQueryOptions(t),r=$(this,Xn).getQueryCache().build($(this,Xn),n);let l=()=>{},o;const u=new Promise(f=>{o=f,l=$(this,Xn).getQueryCache().subscribe(h=>{h.type==="updated"&&h.query.queryHash===r.queryHash&&r.state.data!==void 0&&(l(),f(this.createResult(r,n)))})});return Promise.race([r.fetch(n).then(()=>{const f=this.createResult(r,n);return o==null||o(f),f}).finally(()=>{l()}),u])}fetch(t){return Je(this,ut,yf).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),$(this,Qn)))}createResult(t,n){var O;const r=$(this,et),l=this.options,o=$(this,Qn),u=$(this,Mo),f=$(this,Au),h=t!==r?t.state:$(this,qf),{state:m}=t;let v={...m},p=!1,x;if(n._optimisticResults){const D=this.hasListeners(),k=!D&&sE(t,n),I=D&&uE(t,r,n,l);(k||I)&&(v={...v,...ER(m.data,t.options)}),n._optimisticResults==="isRestoring"&&(v.fetchStatus="idle")}let{error:S,errorUpdatedAt:w,status:j}=v;x=v.data;let C=!1;if(n.placeholderData!==void 0&&x===void 0&&j==="pending"){let D;o!=null&&o.isPlaceholderData&&n.placeholderData===(f==null?void 0:f.placeholderData)?(D=o.data,C=!0):D=typeof n.placeholderData=="function"?n.placeholderData((O=$(this,Ou))==null?void 0:O.state.data,$(this,Ou)):n.placeholderData,D!==void 0&&(j="success",x=A0(o==null?void 0:o.data,D,n),p=!0)}if(n.select&&x!==void 0&&!C)if(o&&x===(u==null?void 0:u.data)&&n.select===$(this,Kf))x=$(this,Eu);else try{be(this,Kf,n.select),x=n.select(x),x=A0(o==null?void 0:o.data,x,n),be(this,Eu,x),be(this,va,null)}catch(D){be(this,va,D)}else x===void 0&&be(this,va,null);$(this,va)&&(S=$(this,va),x=$(this,Eu),w=(o==null?void 0:o.error)===S?o.errorUpdatedAt:Date.now(),j="error",p=!1);const A=v.fetchStatus==="fetching",E=j==="pending",N=j==="error",T=E&&A,R=x!==void 0;return{status:j,fetchStatus:v.fetchStatus,isPending:E,isSuccess:j==="success",isError:N,isInitialLoading:T,isLoading:T,data:x,dataUpdatedAt:v.dataUpdatedAt,error:S,errorUpdatedAt:w,failureCount:v.fetchFailureCount,failureReason:v.fetchFailureReason,errorUpdateCount:v.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:v.dataUpdateCount>h.dataUpdateCount||v.errorUpdateCount>h.errorUpdateCount,isFetching:A,isRefetching:A&&!E,isLoadingError:N&&!R,isPaused:v.fetchStatus==="paused",isPlaceholderData:p,isRefetchError:N&&R,isStale:a1(t,n),refetch:this.refetch,isEnabled:Mt(n.enabled,t)!==!1}}updateResult(){const t=$(this,Qn),n=this.createResult($(this,et),this.options);if(be(this,Mo,$(this,et).state),be(this,Au,this.options),$(this,Mo).data!==void 0&&be(this,Ou,$(this,et)),dx(n,t))return;be(this,Qn,n);const l=(()=>{if(!t)return!0;const{notifyOnChangeProps:o}=this.options,u=typeof o=="function"?o():o;if(u==="all"||!u&&!$(this,Nu).size||this.options.throwOnError&&$(this,Qn).error!==t.error)return!0;for(const f of u??$(this,Nu))if($(this,Qn)[f]!==t[f])return!0;return!1})();Mn.batch(()=>{l&&this.listeners.forEach(o=>{o($(this,Qn))}),$(this,Xn).getQueryCache().notify({query:$(this,et),type:"observerResultsUpdated"})})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Je(this,ut,M0).call(this)}},Xn=new WeakMap,et=new WeakMap,qf=new WeakMap,Qn=new WeakMap,Mo=new WeakMap,Au=new WeakMap,va=new WeakMap,Kf=new WeakMap,Eu=new WeakMap,Ou=new WeakMap,Do=new WeakMap,Po=new WeakMap,_l=new WeakMap,Nu=new WeakMap,ut=new WeakSet,yf=function(t){Je(this,ut,k0).call(this);let n=$(this,et).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(ur)),n},O0=function(t){return!r1()&&Mt(this.options.enabled,$(this,et))!==!1&&yR(t)},N0=function(){Je(this,ut,D0).call(this);const t=Mt(this.options.staleTime,$(this,et));if($(this,Qn).isStale||!Je(this,ut,O0).call(this,t))return;const n=xR($(this,Qn).dataUpdatedAt,t)+1;be(this,Do,wo.setTimeout(()=>{$(this,Qn).isStale||this.updateResult()},n))},T0=function(){return Mt(this.options.refetchInterval,$(this,et))??!1},R0=function(t){Je(this,ut,P0).call(this),be(this,_l,t),!($(this,_l)===0||!Je(this,ut,O0).call(this,$(this,_l)))&&be(this,Po,wo.setInterval(()=>{(this.options.refetchIntervalInBackground||i1.isFocused())&&Je(this,ut,yf).call(this)},$(this,_l)))},M0=function(){Je(this,ut,N0).call(this),Je(this,ut,R0).call(this,Je(this,ut,T0).call(this))},D0=function(){$(this,Do)!==void 0&&(wo.clearTimeout($(this,Do)),be(this,Do,void 0))},P0=function(){$(this,Po)!==void 0&&(wo.clearInterval($(this,Po)),be(this,Po,void 0))},k0=function(){const t=$(this,Xn).getQueryCache().build($(this,Xn),this.options);if(t===$(this,et))return;const n=$(this,et);be(this,et,t),be(this,qf,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},fR);function $$(e,t){return Mt(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Mt(t.retryOnMount,e)===!1)}function sE(e,t){return $$(e,t)||e.state.data!==void 0&&I0(e,t,t.refetchOnMount)}function I0(e,t,n){if(Mt(t.enabled,e)!==!1&&Mt(t.staleTime,e)!=="static"){const r=Mt(n,e);return r==="always"||r!==!1&&a1(e,t)}return!1}function uE(e,t,n,r){return(e!==t||Mt(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&a1(e,n)}function a1(e,t){return Mt(t.enabled,e)!==!1&&e.isStaleByTime(Mt(t.staleTime,e))}var Yf,Ri,zn,ko,Mi,yl,dR,B$=(dR=class extends AR{constructor(t){super();ze(this,Mi);ze(this,Yf);ze(this,Ri);ze(this,zn);ze(this,ko);be(this,Yf,t.client),this.mutationId=t.mutationId,be(this,zn,t.mutationCache),be(this,Ri,[]),this.state=t.state||H$(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){$(this,Ri).includes(t)||($(this,Ri).push(t),this.clearGcTimeout(),$(this,zn).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){be(this,Ri,$(this,Ri).filter(n=>n!==t)),this.scheduleGc(),$(this,zn).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){$(this,Ri).length||(this.state.status==="pending"?this.scheduleGc():$(this,zn).remove(this))}continue(){var t;return((t=$(this,ko))==null?void 0:t.continue())??(this.state.status==="pending"?this.execute(this.state.variables):Promise.resolve())}async execute(t){var f,h,m,v,p,x,S,w,j,C,A,E,N,T,R,O,D,k;const n=()=>{Je(this,Mi,yl).call(this,{type:"continue"})},r={client:$(this,Yf),meta:this.options.meta,mutationKey:this.options.mutationKey},l=be(this,ko,_R({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(I,P)=>{Je(this,Mi,yl).call(this,{type:"failed",failureCount:I,error:P})},onPause:()=>{Je(this,Mi,yl).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>$(this,zn).canRun(this)})),o=this.state.status==="pending",u=!l.canStart();try{if(o)n();else{Je(this,Mi,yl).call(this,{type:"pending",variables:t,isPaused:u}),$(this,zn).config.onMutate&&await $(this,zn).config.onMutate(t,this,r);const P=await((h=(f=this.options).onMutate)==null?void 0:h.call(f,t,r));P!==this.state.context&&Je(this,Mi,yl).call(this,{type:"pending",context:P,variables:t,isPaused:u})}this.state.isPaused&&l.canStart()&&n();const I=await l.start();return await((v=(m=$(this,zn).config).onSuccess)==null?void 0:v.call(m,I,t,this.state.context,this,r)),await((x=(p=this.options).onSuccess)==null?void 0:x.call(p,I,t,this.state.context,r)),await((w=(S=$(this,zn).config).onSettled)==null?void 0:w.call(S,I,null,this.state.variables,this.state.context,this,r)),await((C=(j=this.options).onSettled)==null?void 0:C.call(j,I,null,t,this.state.context,r)),Je(this,Mi,yl).call(this,{type:"success",data:I}),I}catch(I){try{await((E=(A=$(this,zn).config).onError)==null?void 0:E.call(A,I,t,this.state.context,this,r))}catch(P){Promise.reject(P)}try{await((T=(N=this.options).onError)==null?void 0:T.call(N,I,t,this.state.context,r))}catch(P){Promise.reject(P)}try{await((O=(R=$(this,zn).config).onSettled)==null?void 0:O.call(R,void 0,I,this.state.variables,this.state.context,this,r))}catch(P){Promise.reject(P)}try{await((k=(D=this.options).onSettled)==null?void 0:k.call(D,void 0,I,t,this.state.context,r))}catch(P){Promise.reject(P)}throw Je(this,Mi,yl).call(this,{type:"error",error:I}),I}finally{$(this,ko)===l&&be(this,ko,void 0),$(this,zn).runNext(this)}}},Yf=new WeakMap,Ri=new WeakMap,zn=new WeakMap,ko=new WeakMap,Mi=new WeakSet,yl=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Mn.batch(()=>{$(this,Ri).forEach(r=>{r.onMutationUpdate(t)}),$(this,zn).notify({mutation:this,type:"updated",action:t})})},dR);function H$(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Al,si,Xf,hR,F$=(hR=class extends Qf{constructor(t={}){super();ze(this,Al);ze(this,si);ze(this,Xf);this.config=t,be(this,Al,new Set),be(this,si,new Map),be(this,Xf,0)}build(t,n,r){const l=new B$({client:t,mutationCache:this,mutationId:++Xh(this,Xf)._,options:t.defaultMutationOptions(n),state:r});return this.add(l),l}add(t){$(this,Al).add(t);const n=Qh(t);if(typeof n=="string"){const r=$(this,si).get(n);r?r.push(t):$(this,si).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if($(this,Al).delete(t)){const n=Qh(t);if(typeof n=="string"){const r=$(this,si).get(n);if(r)if(r.length>1){const l=r.indexOf(t);l!==-1&&r.splice(l,1)}else r[0]===t&&$(this,si).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){var r;const n=Qh(t);if(typeof n=="string"){const l=(r=$(this,si).get(n))==null?void 0:r.find(o=>o.state.status==="pending");return!l||l===t}else return!0}runNext(t){var r,l;const n=Qh(t);return typeof n=="string"?((l=(r=$(this,si).get(n))==null?void 0:r.find(o=>o!==t&&o.state.isPaused))==null?void 0:l.continue())??Promise.resolve():Promise.resolve()}clear(){Mn.batch(()=>{const t=this.getAll();$(this,Al).clear(),$(this,si).clear(),t.forEach(n=>{this.notify({type:"removed",mutation:n})})})}getAll(){return Array.from($(this,Al))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>nE(n,r))}findAll(t={}){return this.getAll().filter(n=>nE(t,n))}notify(t){Mn.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Mn.batch(()=>Promise.all(t.map(n=>n.continue().catch(ur))))}},Al=new WeakMap,si=new WeakMap,Xf=new WeakMap,hR);function Qh(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Di,mR,V$=(mR=class extends Qf{constructor(t={}){super();ze(this,Di);this.config=t,be(this,Di,new Map)}build(t,n,r){const l=n.queryKey,o=n.queryHash??e1(l,n);let u=this.get(o);return u||(u=new L$({client:t,queryKey:l,queryHash:o,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(l)}),this.add(u)),u}add(t){$(this,Di).has(t.queryHash)||($(this,Di).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){$(this,Di).get(t.queryHash)===t&&(t.destroy(),$(this,Di).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Mn.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return $(this,Di).get(t)}getAll(){return[...$(this,Di).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>tE(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>tE(t,r)):n}notify(t){Mn.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Mn.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Mn.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Di=new WeakMap,mR),kt,El,Ol,Tu,Ru,Nl,Mu,Du,vR,G$=(vR=class{constructor(e={}){ze(this,kt);ze(this,El);ze(this,Ol);ze(this,Tu);ze(this,Ru);ze(this,Nl);ze(this,Mu);ze(this,Du);be(this,kt,e.queryCache||new V$),be(this,El,e.mutationCache||new F$),be(this,Ol,e.defaultOptions||{}),be(this,Tu,new Map),be(this,Ru,new Map),be(this,Nl,0)}mount(){Xh(this,Nl)._++,$(this,Nl)===1&&(be(this,Mu,i1.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,kt).onFocus())})),be(this,Du,Im.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,kt).onOnline())})))}unmount(){var e,t;Xh(this,Nl)._--,$(this,Nl)===0&&((e=$(this,Mu))==null||e.call(this),be(this,Mu,void 0),(t=$(this,Du))==null||t.call(this),be(this,Du,void 0))}isFetching(e){return $(this,kt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return $(this,El).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=$(this,kt).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=$(this,kt).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Mt(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return $(this,kt).findAll(e).map(({queryKey:t,state:n})=>[t,n.data])}setQueryData(e,t,n){var u;const r=this.defaultQueryOptions({queryKey:e}),l=(u=$(this,kt).get(r.queryHash))==null?void 0:u.state.data,o=_$(t,l);if(o!==void 0)return $(this,kt).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(e,t,n){return Mn.batch(()=>$(this,kt).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=$(this,kt).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=$(this,kt);Mn.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=$(this,kt);return Mn.batch(()=>{const r=n.findAll(e),l=new Set(r);return r.forEach(o=>{o.reset()}),this.refetchQueries({type:"active",predicate:o=>l.has(o)},t)})}cancelQueries(e,t={}){const n={revert:!0,...t},r=Mn.batch(()=>$(this,kt).findAll(e).map(l=>l.cancel(n)));return Promise.all(r).then(ur).catch(ur)}invalidateQueries(e,t={}){return Mn.batch(()=>($(this,kt).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=Mn.batch(()=>$(this,kt).findAll(e).filter(l=>!l.isDisabled()&&!l.isStatic()).map(l=>{let o=l.fetch(void 0,n);const u=l.state.fetchStatus==="paused";return(!n.throwOnError||u)&&(o=o.catch(ur)),u?Promise.resolve():o}));return Promise.all(r).then(ur)}async query(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=$(this,kt).build(this,t),r=n.isStaleByTime(Mt(t.staleTime,n))?await n.fetch(t):n.state.data,l=t.select;return l?l(r):r}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=$(this,kt).build(this,t);return n.isStaleByTime(Mt(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ur).catch(ur)}infiniteQuery(e){return e._type="infinite",this.query(e)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ur).catch(ur)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return Im.isOnline()?$(this,El).resumePausedMutations():Promise.resolve()}getQueryCache(){return $(this,kt)}getMutationCache(){return $(this,El)}getDefaultOptions(){return $(this,Ol)}setDefaultOptions(e){be(this,Ol,e)}setQueryDefaults(e,t){$(this,Tu).set(Nf(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...$(this,Tu).values()],n={};return t.forEach(r=>{Pu(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){$(this,Ru).set(Nf(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...$(this,Ru).values()],n={};return t.forEach(r=>{Pu(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...$(this,Ol).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=e1(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===t1&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...$(this,Ol).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){$(this,kt).clear(),$(this,El).clear()}},kt=new WeakMap,El=new WeakMap,Ol=new WeakMap,Tu=new WeakMap,Ru=new WeakMap,Nl=new WeakMap,Mu=new WeakMap,Du=new WeakMap,vR);const OR=b.createContext(!1),q$=()=>b.useContext(OR);OR.Provider;function K$(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const Y$=b.createContext(K$()),X$=()=>b.useContext(Y$),Q$=(e,t,n)=>{const r=(n==null?void 0:n.state.status)==="error"&&typeof e.throwOnError=="function"?jR(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},Z$=e=>{b.useEffect(()=>{e.clearReset()},[e])},W$=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:l})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(l&&e.data===void 0||jR(n,[e.error,r])),J$=e=>{if(e.suspense){const n=l=>l==="static"?l:Math.max(l??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...l)=>n(r(...l)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},e5=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,t5=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function n5(e,t,n){const r=q$(),l=X$(),o=Jb(),u=o.defaultQueryOptions(e),f=o.getQueryCache().get(u.queryHash),h=e.subscribed!==!1;u._optimisticResults=r?"isRestoring":h?"optimistic":void 0,J$(u),Q$(u,l,f),Z$(l);const[m]=b.useState(()=>new t(o,u)),v=m.getOptimisticResult(u);b.useEffect(()=>{m.setOptions(u)},[u,m]);const p=!r&&h;if(b.useSyncExternalStore(b.useCallback(x=>{const S=p?m.subscribe(Mn.batchCalls(x)):ur;return m.updateResult(),S},[m,p]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),e5(u,v))throw t5(u,m,l);if(W$({result:v,errorResetBoundary:l,throwOnError:u.throwOnError,query:f,suspense:u.suspense}))throw v.error;return u.notifyOnChangeProps?v:m.trackResult(v)}function Rv(e,t){return n5(e,U$)}var hx={exports:{}},nf={},mx={exports:{}},vx={};/** + * @license React + * scheduler.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var cE;function r5(){return cE||(cE=1,(function(e){function t(G,ne){var ie=G.length;G.push(ne);e:for(;0>>1,U=G[ce];if(0>>1;cel(ve,ie))zl(Y,ve)?(G[ce]=Y,G[z]=ie,ce=z):(G[ce]=ve,G[ee]=ie,ce=ee);else if(zl(Y,ie))G[ce]=Y,G[z]=ie,ce=z;else break e}}return ne}function l(G,ne){var ie=G.sortIndex-ne.sortIndex;return ie!==0?ie:G.id-ne.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var h=[],m=[],v=1,p=null,x=3,S=!1,w=!1,j=!1,C=!1,A=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function T(G){for(var ne=n(m);ne!==null;){if(ne.callback===null)r(m);else if(ne.startTime<=G)r(m),ne.sortIndex=ne.expirationTime,t(h,ne);else break;ne=n(m)}}function R(G){if(j=!1,T(G),!w)if(n(h)!==null)w=!0,O||(O=!0,F());else{var ne=n(m);ne!==null&&he(R,ne.startTime-G)}}var O=!1,D=-1,k=5,I=-1;function P(){return C?!0:!(e.unstable_now()-IG&&P());){var ce=p.callback;if(typeof ce=="function"){p.callback=null,x=p.priorityLevel;var U=ce(p.expirationTime<=G);if(G=e.unstable_now(),typeof U=="function"){p.callback=U,T(G),ne=!0;break t}p===n(h)&&r(h),T(G)}else r(h);p=n(h)}if(p!==null)ne=!0;else{var Ee=n(m);Ee!==null&&he(R,Ee.startTime-G),ne=!1}}break e}finally{p=null,x=ie,S=!1}ne=void 0}}finally{ne?F():O=!1}}}var F;if(typeof N=="function")F=function(){N(B)};else if(typeof MessageChannel<"u"){var se=new MessageChannel,ue=se.port2;se.port1.onmessage=B,F=function(){ue.postMessage(null)}}else F=function(){A(B,0)};function he(G,ne){D=A(function(){G(e.unstable_now())},ne)}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(G){G.callback=null},e.unstable_forceFrameRate=function(G){0>G||125ce?(G.sortIndex=ie,t(m,G),n(h)===null&&G===n(m)&&(j?(E(D),D=-1):j=!0,he(R,ie-ce))):(G.sortIndex=U,t(h,G),w||S||(w=!0,O||(O=!0,F()))),G},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(G){var ne=x;return function(){var ie=x;x=ne;try{return G.apply(this,arguments)}finally{x=ie}}}})(vx)),vx}var fE;function i5(){return fE||(fE=1,mx.exports=r5()),mx.exports}var gx={exports:{}},On={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var dE;function a5(){if(dE)return On;dE=1;var e=Fu();function t(v){var p="https://react.dev/errors/"+v;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),gx.exports=a5(),gx.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var mE;function l5(){if(mE)return nf;mE=1;var e=i5(),t=Fu(),n=NR();function r(i){var a="https://react.dev/errors/"+i;if(1ke||(i.current=Ye[ke],Ye[ke]=null,ke--)}function vt(i,a){ke++,Ye[ke]=i.current,i.current=a}var mi=Tt(null),oc=Tt(null),$a=Tt(null),yd=Tt(null);function xd(i,a){switch(vt($a,a),vt(oc,i),vt(mi,null),a.nodeType){case 9:case 11:i=(i=a.documentElement)&&(i=i.namespaceURI)?aA(i):0;break;default:if(i=a.tagName,a=a.namespaceURI)a=aA(a),i=lA(a,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}Et(mi),vt(mi,i)}function ls(){Et(mi),Et(oc),Et($a)}function Ng(i){var a=i.memoizedState;a!==null&&(Ks._currentValue=a.memoizedState,vt(yd,i)),a=mi.current;var s=lA(a,i.type);a!==s&&(vt(oc,i),vt(mi,s))}function bd(i){oc.current===i&&(Et(mi),Et(oc)),yd.current===i&&(Et(yd),Ks._currentValue=ct)}var Tg,Aw;function Ba(i){if(Tg===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);Tg=a&&a[1]||"",Aw=-1)":-1g||L[d]!==K[g]){var Z=` +`+L[d].replace(" at new "," at ");return i.displayName&&Z.includes("")&&(Z=Z.replace("",i.displayName)),Z}while(1<=d&&0<=g);break}}}finally{Rg=!1,Error.prepareStackTrace=s}return(s=i?i.displayName||i.name:"")?Ba(s):""}function pL(i,a){switch(i.tag){case 26:case 27:case 5:return Ba(i.type);case 16:return Ba("Lazy");case 13:return i.child!==a&&a!==null?Ba("Suspense Fallback"):Ba("Suspense");case 19:return Ba("SuspenseList");case 0:case 15:return Mg(i.type,!1);case 11:return Mg(i.type.render,!1);case 1:return Mg(i.type,!0);case 31:return Ba("Activity");case 30:return Ba("ViewTransition");default:return""}}function Ew(i){try{var a="",s=null;do a+=pL(i,s),s=i,i=i.return;while(i);return a}catch(d){return` +Error generating stack: `+d.message+` +`+d.stack}}var Dg=Object.prototype.hasOwnProperty,Pg=e.unstable_scheduleCallback,kg=e.unstable_cancelCallback,yL=e.unstable_shouldYield,xL=e.unstable_requestPaint,hr=e.unstable_now,bL=e.unstable_getCurrentPriorityLevel,Ow=e.unstable_ImmediatePriority,Nw=e.unstable_UserBlockingPriority,Sd=e.unstable_NormalPriority,SL=e.unstable_LowPriority,Tw=e.unstable_IdlePriority,wL=e.log,jL=e.unstable_setDisableYieldValue,sc=null,mr=null;function Ha(i){if(typeof wL=="function"&&jL(i),mr&&typeof mr.setStrictMode=="function")try{mr.setStrictMode(sc,i)}catch{}}var vr=Math.clz32?Math.clz32:AL,CL=Math.log,_L=Math.LN2;function AL(i){return i>>>=0,i===0?32:31-(CL(i)/_L|0)|0}var wd=256,jd=262144,Cd=4194304;function Vl(i){var a=i&42;if(a!==0)return a;switch(i&-i){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 i&-i;case 262144:case 524288:case 1048576:case 2097152:return i&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function _d(i,a,s){var d=i.pendingLanes;if(d===0)return 0;var g=0,y=i.suspendedLanes,_=i.pingedLanes;i=i.warmLanes;var M=d&134217727;return M!==0?(d=M&~y,d!==0?g=Vl(d):(_&=M,_!==0?g=Vl(_):s||(s=M&~i,s!==0&&(g=Vl(s))))):(M=d&~y,M!==0?g=Vl(M):_!==0?g=Vl(_):s||(s=d&~i,s!==0&&(g=Vl(s)))),g===0?0:a!==0&&a!==g&&(a&y)===0&&(y=g&-g,s=a&-a,y>=s||y===32&&(s&4194048)!==0)?a:g}function uc(i,a){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&a)===0}function Rw(i,a){(a&8)!==0&&(a|=a&32);var s=i.entangledLanes;if(s!==0)for(i=i.entanglements,s&=a;0s;s++)a.push(i);return a}function cc(i,a){i.pendingLanes|=a,a!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function OL(i,a,s,d,g,y){var _=i.pendingLanes;i.pendingLanes=s,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=s,i.entangledLanes&=s,i.errorRecoveryDisabledLanes&=s,i.shellSuspendCounter=0;var M=i.entanglements,L=i.expirationTimes,K=i.hiddenUpdates;for(s=_&~s;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),qg=!1;if(Qi)try{var mc={};Object.defineProperty(mc,"passive",{get:function(){qg=!0}}),window.addEventListener("test",mc,mc),window.removeEventListener("test",mc,mc)}catch{qg=!1}var Fa=null,Kg=null,Rd=null;function tj(){if(Rd)return Rd;var i,a=Kg,s=a.length,d,g="value"in Fa?Fa.value:Fa.textContent,y=g.length;for(i=0;i=pc),oj=" ",sj=!1;function uj(i,a){switch(i){case"keyup":return c4.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function cj(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var vs=!1;function d4(i,a){switch(i){case"compositionend":return cj(a);case"keypress":return a.which!==32?null:(sj=!0,oj);case"textInput":return i=a.data,i===oj&&sj?null:i;default:return null}}function h4(i,a){if(vs)return i==="compositionend"||!Wg&&uj(i,a)?(i=tj(),Rd=Kg=Fa=null,vs=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1"u")return null;try{return i.activeElement||i.body}catch{return i.body}}function yj(i){for(;i&&i.firstChild;)i=i.firstChild;return i}function xj(i,a){var s=yj(i);i=0;for(var d;s;){if(s.nodeType===3){if(d=i+s.textContent.length,i<=a&&d>=a)return{node:s,offset:a-i};i=d}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=yj(s)}}function bj(i,a){return i&&a?i===a?!0:i&&i.nodeType===3?!1:a&&a.nodeType===3?bj(i,a.parentNode):"contains"in i?i.contains(a):i.compareDocumentPosition?!!(i.compareDocumentPosition(a)&16):!1:!1}function Sj(i){i=i!=null&&i.ownerDocument!=null&&i.ownerDocument.defaultView!=null?i.ownerDocument.defaultView:window;for(var a=tp(i.document);a instanceof i.HTMLIFrameElement;){try{var s=typeof a.contentWindow.location.href=="string"}catch{s=!1}if(s)i=a.contentWindow;else break;a=tp(i.document)}return a}function np(i){var a=i&&i.nodeName&&i.nodeName.toLowerCase();return a&&(a==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||a==="textarea"||i.contentEditable==="true")}var S4=Qi&&"documentMode"in document&&11>=document.documentMode,gs=null,rp=null,Sc=null,ip=!1;function wj(i,a,s){var d=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;ip||gs==null||gs!==tp(d)||(d=gs,"selectionStart"in d&&np(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Sc&&bc(Sc,d)||(Sc=d,d=Ih(rp,"onSelect"),0>=_,g-=_,gi=1<<32-vr(a)+g|s<Le?(Yt=De,De=null):Yt=De.sibling;var nt=V(q,De,X[Le],re);if(nt===null){De===null&&(De=Yt);break}i&&De&&nt.alternate===null&&a(q,De),H=y(nt,H,Le),We===null?we=nt:We.sibling=nt,We=nt,De=Yt}if(Le===X.length)return s(q,De),Ve&&ea(q,Le),we;if(De===null){for(;LeLe?(Yt=De,De=null):Yt=De.sibling;var ml=V(q,De,nt.value,re);if(ml===null){De===null&&(De=Yt);break}i&&De&&ml.alternate===null&&a(q,De),H=y(ml,H,Le),We===null?we=ml:We.sibling=ml,We=ml,De=Yt}if(nt.done)return s(q,De),Ve&&ea(q,Le),we;if(De===null){for(;!nt.done;Le++,nt=X.next())nt=ae(q,nt.value,re),nt!==null&&(H=y(nt,H,Le),We===null?we=nt:We.sibling=nt,We=nt);return Ve&&ea(q,Le),we}for(De=d(De);!nt.done;Le++,nt=X.next())nt=Q(De,q,Le,nt.value,re),nt!==null&&(i&&(Yt=nt.alternate,Yt!==null&&De.delete(Yt.key===null?Le:Yt.key)),H=y(nt,H,Le),We===null?we=nt:We.sibling=nt,We=nt);return i&&De.forEach(function(d$){return a(q,d$)}),Ve&&ea(q,Le),we}function Fe(q,H,X,re){if(typeof X=="object"&&X!==null&&X.type===B&&X.key===null&&X.props.ref===void 0&&(X=X.props.children),typeof X=="object"&&X!==null){switch(X.$$typeof){case I:e:{for(var we=X.key;H!==null;){if(H.key===we){if(we=X.type,we===B){if(H.tag===7){s(q,H.sibling),re=g(H,X.props.children),Xa(re,X),re.return=q,q=re;break e}}else if(H.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===U&&ro(we)===H.type){s(q,H.sibling),re=g(H,X.props),Xa(re,X),re.return=q,q=re;break e}s(q,H);break}else a(q,H);H=H.sibling}X.type===B?(re=Ql(X.props.children,q.mode,re,X.key),Xa(re,X),re.return=q,q=re):(re=Bd(X.type,X.key,X.props,null,q.mode,re),Xa(re,X),re.return=q,q=re)}return _(q);case P:e:{for(we=X.key;H!==null;){if(H.key===we)if(H.tag===4&&H.stateNode.containerInfo===X.containerInfo&&H.stateNode.implementation===X.implementation){s(q,H.sibling),re=g(H,X.children||[]),re.return=q,q=re;break e}else{s(q,H);break}else a(q,H);H=H.sibling}re=fp(X,q.mode,re),re.return=q,q=re}return _(q);case U:return X=ro(X),Fe(q,H,X,re)}if(ge(X))return pe(q,H,X,re);if(fe(X)){if(we=fe(X),typeof we!="function")throw Error(r(150));return X=we.call(X),Ae(q,H,X,re)}if(typeof X.then=="function")return Fe(q,H,Zd(X),re);if(X.$$typeof===he)return Fe(q,H,Kd(q,X),re);Wd(q,X)}return typeof X=="string"&&X!==""||typeof X=="number"||typeof X=="bigint"?(X=""+X,H!==null&&H.tag===6?(s(q,H.sibling),re=g(H,X),re.return=q,q=re):(s(q,H),re=cp(X,q.mode,re),re.return=q,q=re),_(q)):s(q,H)}return function(q,H,X,re){try{Ec=0;var we=Fe(q,H,X,re);return _s=null,we}catch(De){if(De===Cs||De===Xd)throw De;var We=rr(29,De,null,q.mode);return We.lanes=re,We.return=q,We}finally{}}}var ao=qj(!0),Kj=qj(!1),Qa=!1;function Sp(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function wp(i,a){i=i.updateQueue,a.updateQueue===i&&(a.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,callbacks:null})}function Za(i){return{lane:i,tag:0,payload:null,callback:null,next:null}}function Wa(i,a,s){var d=i.updateQueue;if(d===null)return null;if(d=d.shared,(ot&2)!==0){var g=d.pending;return g===null?a.next=a:(a.next=g.next,g.next=a),d.pending=a,a=$d(i),Tj(i,null,s),a}return Ud(i,d,a,s),$d(i)}function Oc(i,a,s){if(a=a.updateQueue,a!==null&&(a=a.shared,(s&4194048)!==0)){var d=a.lanes;d&=i.pendingLanes,s|=d,a.lanes=s,Pw(i,s)}}function jp(i,a){var s=i.updateQueue,d=i.alternate;if(d!==null&&(d=d.updateQueue,s===d)){var g=null,y=null;if(s=s.firstBaseUpdate,s!==null){do{var _={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};y===null?g=y=_:y=y.next=_,s=s.next}while(s!==null);y===null?g=y=a:y=y.next=a}else g=y=a;s={baseState:d.baseState,firstBaseUpdate:g,lastBaseUpdate:y,shared:d.shared,callbacks:d.callbacks},i.updateQueue=s;return}i=s.lastBaseUpdate,i===null?s.firstBaseUpdate=a:i.next=a,s.lastBaseUpdate=a}var Cp=!1;function Nc(){if(Cp){var i=js;if(i!==null)throw i}}function Tc(i,a,s,d){Cp=!1;var g=i.updateQueue;Qa=!1;var y=g.firstBaseUpdate,_=g.lastBaseUpdate,M=g.shared.pending;if(M!==null){g.shared.pending=null;var L=M,K=L.next;L.next=null,_===null?y=K:_.next=K,_=L;var Z=i.alternate;Z!==null&&(Z=Z.updateQueue,M=Z.lastBaseUpdate,M!==_&&(M===null?Z.firstBaseUpdate=K:M.next=K,Z.lastBaseUpdate=L))}if(y!==null){var ae=g.baseState;_=0,Z=K=L=null,M=y;do{var V=M.lane&-536870913,Q=V!==M.lane;if(Q?(Ze&V)===V:(d&V)===V){V!==0&&V===to&&(Cp=!0),Z!==null&&(Z=Z.next={lane:0,tag:M.tag,payload:M.payload,callback:null,next:null});e:{var pe=i,Ae=M;V=a;var Fe=s;switch(Ae.tag){case 1:if(pe=Ae.payload,typeof pe=="function"){ae=pe.call(Fe,ae,V);break e}ae=pe;break e;case 3:pe.flags=pe.flags&-65537|128;case 0:if(pe=Ae.payload,V=typeof pe=="function"?pe.call(Fe,ae,V):pe,V==null)break e;ae=D({},ae,V);break e;case 2:Qa=!0}}V=M.callback,V!==null&&(i.flags|=64,Q&&(i.flags|=8192),Q=g.callbacks,Q===null?g.callbacks=[V]:Q.push(V))}else Q={lane:V,tag:M.tag,payload:M.payload,callback:M.callback,next:null},Z===null?(K=Z=Q,L=ae):Z=Z.next=Q,_|=V;if(M=M.next,M===null){if(M=g.shared.pending,M===null)break;Q=M,M=Q.next,Q.next=null,g.lastBaseUpdate=Q,g.shared.pending=null}}while(!0);Z===null&&(L=ae),g.baseState=L,g.firstBaseUpdate=K,g.lastBaseUpdate=Z,y===null&&(g.shared.lanes=0),al|=_,i.lanes=_,i.memoizedState=ae}}function Yj(i,a){if(typeof i!="function")throw Error(r(191,i));i.call(a)}function Xj(i,a){var s=i.callbacks;if(s!==null)for(i.callbacks=null,i=0;iy?y:8;var _=oe.T,M={};M.types=_!==null?_.types:null,oe.T=M,Vp(i,!1,a,s);try{var L=g(),K=oe.S;if(K!==null&&K(M,L),L!==null&&typeof L=="object"&&typeof L.then=="function"){var Z=M4(L,d);Pc(i,a,Z,wr(i))}else Pc(i,a,d,wr(i))}catch(ae){Pc(i,a,{then:function(){},status:"rejected",reason:ae},wr())}finally{J.p=y,_!==null&&M.types!==null&&(_.types=M.types),oe.T=_}}function L4(){}function Hp(i,a,s,d){if(i.tag!==5)throw Error(r(476));var g=EC(i).queue;AC(i,g,a,ct,s===null?L4:function(){return OC(i),s(d)})}function EC(i){var a=i.memoizedState;if(a!==null)return a;a={memoizedState:ct,baseState:ct,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ia,lastRenderedState:ct},next:null};var s={};return a.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ia,lastRenderedState:s},next:null},i.memoizedState=a,i=i.alternate,i!==null&&(i.memoizedState=a),a}function OC(i){var a=EC(i);a.next===null&&(a=i.alternate.memoizedState),Pc(i,a.next.queue,{},wr())}function Fp(){return jn(Ks)}function NC(){return Ht().memoizedState}function TC(){return Ht().memoizedState}function U4(i){for(var a=i.return;a!==null;){switch(a.tag){case 24:case 3:var s=wr();i=Za(s);var d=Wa(a,i,s);d!==null&&(or(d,a,s),Oc(d,a,s)),a={cache:pp()},i.payload=a;return}a=a.return}}function $4(i,a,s){var d=wr();s={lane:d,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},sh(i)?MC(a,s):(s=sp(i,a,s,d),s!==null&&(or(s,i,d),DC(s,a,d)))}function RC(i,a,s){var d=wr();Pc(i,a,s,d)}function Pc(i,a,s,d){var g={lane:d,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(sh(i))MC(a,g);else{var y=i.alternate;if(i.lanes===0&&(y===null||y.lanes===0)&&(y=a.lastRenderedReducer,y!==null))try{var _=a.lastRenderedState,M=y(_,s);if(g.hasEagerState=!0,g.eagerState=M,pr(M,_))return Ud(i,a,g,0),St===null&&Ld(),!1}catch{}finally{}if(s=sp(i,a,g,d),s!==null)return or(s,i,d),DC(s,a,d),!0}return!1}function Vp(i,a,s,d){if(d={lane:2,revertLane:Py(),gesture:null,action:d,hasEagerState:!1,eagerState:null,next:null},sh(i)){if(a)throw Error(r(479))}else a=sp(i,s,d,2),a!==null&&or(a,i,2)}function sh(i){var a=i.alternate;return i===He||a!==null&&a===He}function MC(i,a){As=th=!0;var s=i.pending;s===null?a.next=a:(a.next=s.next,s.next=a),i.pending=a}function DC(i,a,s){if((s&4194048)!==0){var d=a.lanes;d&=i.pendingLanes,s|=d,a.lanes=s,Pw(i,s)}}var uh={readContext:jn,use:ih,useCallback:zt,useContext:zt,useEffect:zt,useImperativeHandle:zt,useLayoutEffect:zt,useInsertionEffect:zt,useMemo:zt,useReducer:zt,useRef:zt,useState:zt,useDebugValue:zt,useDeferredValue:zt,useTransition:zt,useSyncExternalStore:zt,useId:zt,useHostTransitionStatus:zt,useFormState:zt,useActionState:zt,useOptimistic:zt,useMemoCache:zt,useCacheRefresh:zt,useEffectEvent:zt},PC={readContext:jn,use:ih,useCallback:function(i,a){return Gn().memoizedState=[i,a===void 0?null:a],i},useContext:jn,useEffect:pC,useImperativeHandle:function(i,a,s){s=s!=null?s.concat([i]):null,lh(4194308,4,SC.bind(null,a,i),s)},useLayoutEffect:function(i,a){return lh(4194308,4,i,a)},useInsertionEffect:function(i,a){lh(4,2,i,a)},useMemo:function(i,a){var s=Gn();a=a===void 0?null:a;var d=i();if(lo){Ha(!0);try{i()}finally{Ha(!1)}}return s.memoizedState=[d,a],d},useReducer:function(i,a,s){var d=Gn();if(s!==void 0){var g=s(a);if(lo){Ha(!0);try{s(a)}finally{Ha(!1)}}}else g=a;return d.memoizedState=d.baseState=g,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:g},d.queue=i,i=i.dispatch=$4.bind(null,He,i),[d.memoizedState,i]},useRef:function(i){var a=Gn();return i={current:i},a.memoizedState=i},useState:function(i){i=zp(i);var a=i.queue,s=RC.bind(null,He,a);return a.dispatch=s,[i.memoizedState,s]},useDebugValue:$p,useDeferredValue:function(i,a){var s=Gn();return Bp(s,i,a)},useTransition:function(){var i=zp(!1);return i=AC.bind(null,He,i.queue,!0,!1),Gn().memoizedState=i,[!1,i]},useSyncExternalStore:function(i,a,s){var d=He,g=Gn();if(Ve){if(s===void 0)throw Error(r(407));s=s()}else{if(s=a(),St===null)throw Error(r(349));(Ze&127)!==0||tC(d,a,s)}g.memoizedState=s;var y={value:s,getSnapshot:a};return g.queue=y,pC(rC.bind(null,d,y,i),[i]),d.flags|=2048,Os(9,{destroy:void 0},nC.bind(null,d,y,s,a),null),s},useId:function(){var i=Gn(),a=St.identifierPrefix;if(Ve){var s=pi,d=gi;s=(d&~(1<<32-vr(d)-1)).toString(32)+s,a="_"+a+"R_"+s,s=nh++,0<\/script>",y=y.removeChild(y.firstChild);break;case"select":y=typeof d.is=="string"?_.createElement("select",{is:d.is}):_.createElement("select"),d.multiple?y.multiple=!0:d.size&&(y.size=d.size);break;default:y=typeof d.is=="string"?_.createElement(g,{is:d.is}):_.createElement(g)}}y[wn]=a,y[nr]=d;e:for(_=a.child;_!==null;){if(_.tag===5||_.tag===6)y.appendChild(_.stateNode);else if(_.tag!==4&&_.tag!==27&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===a)break e;for(;_.sibling===null;){if(_.return===null||_.return===a)break e;_=_.return}_.sibling.return=_.return,_=_.sibling}a.stateNode=y;e:switch(En(y,g,d),g){case"button":case"input":case"select":case"textarea":d=!!d.autoFocus;break e;case"img":d=!0;break e;default:d=!1}d&&la(a)}}return At(a),a.subtreeFlags&=-33554433,ry(a,a.type,i===null?null:i.memoizedProps,a.pendingProps,s),null;case 6:if(i&&a.stateNode!=null)i.memoizedProps!==d&&la(a);else{if(typeof d!="string"&&a.stateNode===null)throw Error(r(166));if(i=$a.current,ws(a)){if(i=a.stateNode,s=a.memoizedProps,d=null,g=cn,g!==null)switch(g.tag){case 27:case 5:d=g.memoizedProps}i[wn]=a,i=!!(i.nodeValue===s||d!==null&&d.suppressHydrationWarning===!0||rA(i.nodeValue,s)),i||Ka(a,!0)}else i=Kc(i).createTextNode(d),i[wn]=a,a.stateNode=i}return At(a),null;case 31:if(s=a.memoizedState,i===null||i.memoizedState!==null){if(d=ws(a),s!==null){if(i===null){if(!d)throw Error(r(318));if(i=a.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(r(557));i[wn]=a}else Zl(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;At(a),i=!1}else s=mp(),i!==null&&i.memoizedState!==null&&(i.memoizedState.hydrationErrors=s),i=!0;if(!i)return a.flags&256?(yr(a),a):(yr(a),null);if((a.flags&128)!==0)throw Error(r(558))}return At(a),null;case 13:if(d=a.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(g=ws(a),d!==null&&d.dehydrated!==null){if(i===null){if(!g)throw Error(r(318));if(g=a.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(r(317));g[wn]=a}else Zl(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;At(a),g=!1}else g=mp(),i!==null&&i.memoizedState!==null&&(i.memoizedState.hydrationErrors=g),g=!0;if(!g)return a.flags&256?(yr(a),a):(yr(a),null)}return yr(a),(a.flags&128)!==0?(a.lanes=s,a):(s=d!==null,i=i!==null&&i.memoizedState!==null,s&&(d=a.child,g=null,d.alternate!==null&&d.alternate.memoizedState!==null&&d.alternate.memoizedState.cachePool!==null&&(g=d.alternate.memoizedState.cachePool.pool),y=null,d.memoizedState!==null&&d.memoizedState.cachePool!==null&&(y=d.memoizedState.cachePool.pool),y!==g&&(d.flags|=2048)),s!==i&&s&&(a.child.flags|=8192),vh(a,a.updateQueue),At(a),null);case 4:return ls(),i===null&&Ly(a.stateNode.containerInfo),a.flags|=67108864,At(a),null;case 10:return na(a.type),At(a),null;case 19:if(Op(a),d=a.memoizedState,d===null)return At(a),null;if(g=(a.flags&128)!==0,y=d.rendering,y===null)if(g)Ic(d,!1);else{if(Lt!==0||i!==null&&(i.flags&128)!==0)for(i=a.child;i!==null;){if(y=eh(i),y!==null){for(a.flags|=128,Ic(d,!1),i=y.updateQueue,a.updateQueue=i,vh(a,i),a.subtreeFlags=0,i=s,s=a.child;s!==null;)Rj(s,i),s=s.sibling;return Rc(a,_n.current&1|2),Ve&&ea(a,d.treeForkCount),a.child}i=i.sibling}d.tail!==null&&hr()>Eh&&(a.flags|=128,g=!0,Ic(d,!1),a.lanes=4194304)}else{if(!g)if(i=eh(y),i!==null){if(a.flags|=128,g=!0,i=i.updateQueue,a.updateQueue=i,vh(a,i),Ic(d,!0),d.tail===null&&d.tailMode!=="collapsed"&&d.tailMode!=="visible"&&!y.alternate&&!Ve)return At(a),null}else 2*hr()-d.renderingStartTime>Eh&&s!==536870912&&(a.flags|=128,g=!0,Ic(d,!1),a.lanes=4194304);d.isBackwards?(y.sibling=a.child,a.child=y):(i=d.last,i!==null?i.sibling=y:a.child=y,d.last=y)}if(d.tail!==null){i=d.tail;e:{for(s=i;s!==null;){if(s.alternate!==null){s=!1;break e}s=s.sibling}s=!0}return d.rendering=i,d.tail=i.sibling,d.renderingStartTime=hr(),i.sibling=null,y=_n.current,y=g?y&1|2:y&1,d.tailMode==="visible"||d.tailMode==="collapsed"||!s||Ve?Rc(a,y):(s=y,vt(Cn,a),vt(_n,s),kn===null&&(kn=a)),Ve&&ea(a,d.treeForkCount),i}return At(a),null;case 22:case 23:return yr(a),Ap(),d=a.memoizedState!==null,i!==null?i.memoizedState!==null!==d&&(a.flags|=8192):d&&(a.flags|=8192),d?(s&536870912)!==0&&(a.flags&128)===0&&(At(a),a.subtreeFlags&6&&(a.flags|=8192)):At(a),s=a.updateQueue,s!==null&&vh(a,s.retryQueue),s=null,i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(s=i.memoizedState.cachePool.pool),d=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(d=a.memoizedState.cachePool.pool),d!==s&&(a.flags|=2048),i!==null&&Et(no),null;case 24:return s=null,i!==null&&(s=i.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),na(Gt),At(a),null;case 25:return null;case 30:return a.flags|=33554432,At(a),null}throw Error(r(156,a.tag))}function K4(i,a){switch(dp(a),a.tag){case 1:return i=a.flags,i&65536?(a.flags=i&-65537|128,a):null;case 3:return na(Gt),ls(),i=a.flags,(i&65536)!==0&&(i&128)===0?(a.flags=i&-65537|128,a):null;case 26:case 27:case 5:return bd(a),null;case 31:if(a.memoizedState!==null){if(yr(a),a.alternate===null)throw Error(r(340));Zl()}return i=a.flags,i&65536?(a.flags=i&-65537|128,a):null;case 13:if(yr(a),i=a.memoizedState,i!==null&&i.dehydrated!==null){if(a.alternate===null)throw Error(r(340));Zl()}return i=a.flags,i&65536?(a.flags=i&-65537|128,a):null;case 19:return Op(a),i=a.flags,i&65536?(a.flags=i&-65537|128,i=a.memoizedState,i!==null&&(i.rendering=null,i.tail=null),a.flags|=4,a):null;case 4:return ls(),null;case 10:return na(a.type),null;case 22:case 23:return yr(a),Ap(),i!==null&&Et(no),i=a.flags,i&65536?(a.flags=i&-65537|128,a):null;case 24:return na(Gt),null;case 25:return null;default:return null}}function a_(i,a){switch(dp(a),a.tag){case 3:na(Gt),ls();break;case 26:case 27:case 5:bd(a);break;case 4:ls();break;case 31:a.memoizedState!==null&&yr(a);break;case 13:yr(a);break;case 19:Op(a);break;case 10:na(a.type);break;case 22:case 23:yr(a),Ap(),i!==null&&Et(no);break;case 24:na(Gt)}}function zc(i,a){try{var s=a.updateQueue,d=s!==null?s.lastEffect:null;if(d!==null){var g=d.next;s=g;do{if((s.tag&i)===i){d=void 0;var y=s.create,_=s.inst;d=y(),_.destroy=d}s=s.next}while(s!==g)}}catch(M){pt(a,a.return,M)}}function nl(i,a,s){try{var d=a.updateQueue,g=d!==null?d.lastEffect:null;if(g!==null){var y=g.next;d=y;do{if((d.tag&i)===i){var _=d.inst,M=_.destroy;if(M!==void 0){_.destroy=void 0,g=a;var L=s,K=M;try{K()}catch(Z){pt(g,L,Z)}}}d=d.next}while(d!==y)}}catch(Z){pt(a,a.return,Z)}}function l_(i){var a=i.updateQueue;if(a!==null){var s=i.stateNode;try{Xj(a,s)}catch(d){pt(i,i.return,d)}}}function o_(i,a,s){s.props=oo(i.type,i.memoizedProps),s.state=i.memoizedState;try{s.componentWillUnmount()}catch(d){pt(i,a,d)}}function yi(i,a){try{var s=i.ref;if(s!==null){switch(i.tag){case 26:case 27:case 5:var d=i.stateNode;break;case 30:var g=i.stateNode,y=Zi(i.memoizedProps,g);(g.ref===null||g.ref.name!==y)&&(g.ref=mA(y)),d=g.ref;break;case 7:if(i.stateNode===null){var _=new jr(i);p(i.child,!1,zU,_,void 0,void 0),i.stateNode=_}d=i.stateNode;break;default:d=i.stateNode}typeof s=="function"?i.refCleanup=s(d):s.current=d}}catch(M){pt(i,a,M)}}function An(i,a){var s=i.ref,d=i.refCleanup;if(s!==null)if(typeof d=="function")try{d()}catch(g){pt(i,a,g)}finally{i.refCleanup=null,i=i.alternate,i!=null&&(i.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(g){pt(i,a,g)}else s.current=null}function gh(i,a){if((i.tag===5||i.tag===27||i.tag===6)&&i.alternate===null&&a!==null)for(var s=0;s title"))),En(d,a,s),d[wn]=i,un(d),a=d;break e;case"link":if(y=RA("link","href",g).get(a+(s.href||""))){for(_=0;_Fe&&(_=Fe,Fe=Ae,Ae=_);var q=xj(M,Ae),H=xj(M,Fe);if(q&&H&&(Q.rangeCount!==1||Q.anchorNode!==q.node||Q.anchorOffset!==q.offset||Q.focusNode!==H.node||Q.focusOffset!==H.offset)){var X=ae.createRange();X.setStart(q.node,q.offset),Q.removeAllRanges(),Ae>Fe?(Q.addRange(X),Q.extend(H.node,H.offset)):(X.setEnd(H.node,H.offset),Q.addRange(X))}}}}for(ae=[],Q=M;Q=Q.parentNode;)Q.nodeType===1&&ae.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof M.focus=="function"&&M.focus(),M=0;Ms?32:s,oe.T=null,s=Cy,Cy=null;var y=ai,_=Ci;if(Pt=0,fo=ai=null,Ci=0,(ot&6)!==0)throw Error(r(331));var M=ot;if(ot|=4,T_(y.current),E_(y,y.current,_,s),ot=M,Vc(0,!1),mr&&typeof mr.onPostCommitFiberRoot=="function")try{mr.onPostCommitFiberRoot(sc,y)}catch{}return!0}finally{J.p=g,oe.T=d,G_(i,a)}}function q_(i,a,s){a=Pr(s,a),a=Kp(i.stateNode,a,2),i=Wa(i,a,2),i!==null&&(cc(i,2),_i(i))}function pt(i,a,s){if(i.tag===3)q_(i,i,s);else for(;a!==null;){if(a.tag===3){q_(a,i,s);break}else if(a.tag===1){var d=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof d.componentDidCatch=="function"&&(ll===null||!ll.has(d))){i=Pr(s,i),s=HC(2),d=Wa(a,s,2),d!==null&&(FC(s,d,a,i),cc(d,2),_i(d));break}}a=a.return}}function Ry(i,a,s){var d=i.pingCache;if(d===null){d=i.pingCache=new Z4;var g=new Set;d.set(a,g)}else g=d.get(a),g===void 0&&(g=new Set,d.set(a,g));g.has(s)||(Sy=!0,g.add(s),i=aU.bind(null,i,a,s),a.then(i,i))}function aU(i,a,s){var d=i.pingCache;d!==null&&d.delete(a),i.pingedLanes|=i.suspendedLanes&s,i.warmLanes&=~s,St===i&&(Ze&s)===s&&((Lt===4||Lt===3&&(Ze&62914560)===Ze&&300>hr()-Ah)&&(ot&2)===0?Us(i,0):_h|=s,Ps===Ze&&(Ps=0)),_i(i)}function K_(i,a){a===0&&(a=Mw()),i=Xl(i,a),i!==null&&(cc(i,a),_i(i))}function lU(i){var a=i.memoizedState,s=0;a!==null&&(s=a.retryLane),K_(i,s)}function oU(i,a){var s=0;switch(i.tag){case 31:case 13:var d=i.stateNode,g=i.memoizedState;g!==null&&(s=g.retryLane);break;case 19:d=i.stateNode;break;case 22:d=i.stateNode._retryCache;break;default:throw Error(r(314))}d!==null&&d.delete(a),K_(i,s)}function sU(i,a){return Pg(i,a)}var Bs=null,Hs=null,My=!1,Ph=!1,Dy=!1,sl=0;function _i(i){i!==Hs&&i.next===null&&(Hs===null?Bs=Hs=i:Hs=Hs.next=i),Ph=!0,My||(My=!0,cU())}function Vc(i,a){if(!Dy&&Ph){Dy=!0;do for(var s=!1,d=Bs;d!==null;){if(i!==0){var g=d.pendingLanes;if(g===0)var y=0;else{var _=d.suspendedLanes,M=d.pingedLanes;y=(1<<31-vr(42|i)+1)-1,y&=g&~(_&~M),y=y&201326741?y&201326741|1:y?y|2:0}y!==0&&(s=!0,Z_(d,y))}else y=Ze,y=_d(d,d===St?y:0,d.cancelPendingCommit!==null||d.timeoutHandle!==-1),(y&3)===0||uc(d,y)||(s=!0,Z_(d,y));d=d.next}while(s);Dy=!1}}function uU(){Y_()}function Y_(){Ph=My=!1;var i=0;sl!==0&&SU()&&(i=sl);for(var a=hr(),s=null,d=Bs;d!==null;){var g=d.next,y=X_(d,a);y===0?(d.next=null,s===null?Bs=g:s.next=g,g===null&&(Hs=s)):(s=d,(i!==0||(y&3)!==0)&&(Ph=!0)),d=g}Pt!==0&&Pt!==5||Vc(i),sl!==0&&(sl=0)}function X_(i,a){for(var s=i.suspendedLanes,d=i.pingedLanes,g=i.expirationTimes,y=i.pendingLanes&-62914561;0M)break;var Z=L.transferSize,ae=L.initiatorType;Z&&iA(ae)&&(L=L.responseEnd,_+=Z*(LUh){Ae.length=pe;break}X=new Promise(EU.bind(X)),Ae.push(X)}}}if(0"u"?null:document;function EA(i,a,s){var d=Vs;if(d&&typeof a=="string"&&a){var g=Mr(a);g='link[rel="'+i+'"][href="'+g+'"]',typeof s=="string"&&(g+='[crossorigin="'+s+'"]'),AA.has(g)||(AA.add(g),i={rel:i,crossOrigin:s,href:a},d.querySelector(g)===null&&(a=d.createElement("link"),En(a,"link",i),un(a),d.head.appendChild(a)))}}function qU(i){sa.D(i),EA("dns-prefetch",i,null)}function KU(i,a){sa.C(i,a),EA("preconnect",i,a)}function YU(i,a,s){sa.L(i,a,s);var d=Vs;if(d&&i&&a){var g='link[rel="preload"][as="'+Mr(a)+'"]';a==="image"&&s&&s.imageSrcSet?(g+='[imagesrcset="'+Mr(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(g+='[imagesizes="'+Mr(s.imageSizes)+'"]')):g+='[href="'+Mr(i)+'"]';var y=g;switch(a){case"style":y=Gs(i);break;case"script":y=qs(i)}if(!($r.has(y)||(i=D({rel:"preload",href:a==="image"&&s&&s.imageSrcSet?void 0:i,as:a},s),$r.set(y,i),d.querySelector(g)!==null||a==="style"&&d.querySelector(Xc(y))||a==="script"&&d.querySelector(Qc(y))))){var _=d.createElement("link");En(_,"link",i),a==="style"&&(_[Ad]=!0,_.onload=_.onerror=function(){$w(_)}),un(_),d.head.appendChild(_)}}}function XU(i,a){sa.m(i,a);var s=Vs;if(s&&i){var d=a&&typeof a.as=="string"?a.as:"script",g='link[rel="modulepreload"][as="'+Mr(d)+'"][href="'+Mr(i)+'"]',y=g;switch(d){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":y=qs(i)}if(!$r.has(y)&&(i=D({rel:"modulepreload",href:i},a),$r.set(y,i),s.querySelector(g)===null)){switch(d){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Qc(y)))return}d=s.createElement("link"),En(d,"link",i),un(d),s.head.appendChild(d)}}}function QU(i,a,s){sa.S(i,a,s);var d=Vs;if(d&&i){var g=us(d).hoistableStyles,y=Gs(i);a=a||"default";var _=g.get(y);if(!_){var M={loading:0,preload:null};if(_=d.querySelector(Xc(y)))M.loading=5;else{i=D({rel:"stylesheet",href:i,"data-precedence":a},s),(s=$r.get(y))&&ex(i,s);var L=_=d.createElement("link");un(L),En(L,"link",i),L._p=new Promise(function(K,Z){L.onload=K,L.onerror=Z}),L.addEventListener("load",function(){M.loading|=1}),L.addEventListener("error",function(){M.loading|=2}),M.loading|=4,zh(_,a,d)}_={type:"stylesheet",instance:_,count:1,state:M},g.set(y,_)}}}function ZU(i,a){sa.X(i,a);var s=Vs;if(s&&i){var d=us(s).hoistableScripts,g=qs(i),y=d.get(g);y||(y=s.querySelector(Qc(g)),y||(i=D({src:i,async:!0},a),(a=$r.get(g))&&tx(i,a),y=s.createElement("script"),un(y),En(y,"link",i),s.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},d.set(g,y))}}function WU(i,a){sa.M(i,a);var s=Vs;if(s&&i){var d=us(s).hoistableScripts,g=qs(i),y=d.get(g);y||(y=s.querySelector(Qc(g)),y||(i=D({src:i,async:!0,type:"module"},a),(a=$r.get(g))&&tx(i,a),y=s.createElement("script"),un(y),En(y,"link",i),s.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},d.set(g,y))}}function OA(i,a,s,d){var g=(g=$a.current)?Yc(g):null;if(!g)throw Error(r(446));switch(i){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(s=Gs(s.href),a=us(g).hoistableStyles,d=a.get(s),d||(d={type:"style",instance:null,count:0,state:null},a.set(s,d)),d):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){i=Gs(s.href);var y=us(g).hoistableStyles,_=y.get(i);if(_||(g=g.ownerDocument||g,_={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},y.set(i,_),(y=g.querySelector(Xc(i)))?y._p||(_.instance=y,_.state.loading=5):(y=$r.get(i),y||(y={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},$r.set(i,y)),JU(g,i,y,_.state))),a&&d===null)throw Error(r(528,""));return _}if(a&&d!==null)throw Error(r(529,""));return null;case"script":return a=s.async,s=s.src,typeof s=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(s=qs(s),a=us(g).hoistableScripts,d=a.get(s),d||(d={type:"script",instance:null,count:0,state:null},a.set(s,d)),d):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,i))}}function Gs(i){return'href="'+Mr(i)+'"'}function Xc(i){return'link[rel="stylesheet"]['+i+"]"}function NA(i){return D({},i,{"data-precedence":i.precedence,precedence:null})}function JU(i,a,s,d){if(a=i.querySelector('link[rel="preload"][as="style"]['+a+"]")){if(a[Ad]!==!0){d.loading=1;return}}else a=i.createElement("link"),a[Ad]=!0,a.onload=a.onerror=$w.bind(null,a),En(a,"link",s),un(a),i.head.appendChild(a);d.preload=a,a.addEventListener("load",function(){return d.loading|=1}),a.addEventListener("error",function(){return d.loading|=2})}function qs(i){return'[src="'+Mr(i)+'"]'}function Qc(i){return"script[async]"+i}function TA(i,a,s){if(a.count++,a.instance===null)switch(a.type){case"style":var d=i.querySelector('style[data-href~="'+Mr(s.href)+'"]');if(d)return a.instance=d,un(d),d;var g=D({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return d=(i.ownerDocument||i).createElement("style"),un(d),En(d,"style",g),zh(d,s.precedence,i),a.instance=d;case"stylesheet":g=Gs(s.href);var y=i.querySelector(Xc(g));if(y)return a.state.loading|=4,a.instance=y,un(y),y;d=NA(s),(g=$r.get(g))&&ex(d,g),y=(i.ownerDocument||i).createElement("link"),un(y);var _=y;return _._p=new Promise(function(M,L){_.onload=M,_.onerror=L}),En(y,"link",d),a.state.loading|=4,zh(y,s.precedence,i),a.instance=y;case"script":return y=qs(s.src),(g=i.querySelector(Qc(y)))?(a.instance=g,un(g),g):(d=s,(g=$r.get(y))&&(d=D({},s),tx(d,g)),i=i.ownerDocument||i,g=i.createElement("script"),un(g),En(g,"link",d),i.head.appendChild(g),a.instance=g);case"void":return null;default:throw Error(r(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(d=a.instance,a.state.loading|=4,zh(d,s.precedence,i));return a.instance}function zh(i,a,s){for(var d=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=d.length?d[d.length-1]:null,y=g,_=0;_ title"):null)}function e$(i,a,s){if(s===1||a.itemProp!=null)return!1;switch(i){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return i=a.disabled,typeof a.precedence=="string"&&i==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function MA(i,a){return i==="img"&&a.src!=null&&a.src!==""&&a.onLoad==null&&a.loading!=="lazy"}function DA(i){return!(i.type==="stylesheet"&&(i.state.loading&3)===0)}function PA(i){return(i.width||100)*(i.height||100)*(typeof devicePixelRatio=="number"?devicePixelRatio:1)*.25}function kA(i,a){typeof a.decode=="function"&&(i.imgCount++,a.complete||(i.imgBytes+=PA(a),i.suspenseyImages.push(a)),i=r$.bind(i),a.decode().then(i,i))}function t$(i,a,s,d){if(s.type==="stylesheet"&&(typeof d.media!="string"||matchMedia(d.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var g=Gs(d.href),y=a.querySelector(Xc(g));if(y){a=y._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(i.count++,i=Zc.bind(i),a.then(i,i)),s.state.loading|=4,s.instance=y,un(y);return}y=a.ownerDocument||a,d=NA(d),(g=$r.get(g))&&ex(d,g),y=y.createElement("link"),un(y);var _=y;_._p=new Promise(function(M,L){_.onload=M,_.onerror=L}),En(y,"link",d),s.instance=y}i.stylesheets===null&&(i.stylesheets=new Map),i.stylesheets.set(s,a),(a=s.state.preload)&&(s.state.loading&3)===0&&(i.count++,s=Zc.bind(i),a.addEventListener("load",s),a.addEventListener("error",s))}}var Uh=0;function n$(i,a){return i.stylesheets&&i.count===0&&Bh(i,i.stylesheets),0Uh?50:800)+a);return i.unsuspend=s,function(){i.unsuspend=null,clearTimeout(d),clearTimeout(g)}}:null}function IA(i){if(i.count===0&&(i.imgCount===0||!i.waitingForImages)){if(i.stylesheets)Bh(i,i.stylesheets);else if(i.unsuspend){var a=i.unsuspend;i.unsuspend=null,a()}}}function Zc(){this.count--,IA(this)}function r$(){this.imgCount--,IA(this)}var $h=null;function Bh(i,a){i.stylesheets=null,i.unsuspend!==null&&(i.count++,$h=new Map,a.forEach(i$,i),$h=null,Zc.call(i))}function i$(i,a){if(!(a.state.loading&4)){var s=$h.get(i);if(s)var d=s.get(null);else{s=new Map,$h.set(i,s);for(var g=i.querySelectorAll("link[data-precedence],style[data-precedence]"),y=0;y"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),hx.exports=l5(),hx.exports}var s5=o5();function TR(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;ttypeof e=="boolean"?`${e}`:e===0?"0":e,pE=Ct,l1=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return pE(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:l,defaultVariants:o}=t,u=Object.keys(l).map(m=>{const v=n==null?void 0:n[m],p=o==null?void 0:o[m];if(v===null)return null;const x=gE(v)||gE(p);return l[m][x]}),f=n&&Object.entries(n).reduce((m,v)=>{let[p,x]=v;return x===void 0||(m[p]=x),m},{}),h=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((m,v)=>{let{class:p,className:x,...S}=v;return Object.entries(S).every(w=>{let[j,C]=w;return Array.isArray(C)?C.includes({...o,...f}[j]):{...o,...f}[j]===C})?[...m,p,x]:m},[]);return pE(e,u,h,n==null?void 0:n.class,n==null?void 0:n.className)},u5=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r({classGroupId:e,validator:t}),RR=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),zm="-",yE=[],f5="arbitrary..",d5=e=>{const t=m5(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return h5(u);const f=u.split(zm),h=f[0]===""&&f.length>1?1:0;return MR(f,h,t)},getConflictingClassGroupIds:(u,f)=>{if(f){const h=r[u],m=n[u];return h?m?u5(m,h):h:m||yE}return n[u]||yE}}},MR=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const l=e[t],o=n.nextPart.get(l);if(o){const m=MR(e,t+1,o);if(m)return m}const u=n.validators;if(u===null)return;const f=t===0?e.join(zm):e.slice(t).join(zm),h=u.length;for(let m=0;me.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?f5+r:void 0})(),m5=e=>{const{theme:t,classGroups:n}=e;return v5(n,t)},v5=(e,t)=>{const n=RR();for(const r in e){const l=e[r];o1(l,n,r,t)}return n},o1=(e,t,n,r)=>{const l=e.length;for(let o=0;o{if(typeof e=="string"){p5(e,t,n);return}if(typeof e=="function"){y5(e,t,n,r);return}x5(e,t,n,r)},p5=(e,t,n)=>{const r=e===""?t:DR(t,e);r.classGroupId=n},y5=(e,t,n,r)=>{if(b5(e)){o1(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(c5(n,e))},x5=(e,t,n,r)=>{const l=Object.entries(e),o=l.length;for(let u=0;u{let n=e;const r=t.split(zm),l=r.length;for(let o=0;o"isThemeGetter"in e&&e.isThemeGetter===!0,S5=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const l=(o,u)=>{n[o]=u,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(o){let u=n[o];if(u!==void 0)return u;if((u=r[o])!==void 0)return l(o,u),u},set(o,u){o in n?n[o]=u:l(o,u)}}},z0="!",xE=":",w5=[],bE=(e,t,n,r,l)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:l}),j5=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=l=>{const o=[];let u=0,f=0,h=0,m;const v=l.length;for(let j=0;jh?m-h:void 0;return bE(o,S,x,w)};if(t){const l=t+xE,o=r;r=u=>u.startsWith(l)?o(u.slice(l.length)):bE(w5,!1,u,void 0,!0)}if(n){const l=r;r=o=>n({className:o,parseClassName:l})}return r},C5=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let l=[];for(let o=0;o0&&(l.sort(),r.push(...l),l=[]),r.push(u)):l.push(u)}return l.length>0&&(l.sort(),r.push(...l)),r}},_5=e=>({cache:S5(e.cacheSize),parseClassName:j5(e),sortModifiers:C5(e),postfixLookupClassGroupIds:A5(e),...d5(e)}),A5=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let r=0;r{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:l,sortModifiers:o,postfixLookupClassGroupIds:u}=t,f=[],h=e.trim().split(E5);let m="";for(let v=h.length-1;v>=0;v-=1){const p=h[v],{isExternal:x,modifiers:S,hasImportantModifier:w,baseClassName:j,maybePostfixModifierPosition:C}=n(p);if(x){m=p+(m.length>0?" "+m:m);continue}let A=!!C,E;if(A){const D=j.substring(0,C);E=r(D);const k=E&&u[E]?r(j):void 0;k&&k!==E&&(E=k,A=!1)}else E=r(j);if(!E){if(!A){m=p+(m.length>0?" "+m:m);continue}if(E=r(j),!E){m=p+(m.length>0?" "+m:m);continue}A=!1}const N=S.length===0?"":S.length===1?S[0]:o(S).join(":"),T=w?N+z0:N,R=T+E;if(f.indexOf(R)>-1)continue;f.push(R);const O=l(E,A);for(let D=0;D0?" "+m:m)}return m},N5=(...e)=>{let t=0,n,r,l="";for(;t{if(typeof e=="string")return e;let t,n="";for(let r=0;r{let n,r,l,o;const u=h=>{const m=t.reduce((v,p)=>p(v),e());return n=_5(m),r=n.cache.get,l=n.cache.set,o=f,f(h)},f=h=>{const m=r(h);if(m)return m;const v=O5(h,n);return l(h,v),v};return o=u,(...h)=>o(N5(...h))},R5=[],en=e=>{const t=n=>n[e]||R5;return t.isThemeGetter=!0,t.themeKey=e,t},kR=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,IR=/^\((?:(\w[\w-]*):)?(.+)\)$/i,M5=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,D5=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,P5=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,k5=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,I5=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,z5=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,vl=e=>M5.test(e),Ge=e=>!!e&&!Number.isNaN(Number(e)),Ai=e=>!!e&&Number.isInteger(Number(e)),px=e=>e.endsWith("%")&&Ge(e.slice(0,-1)),ua=e=>D5.test(e),zR=()=>!0,L5=e=>P5.test(e)&&!k5.test(e),s1=()=>!1,U5=e=>I5.test(e),$5=e=>z5.test(e),B5=e=>!je(e)&&!Ce(e),H5=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),F5=e=>$l(e,$R,s1),je=e=>kR.test(e),mo=e=>$l(e,BR,L5),SE=e=>$l(e,Z5,Ge),V5=e=>$l(e,FR,zR),G5=e=>$l(e,HR,s1),wE=e=>$l(e,LR,s1),q5=e=>$l(e,UR,$5),Zh=e=>$l(e,VR,U5),Ce=e=>IR.test(e),rf=e=>Jo(e,BR),K5=e=>Jo(e,HR),jE=e=>Jo(e,LR),Y5=e=>Jo(e,$R),X5=e=>Jo(e,UR),Wh=e=>Jo(e,VR,!0),Q5=e=>Jo(e,FR,!0),$l=(e,t,n)=>{const r=kR.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Jo=(e,t,n=!1)=>{const r=IR.exec(e);return r?r[1]?t(r[1]):n:!1},LR=e=>e==="position"||e==="percentage",UR=e=>e==="image"||e==="url",$R=e=>e==="length"||e==="size"||e==="bg-size",BR=e=>e==="length",Z5=e=>e==="number",HR=e=>e==="family-name",FR=e=>e==="number"||e==="weight",VR=e=>e==="shadow",W5=()=>{const e=en("color"),t=en("font"),n=en("text"),r=en("font-weight"),l=en("tracking"),o=en("leading"),u=en("breakpoint"),f=en("container"),h=en("spacing"),m=en("radius"),v=en("shadow"),p=en("inset-shadow"),x=en("text-shadow"),S=en("drop-shadow"),w=en("blur"),j=en("perspective"),C=en("aspect"),A=en("ease"),E=en("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],R=()=>[...T(),Ce,je],O=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto","contain","none"],k=()=>[Ce,je,h],I=()=>[vl,"full","auto",...k()],P=()=>[Ai,"none","subgrid",Ce,je],B=()=>["auto",{span:["full",Ai,Ce,je]},Ai,Ce,je],F=()=>[Ai,"auto",Ce,je],se=()=>["auto","min","max","fr",Ce,je],ue=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],he=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...k()],ne=()=>[vl,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...k()],ie=()=>[f,vl,"screen","full","dvw","lvw","svw","min","max","fit",...k()],ce=()=>[vl,"screen","full","lh","dvh","lvh","svh","min","max","fit",...k()],U=()=>[e,Ce,je],Ee=()=>[...T(),jE,wE,{position:[Ce,je]}],ee=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ve=()=>["auto","cover","contain",Y5,F5,{size:[Ce,je]}],z=()=>[px,rf,mo],Y=()=>["","none","full",m,Ce,je],le=()=>["",Ge,rf,mo],fe=()=>["solid","dashed","dotted","double"],Pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],te=()=>[Ge,px,jE,wE],ge=()=>["","none",w,Ce,je],oe=()=>["none",Ge,Ce,je],J=()=>["none",Ge,Ce,je],ct=()=>[Ge,Ce,je],Ye=()=>[vl,"full",...k()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ua],breakpoint:[ua],color:[zR],container:[ua],"drop-shadow":[ua],ease:["in","out","in-out"],font:[B5],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ua],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ua],shadow:[ua],spacing:["px",Ge],text:[ua],"text-shadow":[ua],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",vl,je,Ce,C]}],container:["container"],"container-type":[{"@container":["","normal","size",Ce,je]}],"container-named":[H5],columns:[{columns:[Ge,"auto",je,Ce,f]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:R()}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:I()}],"inset-x":[{"inset-x":I()}],"inset-y":[{"inset-y":I()}],start:[{"inset-s":I(),start:I()}],end:[{"inset-e":I(),end:I()}],"inset-bs":[{"inset-bs":I()}],"inset-be":[{"inset-be":I()}],top:[{top:I()}],right:[{right:I()}],bottom:[{bottom:I()}],left:[{left:I()}],visibility:["visible","invisible","collapse"],z:[{z:[Ai,"auto",Ce,je]}],basis:[{basis:[vl,"full","auto",f,...k()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ge,vl,"auto","initial","none",je]}],grow:[{grow:["",Ge,Ce,je]}],shrink:[{shrink:["",Ge,Ce,je]}],order:[{order:[Ai,"first","last","none",Ce,je]}],"grid-cols":[{"grid-cols":P()}],"col-start-end":[{col:B()}],"col-start":[{"col-start":F()}],"col-end":[{"col-end":F()}],"grid-rows":[{"grid-rows":P()}],"row-start-end":[{row:B()}],"row-start":[{"row-start":F()}],"row-end":[{"row-end":F()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":se()}],"auto-rows":[{"auto-rows":se()}],gap:[{gap:k()}],"gap-x":[{"gap-x":k()}],"gap-y":[{"gap-y":k()}],"justify-content":[{justify:[...ue(),"normal"]}],"justify-items":[{"justify-items":[...he(),"normal"]}],"justify-self":[{"justify-self":["auto",...he()]}],"align-content":[{content:["normal",...ue()]}],"align-items":[{items:[...he(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...he(),{baseline:["","last"]}]}],"place-content":[{"place-content":ue()}],"place-items":[{"place-items":[...he(),"baseline"]}],"place-self":[{"place-self":["auto",...he()]}],p:[{p:k()}],px:[{px:k()}],py:[{py:k()}],ps:[{ps:k()}],pe:[{pe:k()}],pbs:[{pbs:k()}],pbe:[{pbe:k()}],pt:[{pt:k()}],pr:[{pr:k()}],pb:[{pb:k()}],pl:[{pl:k()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mbs:[{mbs:G()}],mbe:[{mbe:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":k()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":k()}],"space-y-reverse":["space-y-reverse"],size:[{size:ne()}],"inline-size":[{inline:["auto",...ie()]}],"min-inline-size":[{"min-inline":["auto",...ie()]}],"max-inline-size":[{"max-inline":["none",...ie()]}],"block-size":[{block:["auto",...ce()]}],"min-block-size":[{"min-block":["auto",...ce()]}],"max-block-size":[{"max-block":["none",...ce()]}],w:[{w:[f,"screen",...ne()]}],"min-w":[{"min-w":[f,"screen","none",...ne()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[u]},...ne()]}],h:[{h:["screen","lh",...ne()]}],"min-h":[{"min-h":["screen","lh","none",...ne()]}],"max-h":[{"max-h":["screen","lh","none",...ne()]}],"font-size":[{text:["base",n,rf,mo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Q5,V5]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",px,je]}],"font-family":[{font:[K5,G5,t]}],"font-features":[{"font-features":[je]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,Ce,je]}],"line-clamp":[{"line-clamp":[Ge,"none",Ce,SE]}],leading:[{leading:["none",o,...k()]}],"list-image":[{"list-image":["none",Ce,je]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,je]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:U()}],"text-color":[{text:U()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ge,"from-font","auto",Ce,mo]}],"text-decoration-color":[{decoration:U()}],"underline-offset":[{"underline-offset":[Ge,"auto",Ce,je]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:k()}],"tab-size":[{tab:[Ai,Ce,je]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,je]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,je]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ee()}],"bg-repeat":[{bg:ee()}],"bg-size":[{bg:ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ai,Ce,je],radial:["",Ce,je],conic:["",Ai,Ce,je]},X5,q5]}],"bg-color":[{bg:U()}],"gradient-from-pos":[{from:z()}],"gradient-via-pos":[{via:z()}],"gradient-to-pos":[{to:z()}],"gradient-from":[{from:U()}],"gradient-via":[{via:U()}],"gradient-to":[{to:U()}],rounded:[{rounded:Y()}],"rounded-s":[{"rounded-s":Y()}],"rounded-e":[{"rounded-e":Y()}],"rounded-t":[{"rounded-t":Y()}],"rounded-r":[{"rounded-r":Y()}],"rounded-b":[{"rounded-b":Y()}],"rounded-l":[{"rounded-l":Y()}],"rounded-ss":[{"rounded-ss":Y()}],"rounded-se":[{"rounded-se":Y()}],"rounded-ee":[{"rounded-ee":Y()}],"rounded-es":[{"rounded-es":Y()}],"rounded-tl":[{"rounded-tl":Y()}],"rounded-tr":[{"rounded-tr":Y()}],"rounded-br":[{"rounded-br":Y()}],"rounded-bl":[{"rounded-bl":Y()}],"border-w":[{border:le()}],"border-w-x":[{"border-x":le()}],"border-w-y":[{"border-y":le()}],"border-w-s":[{"border-s":le()}],"border-w-e":[{"border-e":le()}],"border-w-bs":[{"border-bs":le()}],"border-w-be":[{"border-be":le()}],"border-w-t":[{"border-t":le()}],"border-w-r":[{"border-r":le()}],"border-w-b":[{"border-b":le()}],"border-w-l":[{"border-l":le()}],"divide-x":[{"divide-x":le()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":le()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...fe(),"hidden","none"]}],"divide-style":[{divide:[...fe(),"hidden","none"]}],"border-color":[{border:U()}],"border-color-x":[{"border-x":U()}],"border-color-y":[{"border-y":U()}],"border-color-s":[{"border-s":U()}],"border-color-e":[{"border-e":U()}],"border-color-bs":[{"border-bs":U()}],"border-color-be":[{"border-be":U()}],"border-color-t":[{"border-t":U()}],"border-color-r":[{"border-r":U()}],"border-color-b":[{"border-b":U()}],"border-color-l":[{"border-l":U()}],"divide-color":[{divide:U()}],"outline-style":[{outline:[...fe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ge,Ce,je]}],"outline-w":[{outline:["",Ge,rf,mo]}],"outline-color":[{outline:U()}],shadow:[{shadow:["","inner","none",v,Wh,Zh]}],"shadow-color":[{shadow:U()}],"inset-shadow":[{"inset-shadow":["none",p,Wh,Zh]}],"inset-shadow-color":[{"inset-shadow":U()}],"ring-w":[{ring:le()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:U()}],"ring-offset-w":[{"ring-offset":[Ge,mo]}],"ring-offset-color":[{"ring-offset":U()}],"inset-ring-w":[{"inset-ring":le()}],"inset-ring-color":[{"inset-ring":U()}],"text-shadow":[{"text-shadow":["none",x,Wh,Zh]}],"text-shadow-color":[{"text-shadow":U()}],opacity:[{opacity:[Ge,Ce,je]}],"mix-blend":[{"mix-blend":[...Pe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Pe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Ge]}],"mask-image-linear-from-pos":[{"mask-linear-from":te()}],"mask-image-linear-to-pos":[{"mask-linear-to":te()}],"mask-image-linear-from-color":[{"mask-linear-from":U()}],"mask-image-linear-to-color":[{"mask-linear-to":U()}],"mask-image-t-from-pos":[{"mask-t-from":te()}],"mask-image-t-to-pos":[{"mask-t-to":te()}],"mask-image-t-from-color":[{"mask-t-from":U()}],"mask-image-t-to-color":[{"mask-t-to":U()}],"mask-image-r-from-pos":[{"mask-r-from":te()}],"mask-image-r-to-pos":[{"mask-r-to":te()}],"mask-image-r-from-color":[{"mask-r-from":U()}],"mask-image-r-to-color":[{"mask-r-to":U()}],"mask-image-b-from-pos":[{"mask-b-from":te()}],"mask-image-b-to-pos":[{"mask-b-to":te()}],"mask-image-b-from-color":[{"mask-b-from":U()}],"mask-image-b-to-color":[{"mask-b-to":U()}],"mask-image-l-from-pos":[{"mask-l-from":te()}],"mask-image-l-to-pos":[{"mask-l-to":te()}],"mask-image-l-from-color":[{"mask-l-from":U()}],"mask-image-l-to-color":[{"mask-l-to":U()}],"mask-image-x-from-pos":[{"mask-x-from":te()}],"mask-image-x-to-pos":[{"mask-x-to":te()}],"mask-image-x-from-color":[{"mask-x-from":U()}],"mask-image-x-to-color":[{"mask-x-to":U()}],"mask-image-y-from-pos":[{"mask-y-from":te()}],"mask-image-y-to-pos":[{"mask-y-to":te()}],"mask-image-y-from-color":[{"mask-y-from":U()}],"mask-image-y-to-color":[{"mask-y-to":U()}],"mask-image-radial":[{"mask-radial":[Ce,je]}],"mask-image-radial-from-pos":[{"mask-radial-from":te()}],"mask-image-radial-to-pos":[{"mask-radial-to":te()}],"mask-image-radial-from-color":[{"mask-radial-from":U()}],"mask-image-radial-to-color":[{"mask-radial-to":U()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":T()}],"mask-image-conic-pos":[{"mask-conic":[Ge]}],"mask-image-conic-from-pos":[{"mask-conic-from":te()}],"mask-image-conic-to-pos":[{"mask-conic-to":te()}],"mask-image-conic-from-color":[{"mask-conic-from":U()}],"mask-image-conic-to-color":[{"mask-conic-to":U()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ee()}],"mask-repeat":[{mask:ee()}],"mask-size":[{mask:ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,je]}],filter:[{filter:["","none",Ce,je]}],blur:[{blur:ge()}],brightness:[{brightness:[Ge,Ce,je]}],contrast:[{contrast:[Ge,Ce,je]}],"drop-shadow":[{"drop-shadow":["","none",S,Wh,Zh]}],"drop-shadow-color":[{"drop-shadow":U()}],grayscale:[{grayscale:["",Ge,Ce,je]}],"hue-rotate":[{"hue-rotate":[Ge,Ce,je]}],invert:[{invert:["",Ge,Ce,je]}],saturate:[{saturate:[Ge,Ce,je]}],sepia:[{sepia:["",Ge,Ce,je]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,je]}],"backdrop-blur":[{"backdrop-blur":ge()}],"backdrop-brightness":[{"backdrop-brightness":[Ge,Ce,je]}],"backdrop-contrast":[{"backdrop-contrast":[Ge,Ce,je]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ge,Ce,je]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ge,Ce,je]}],"backdrop-invert":[{"backdrop-invert":["",Ge,Ce,je]}],"backdrop-opacity":[{"backdrop-opacity":[Ge,Ce,je]}],"backdrop-saturate":[{"backdrop-saturate":[Ge,Ce,je]}],"backdrop-sepia":[{"backdrop-sepia":["",Ge,Ce,je]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":k()}],"border-spacing-x":[{"border-spacing-x":k()}],"border-spacing-y":[{"border-spacing-y":k()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,je]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ge,"initial",Ce,je]}],ease:[{ease:["linear","initial",A,Ce,je]}],delay:[{delay:[Ge,Ce,je]}],animate:[{animate:["none",E,Ce,je]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[j,Ce,je]}],"perspective-origin":[{"perspective-origin":R()}],rotate:[{rotate:oe()}],"rotate-x":[{"rotate-x":oe()}],"rotate-y":[{"rotate-y":oe()}],"rotate-z":[{"rotate-z":oe()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:ct()}],"skew-x":[{"skew-x":ct()}],"skew-y":[{"skew-y":ct()}],transform:[{transform:[Ce,je,"","none","gpu","cpu"]}],"transform-origin":[{origin:R()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ye()}],"translate-x":[{"translate-x":Ye()}],"translate-y":[{"translate-y":Ye()}],"translate-z":[{"translate-z":Ye()}],"translate-none":["translate-none"],zoom:[{zoom:[Ai,Ce,je]}],accent:[{accent:U()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:U()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,je]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":U()}],"scrollbar-track-color":[{"scrollbar-track":U()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mbs":[{"scroll-mbs":k()}],"scroll-mbe":[{"scroll-mbe":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pbs":[{"scroll-pbs":k()}],"scroll-pbe":[{"scroll-pbe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,je]}],fill:[{fill:["none",...U()]}],"stroke-w":[{stroke:[Ge,rf,mo,SE]}],stroke:[{stroke:["none",...U()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["start","end","right","left"],"inset-y":["inset-bs","inset-be","top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["ps","pe","pr","pl"],py:["pbs","pbe","pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["ms","me","mr","ml"],my:["mbs","mbe","mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-s","border-w-e","border-w-r","border-w-l"],"border-w-y":["border-w-bs","border-w-be","border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-s","border-color-e","border-color-r","border-color-l"],"border-color-y":["border-color-bs","border-color-be","border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-ms","scroll-me","scroll-mr","scroll-ml"],"scroll-my":["scroll-mbs","scroll-mbe","scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-ps","scroll-pe","scroll-pr","scroll-pl"],"scroll-py":["scroll-pbs","scroll-pbe","scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},J5=T5(W5);function Wt(...e){return J5(Ct(e))}const eB=l1("inline-flex items-center rounded-md px-2 py-0.5 text-xs font-medium",{variants:{variant:{default:"bg-zinc-800 text-zinc-100 ring-1 ring-zinc-600",secondary:"bg-zinc-800 text-zinc-100 ring-1 ring-zinc-600",count:"bg-zinc-950 text-zinc-50 ring-1 ring-zinc-500",ok:"bg-emerald-950 text-emerald-300 ring-1 ring-emerald-800",bad:"bg-red-950 text-red-200 ring-1 ring-red-800",warn:"bg-amber-950 text-amber-200 ring-1 ring-amber-700"}},defaultVariants:{variant:"default"}});function Ne({className:e,variant:t,...n}){return c.jsx("div",{className:Wt(eB({variant:t}),e),...n})}var tB=Object.defineProperty,u1=(e,t)=>tB(e,"name",{value:t,configurable:!0});function L0(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}u1(L0,"setRef");function Ho(...e){return t=>{let n=!1;const r=e.map(l=>{const o=L0(l,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let l=0;lnB(e,"name",{value:t,configurable:!0});function Dl(e){const t=b.forwardRef((n,r)=>{let{children:l,...o}=n,u=null,f=!1;const h=[];l=QR(l),b.Children.forEach(l,x=>{var S;if(YR(x)){f=!0;const w=x;let j="child"in w.props?w.props.child:w.props.children;for(;c1(j)&&typeof Lm=="function";)j=Lm(j._payload);u=aB(w,j),h.push((S=u==null?void 0:u.props)==null?void 0:S.children)}else h.push(x)}),u?u=b.cloneElement(u,void 0,h):!f&&b.Children.count(l)===1&&b.isValidElement(l)&&(u=l);const m=u?KR(u):void 0,v=Yr(r,m);if(!u){if(l||l===0)throw new Error(f?sB(e):oB(e));return l}const p=qR(o,u.props??{});return u.type!==b.Fragment&&(p.ref=r?v:m),b.cloneElement(u,p)});return t.displayName=`${e}.Slot`,t}Tr(Dl,"createSlot");var rB=Dl("Slot"),GR=Symbol.for("radix.slottable");function iB(e){const t=Tr(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=GR,t}Tr(iB,"createSlottable");var aB=Tr((e,t)=>"child"in e.props?b.isValidElement(t)?b.cloneElement(t,void 0,e.props.children(t.props.children)):null:b.isValidElement(t)?t:null,"getSlottableElementFromSlottable");function qR(e,t){const n={...t};for(const r in t){const l=e[r],o=t[r];/^on[A-Z]/.test(r)?l&&o?n[r]=(...f)=>{const h=o(...f);return l(...f),h}:l&&(n[r]=l):r==="style"?n[r]={...l,...o}:r==="className"?n[r]=[l,o].filter(Boolean).join(" "):r==="aria-describedby"&&(n[r]=ZR(o,l))}return{...e,...n}}Tr(qR,"mergeProps");function KR(e){var r,l;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(l=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:l.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Tr(KR,"getElementRef");function YR(e){return b.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===GR}Tr(YR,"isSlottable");var lB=Symbol.for("react.lazy");function c1(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===lB&&"_payload"in e&&XR(e._payload)}Tr(c1,"isLazyComponent");function XR(e){return typeof e=="object"&&e!==null&&"then"in e}Tr(XR,"isPromiseLike");function QR(e){let t=e;for(;c1(t)&&typeof Lm=="function";)t=Lm(t._payload);return t}Tr(QR,"useUnwrappedLazy");function ZR(...e){const t=new Set;for(const n of e)if(typeof n=="string")for(const r of String(n).trim().split(/\s+/))r&&t.add(r);return t.size>0?Array.from(t).join(" "):void 0}Tr(ZR,"concatAriaDescribedby");var oB=Tr(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),sB=Tr(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),Lm=Ul[" use ".trim().toString()];const uB=l1("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",outline:"border border-border bg-transparent hover:bg-secondary",ghost:"hover:bg-secondary",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),de=b.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...l},o)=>{const u=r?rB:"button";return c.jsx(u,{className:Wt(uB({variant:t,size:n,className:e})),ref:o,...l})});de.displayName="Button";function ye({className:e,...t}){return c.jsx("div",{className:Wt("rounded-lg border border-border bg-card text-card-foreground shadow-sm",e),...t})}function Te({className:e,...t}){return c.jsx("div",{className:Wt("flex flex-col gap-1.5 p-4",e),...t})}function Re({className:e,...t}){return c.jsx("h3",{className:Wt("text-base font-semibold leading-none",e),...t})}function mt({className:e,...t}){return c.jsx("p",{className:Wt("text-sm text-muted-foreground",e),...t})}function xe({className:e,...t}){return c.jsx("div",{className:Wt("p-4 pt-0",e),...t})}const Oe=b.forwardRef(({className:e,type:t,...n},r)=>c.jsx("input",{type:t,className:Wt("flex h-10 w-full rounded-md border border-input bg-secondary px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));Oe.displayName="Input";var cB=Object.defineProperty,Vu=(e,t)=>cB(e,"name",{value:t,configurable:!0}),WR=!!(typeof window<"u"&&window.document&&window.document.createElement);function $n(e,t,{checkForDefaultPrevented:n=!0}={}){return Vu(function(l){if(e==null||e(l),n===!1||!l||!l.defaultPrevented)return t==null?void 0:t(l)},"handleEvent")}Vu($n,"composeEventHandlers");function fB(e){var t;if(!WR)throw new Error("Cannot access window outside of the DOM");return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)??window}Vu(fB,"getOwnerWindow");function U0(e){if(!WR)throw new Error("Cannot access document outside of the DOM");return(e==null?void 0:e.ownerDocument)??document}Vu(U0,"getOwnerDocument");function JR(e,t=!1){const{activeElement:n}=U0(e);if(!(n!=null&&n.nodeName))return null;if(eM(n)&&n.contentDocument)return JR(n.contentDocument.body,t);if(t){const r=n.getAttribute("aria-activedescendant");if(r){const l=U0(n).getElementById(r);if(l)return l}}return n}Vu(JR,"getActiveElement");function eM(e){return e.tagName==="IFRAME"}Vu(eM,"isFrame");var dB=Object.defineProperty,Vr=(e,t)=>dB(e,"name",{value:t,configurable:!0});function hB(e,t){const n=b.createContext(t);n.displayName=e+"Context";const r=Vr(o=>{const{children:u,...f}=o,h=b.useMemo(()=>f,Object.values(f));return c.jsx(n.Provider,{value:h,children:u})},"Provider");r.displayName=e+"Provider";function l(o,u={}){const{optional:f=!1}=u,h=b.useContext(n);if(h)return h;if(t!==void 0)return t;if(!f)throw new Error(`\`${o}\` must be used within \`${e}\``)}return Vr(l,"useContext"),[r,l]}Vr(hB,"createContext");function Gu(e,t=[]){let n=[];function r(o,u){const f=b.createContext(u);f.displayName=o+"Context";const h=n.length;n=[...n,u];const m=Vr(p=>{var A;const{scope:x,children:S,...w}=p,j=((A=x==null?void 0:x[e])==null?void 0:A[h])||f,C=b.useMemo(()=>w,Object.values(w));return c.jsx(j.Provider,{value:C,children:S})},"Provider");m.displayName=o+"Provider";function v(p,x,S={}){var A;const{optional:w=!1}=S,j=((A=x==null?void 0:x[e])==null?void 0:A[h])||f,C=b.useContext(j);if(C)return C;if(u!==void 0)return u;if(!w)throw new Error(`\`${p}\` must be used within \`${o}\``)}return Vr(v,"useContext"),[m,v]}Vr(r,"createContext");const l=Vr(()=>{const o=n.map(u=>b.createContext(u));return Vr(function(f){const h=(f==null?void 0:f[e])||o;return b.useMemo(()=>({[`__scope${e}`]:{...f,[e]:h}}),[f,h])},"useScope")},"createScope");return l.scopeName=e,[r,tM(l,...t)]}Vr(Gu,"createContextScope");function tM(...e){const t=e[0];if(e.length===1)return t;const n=Vr(()=>{const r=e.map(l=>({useScope:l(),scopeName:l.scopeName}));return Vr(function(o){const u=r.reduce((f,{useScope:h,scopeName:m})=>{const p=h(o)[`__scope${m}`];return{...f,...p}},{});return b.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}Vr(tM,"composeContextScopes");var Ca=globalThis!=null&&globalThis.document?b.useLayoutEffect:()=>{},mB=Object.defineProperty,rn=(e,t)=>mB(e,"name",{value:t,configurable:!0});function nM(e){const t=e+"CollectionProvider",[n,r]=Gu(t),[l,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),u=rn(j=>{const{scope:C,children:A}=j,E=b.useRef(null),N=b.useRef(new Map).current;return c.jsx(l,{scope:C,itemMap:N,collectionRef:E,children:A})},"CollectionProvider");u.displayName=t;const f=e+"CollectionSlot",h=Dl(f),m=b.forwardRef((j,C)=>{const{scope:A,children:E}=j,N=o(f,A),T=Yr(C,N.collectionRef);return c.jsx(h,{ref:T,children:E})});m.displayName=f;const v=e+"CollectionItemSlot",p="data-radix-collection-item",x=Dl(v),S=b.forwardRef((j,C)=>{const{scope:A,children:E,...N}=j,T=b.useRef(null),R=Yr(C,T),O=o(v,A);return b.useEffect(()=>(O.itemMap.set(T,{ref:T,...N}),()=>void O.itemMap.delete(T))),c.jsx(x,{[p]:"",ref:R,children:E})});S.displayName=v;function w(j){const C=o(e+"CollectionConsumer",j);return b.useCallback(()=>{const E=C.collectionRef.current;if(!E)return[];const N=Array.from(E.querySelectorAll(`[${p}]`));return Array.from(C.itemMap.values()).sort((O,D)=>N.indexOf(O.ref.current)-N.indexOf(D.ref.current))},[C.collectionRef,C.itemMap])}return rn(w,"useCollection"),[{Provider:u,Slot:m,ItemSlot:S},w,r]}rn(nM,"createCollection");var CE=new WeakMap,Ft,Cr,Jh=(Cr=class extends Map{constructor(n){super(n);ze(this,Ft);be(this,Ft,[...super.keys()]),CE.set(this,!0)}set(n,r){return CE.get(this)&&!this.has(n)&&$(this,Ft).push(n),super.set(n,r),this}insert(n,r,l){const o=this.has(r),u=o?this.size:this.size+1,f=f1(n),h=f>=0?Math.min(f,u-1):Math.max(u+f,0);if(o?$(this,Ft).indexOf(r)===h:h===this.size)return this.set(r,l),this;const m=$(this,Ft).filter(p=>p!==r);m.splice(h,0,r);const v=m.map(p=>[p,p===r?l:this.get(p)]);this.clear();for(const[p,x]of v)this.set(p,x);return this}with(n,r,l){const o=new Cr(this);return o.insert(n,r,l),o}before(n){const r=$(this,Ft).indexOf(n)-1;if(!(r<0))return this.entryAt(r)}setBefore(n,r,l){const o=$(this,Ft).indexOf(n);if(o===-1)return this;const u=$(this,Ft).indexOf(r),f=u!==-1&&u=this.size&&(o=this.size-1),this.at(o)}keyFrom(n,r){const l=this.indexOf(n);if(l===-1)return;let o=l+r;return o<0&&(o=0),o>=this.size&&(o=this.size-1),this.keyAt(o)}find(n,r){let l=0;for(const o of this){if(Reflect.apply(n,r,[o,l,this]))return o;l++}}findIndex(n,r){let l=0;for(const o of this){if(Reflect.apply(n,r,[o,l,this]))return l;l++}return-1}filter(n,r){const l=[];let o=0;for(const u of this)Reflect.apply(n,r,[u,o,this])&&l.push(u),o++;return new Cr(l)}map(n,r){const l=[];let o=0;for(const u of this)l.push([u[0],Reflect.apply(n,r,[u,o,this])]),o++;return new Cr(l)}reduce(...n){const[r,l]=n,o=n.length>1;if(!o&&this.size===0)throw new TypeError("Reduce of empty OrderedDict with no initial value");let u=0,f=l;for(const h of this)u===0&&!o?f=h:f=Reflect.apply(r,this,[f,h,u,this]),u++;return f}reduceRight(...n){const[r,l]=n,o=n.length>1;if(!o&&this.size===0)throw new TypeError("Reduce of empty OrderedDict with no initial value");let u=l;for(let f=this.size-1;f>=0;f--){const h=this.entryAt(f);f===this.size-1&&!o?u=h:u=Reflect.apply(r,this,[u,h,f,this])}return u}sort(n){if(typeof n!="function")throw new TypeError("OrderedDict.sort requires a compare function");const r=[...this.entries()].sort(n);this.clear();for(const[l,o]of r)this.set(l,o);return this}toSorted(n){if(typeof n!="function")throw new TypeError("OrderedDict.toSorted requires a compare function");const r=[...this.entries()].sort(n);return new Cr(r)}toReversed(){const n=new Cr;for(let r=this.size-1;r>=0;r--){const l=this.keyAt(r),o=this.get(l);n.set(l,o)}return n}toSpliced(...n){const r=[...this.entries()];return r.splice(...n),new Cr(r)}slice(n,r){const l=new Cr;for(const o of $(this,Ft).slice(n,r))l.set(o,this.get(o));return l}every(n,r){let l=0;for(const o of this){if(!Reflect.apply(n,r,[o,l,this]))return!1;l++}return!0}some(n,r){let l=0;for(const o of this){if(Reflect.apply(n,r,[o,l,this]))return!0;l++}return!1}},Ft=new WeakMap,rn(Cr,"OrderedDict"),Cr);function Em(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=rM(e,t);return n===-1?void 0:e[n]}rn(Em,"at");function rM(e,t){const n=e.length,r=f1(t),l=r>=0?r:n+r;return l<0||l>=n?-1:l}rn(rM,"toSafeIndex");function f1(e){return e!==e||e===0?0:Math.trunc(e)}rn(f1,"toSafeInteger");function vB(e){const t=e+"CollectionProvider",[n,r]=Gu(t),[l,o]=n(t);l.displayName=e+"CollectionStableContextProvider";const[u,f]=n(t);u.displayName=e+"CollectionStatefulContextProvider";const h=rn(({state:O,...D})=>O?c.jsx(v,{...D,state:O}):c.jsx(m,{...D}),"CollectionProvider");h.displayName=t;const m=rn(O=>{const D=E();return c.jsx(v,{...O,state:D})},"CollectionInit");m.displayName=e+"CollectionInit";const v=rn(O=>{const{scope:D,children:k,state:I}=O,P=b.useRef(null),[B,F]=b.useState(null),se=Yr(P,F),[ue,he]=I,G=b.useRef(new Jh),ne=b.useCallback(()=>{const ie=G.current;return lM(ie)||ie.sort(Om),ie},[]);return b.useEffect(()=>{if(!B)return;const ie=oM(()=>{he(ce=>{const U=ce.toSorted(Om);return U.some(([ee],ve)=>ce.keyAt(ve)!==ee)?U:ce})});return ie.observe(B,{childList:!0,subtree:!0}),()=>{ie.disconnect()}},[B,he]),c.jsx(l,{scope:D,collectionElementRef:se,collectionElementRefObject:P,getCollection:ne,setCollection:he,registryRef:G,children:c.jsx(u,{scope:D,collectionElement:B,collection:ue,children:k})})},"CollectionProviderImpl");v.displayName=e+"CollectionProviderImpl";const p=e+"CollectionSlot",x=Dl(p),S=b.forwardRef((O,D)=>{const{scope:k,children:I}=O,P=o(p,k),B=Yr(D,P.collectionElementRef);return c.jsx(x,{ref:B,children:I})});S.displayName=p;const w=e+"CollectionItemSlot",j="data-radix-collection-item",C=Dl(w),A=b.forwardRef((O,D)=>{const{scope:k,children:I,...P}=O,B=b.useRef(null),F=o(w,k),{setCollection:se,registryRef:ue}=F,he=b.useRef(P);iM(he.current,P)||(he.current=P);const G=he.current,ne=b.useCallback(U=>{const Ee=ue.current;U?Ee.set(U,{...he.current,element:U}):B.current&&Ee.delete(B.current)},[ue]),ie=Yr(D,ne,B);Ca(()=>{const U=B.current,Ee=ue.current;U&&Ee.has(U)&&Ee.set(U,{...G,element:U})},[G,ue]);const ce=b.useRef(null);return b.useEffect(()=>{const U=B.current,Ee=ce.current;((Ee==null?void 0:Ee.element)??null)===U&&(!U||(Ee==null?void 0:Ee.itemData)===G)||(ce.current=U?{element:U,itemData:G}:null,se(ee=>{const ve=new Jh(ee);return Ee&&Ee.element!==U&&ve.delete(Ee.element),U&&ve.set(U,{...G,element:U}),ve.sort(Om)}))}),b.useEffect(()=>()=>{const U=ce.current;ce.current=null,U&&se(Ee=>{if(!Ee.has(U.element))return Ee;const ee=new Jh(Ee);return ee.delete(U.element),ee})},[se]),c.jsx(C,{[j]:"",ref:ie,children:I})});A.displayName=w;function E(){return b.useState(new Jh)}rn(E,"useInitCollection");function N(O){const{collection:D}=f(e+"CollectionConsumer",O);return D}rn(N,"useCollection");function T(O){const{getCollection:D}=o(e+"CollectionConsumer",O);return D}return rn(T,"useGetCollection"),[{Provider:h,Slot:S,ItemSlot:A},{createCollectionScope:r,useCollection:N,useGetCollection:T,useInitCollection:E}]}rn(vB,"createCollection");function iM(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const l of n)if(!Object.prototype.hasOwnProperty.call(t,l)||e[l]!==t[l])return!1;return!0}rn(iM,"shallowEqual");function aM(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}rn(aM,"isElementPreceding");function lM(e){let t;for(const n of e.keys()){if(t){const r=t.compareDocumentPosition(n);if(!(r&Node.DOCUMENT_POSITION_DISCONNECTED)&&r&Node.DOCUMENT_POSITION_PRECEDING)return!1}t=n}return!0}rn(lM,"isInDocumentOrder");function Om(e,t){return!e[1].element||!t[1].element?0:aM(e[1].element,t[1].element)?-1:1}rn(Om,"sortByDocumentPosition");function oM(e){return new MutationObserver(n=>{for(const r of n)if(r.type==="childList"){e();return}})}rn(oM,"getChildListObserver");var gB=Object.defineProperty,pB=(e,t)=>gB(e,"name",{value:t,configurable:!0}),yB=Ul[" useId ".trim().toString()]||(()=>{}),xB=0;function Xr(e){const[t,n]=b.useState(yB());return Ca(()=>{e||n(r=>r??String(xB++))},[e]),e||(t?`radix-${t}`:"")}pB(Xr,"useId");var Mv=NR(),bB=Object.defineProperty,SB=(e,t)=>bB(e,"name",{value:t,configurable:!0}),wB=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ln=wB.reduce((e,t)=>{const n=Dl(`Primitive.${t}`),r=b.forwardRef((l,o)=>{const{asChild:u,...f}=l,h=u?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(h,{...f,ref:o})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function sM(e,t){e&&Mv.flushSync(()=>e.dispatchEvent(t))}SB(sM,"dispatchDiscreteCustomEvent");var jB=Object.defineProperty,CB=(e,t)=>jB(e,"name",{value:t,configurable:!0}),_E=Ul[" useInsertionEffect ".trim().toString()];function Fo(e){const t=b.useRef(e);return typeof _E=="function"?_E(()=>{t.current=e}):Ca(()=>{t.current=e}),b.useMemo(()=>((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)}),[])}CB(Fo,"useCallbackRef");var _B=Object.defineProperty,AB=(e,t)=>_B(e,"name",{value:t,configurable:!0}),AE=Ul[" useEffectEvent ".trim().toString()],EE=Ul[" useInsertionEffect ".trim().toString()];function uM(e){if(typeof AE=="function")return AE(e);const t=b.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof EE=="function"?EE(()=>{t.current=e}):Ca(()=>{t.current=e}),b.useMemo(()=>((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)}),[])}AB(uM,"useEffectEvent");var EB=Object.defineProperty,Zf=(e,t)=>EB(e,"name",{value:t,configurable:!0}),OB=Ul[" useInsertionEffect ".trim().toString()]||Ca;function Dv({prop:e,defaultProp:t,onChange:n=Zf(()=>{},"onChange"),caller:r}){const[l,o,u]=cM({defaultProp:t,onChange:n}),f=e!==void 0,h=f?e:l,m=b.useCallback(v=>{var p;if(f){const x=fM(v)?v(e):v;x!==e&&((p=u.current)==null||p.call(u,x))}else o(v)},[f,e,o,u]);return[h,m]}Zf(Dv,"useControllableState");function cM({defaultProp:e,onChange:t}){const[n,r]=b.useState(e),l=b.useRef(n),o=b.useRef(t);return OB(()=>{o.current=t},[t]),b.useEffect(()=>{var u;l.current!==n&&((u=o.current)==null||u.call(o,n),l.current=n)},[n,l]),[n,r,o]}Zf(cM,"useUncontrolledState");function fM(e){return typeof e=="function"}Zf(fM,"isFunction");var OE=Symbol("RADIX:SYNC_STATE");function NB(e,t,n,r){const{prop:l,defaultProp:o,onChange:u,caller:f}=t,h=l!==void 0,m=uM(u),v=[{...n,state:o}];r&&v.push(r);const[p,x]=b.useReducer((C,A)=>{if(A.type===OE)return{...C,state:A.state};const E=e(C,A);return h&&!Object.is(E.state,C.state)&&m(E.state),E},...v),S=p.state,w=b.useRef(S);b.useEffect(()=>{w.current!==S&&(w.current=S,h||m(S))},[S,w,h]);const j=b.useMemo(()=>l!==void 0?{...p,state:l}:p,[p,l]);return b.useEffect(()=>{h&&!Object.is(l,p.state)&&x({type:OE,state:l})},[l,p.state,h]),[j,x]}Zf(NB,"useControllableStateReducer");var TB=Object.defineProperty,RB=(e,t)=>TB(e,"name",{value:t,configurable:!0}),MB={LTR:"ltr"},DB=b.createContext(void 0);function d1(e){const t=b.useContext(DB);return e||t||MB.LTR}RB(d1,"useDirection");var PB=Object.defineProperty,h1=(e,t)=>PB(e,"name",{value:t,configurable:!0}),yx=!1;function dM(){const[e,t]=b.useState(yx);return b.useEffect(()=>{yx||(yx=!0,t(!0))},[]),e}h1(dM,"useIsHydrated");var hM=Ul[" useSyncExternalStore ".trim().toString()];function mM(){return()=>{}}h1(mM,"subscribe");function vM(){return hM(mM,()=>!0,()=>!1)}h1(vM,"useIsHydratedModern");var kB=typeof hM=="function"?vM:dM,IB=Object.defineProperty,es=(e,t)=>IB(e,"name",{value:t,configurable:!0}),xx="rovingFocusGroup.onEntryFocus",zB={bubbles:!1,cancelable:!0},Pv="RovingFocusGroup",[$0,gM,LB]=nM(Pv),[UB,pM]=Gu(Pv,[LB]),NE={Vertical:"vertical",Horizontal:"horizontal"},$B={RTL:"rtl"},[BB,HB]=UB(Pv),FB=b.forwardRef(es(function(t,n){return c.jsx($0.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx($0.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(VB,{...t,ref:n})})})},"RovingFocusGroup")),VB=b.forwardRef(es(function(t,n){const{__scopeRovingFocusGroup:r,orientation:l,loop:o=!1,dir:u,currentTabStopId:f,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:m,onEntryFocus:v,preventScrollOnEntryFocus:p=!1,...x}=t,S=b.useRef(null),w=Yr(n,S),j=d1(u),[C,A]=Dv({prop:f,defaultProp:h??null,onChange:m,caller:Pv}),[E,N]=b.useState(!1),T=Fo(v),R=gM(r),O=b.useRef(!1),[D,k]=b.useState(0);return b.useEffect(()=>{const I=S.current;if(I)return I.addEventListener(xx,T),()=>I.removeEventListener(xx,T)},[T]),c.jsx(BB,{scope:r,orientation:l,dir:j,loop:o,currentTabStopId:C,onItemFocus:b.useCallback(I=>A(I),[A]),onItemShiftTab:b.useCallback(()=>N(!0),[]),onFocusableItemAdd:b.useCallback(()=>k(I=>I+1),[]),onFocusableItemRemove:b.useCallback(()=>k(I=>I-1),[]),children:c.jsx(ln.div,{tabIndex:E||D===0?-1:0,"data-orientation":l,...x,ref:w,style:{outline:"none",...t.style},onMouseDown:$n(t.onMouseDown,()=>{O.current=!0}),onFocus:$n(t.onFocus,I=>{const P=!O.current;if(I.target===I.currentTarget&&P&&!E){const B=new CustomEvent(xx,zB);if(I.currentTarget.dispatchEvent(B),!B.defaultPrevented){const F=R().filter(ne=>ne.focusable),se=F.find(ne=>ne.active),ue=F.find(ne=>ne.id===C),G=[se,ue,...F].filter(Boolean).map(ne=>ne.ref.current);m1(G,p)}}O.current=!1}),onBlur:$n(t.onBlur,()=>N(!1))})})},"RovingFocusGroupImpl")),GB="RovingFocusGroupItem",qB=b.forwardRef(es(function(t,n){const{__scopeRovingFocusGroup:r,focusable:l=!0,active:o=!1,tabStopId:u,children:f,...h}=t,m=Xr(),v=u||m,p=HB(GB,r),x=p.currentTabStopId===v,S=gM(r),{onFocusableItemAdd:w,onFocusableItemRemove:j,currentTabStopId:C}=p,A=kB();return Ca(()=>{if(!(!A||!l))return w(),()=>j()},[A,l,w,j]),b.useEffect(()=>{if(!(A||!l))return w(),()=>j()},[A,l,w,j]),c.jsx($0.ItemSlot,{scope:r,id:v,focusable:l,active:o,children:c.jsx(ln.span,{tabIndex:x?0:-1,"data-orientation":p.orientation,...h,ref:n,onMouseDown:$n(t.onMouseDown,E=>{l?p.onItemFocus(v):E.preventDefault()}),onFocus:$n(t.onFocus,()=>p.onItemFocus(v)),onKeyDown:$n(t.onKeyDown,E=>{if(E.key==="Tab"&&E.shiftKey){p.onItemShiftTab();return}if(E.target!==E.currentTarget)return;const N=xM(E,p.orientation,p.dir);if(N!==void 0){if(E.metaKey||E.ctrlKey||E.altKey||E.shiftKey)return;E.preventDefault();let R=S().filter(O=>O.focusable).map(O=>O.ref.current);if(N==="last")R.reverse();else if(N==="prev"||N==="next"){N==="prev"&&R.reverse();const O=R.indexOf(E.currentTarget);R=p.loop?bM(R,O+1):R.slice(O+1)}setTimeout(()=>m1(R))}}),children:typeof f=="function"?f({isCurrentTabStop:x,hasTabStop:C!=null}):f})})},"RovingFocusGroupItem")),KB={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function yM(e,t){return t!==$B.RTL?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}es(yM,"getDirectionAwareKey");function xM(e,t,n){const r=yM(e.key,n);if(!(t===NE.Vertical&&["ArrowLeft","ArrowRight"].includes(r))&&!(t===NE.Horizontal&&["ArrowUp","ArrowDown"].includes(r)))return KB[r]}es(xM,"getFocusIntent");function m1(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}es(m1,"focusFirst");function bM(e,t){return e.map((n,r)=>e[(t+r)%e.length])}es(bM,"wrapArray");var YB=Object.defineProperty,_a=(e,t)=>YB(e,"name",{value:t,configurable:!0});function SM(e,t){return b.useReducer((n,r)=>t[n][r]??n,e)}_a(SM,"useStateMachine");var kv=_a(e=>{const{present:t,children:n}=e,r=wM(t),l=typeof n=="function"?n({present:r.isPresent}):b.Children.only(n),o=jM(r.ref,CM(l));return typeof n=="function"||r.isPresent?b.cloneElement(l,{ref:o}):null},"Presence");function wM(e){const[t,n]=b.useState(),r=b.useRef(null),l=b.useRef(e),o=b.useRef("none"),u=b.useRef(void 0),f=e?"mounted":"unmounted",[h,m]=SM(f,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return b.useEffect(()=>{h==="mounted"?(o.current=u.current??su(r.current),u.current=void 0):o.current="none"},[h]),Ca(()=>{const v=r.current,p=l.current;if(p!==e){const S=o.current,w=su(v);e?(u.current=w,m("MOUNT")):w==="none"||(v==null?void 0:v.display)==="none"?m("UNMOUNT"):m(p&&S!==w?"ANIMATION_OUT":"UNMOUNT"),l.current=e}},[e,m]),Ca(()=>{if(t){let v;const p=t.ownerDocument.defaultView??window,x=_a(w=>{const C=su(r.current).includes(CSS.escape(w.animationName));if(w.target===t&&C&&(m("ANIMATION_END"),!l.current)){const A=t.style.animationFillMode;t.style.animationFillMode="forwards",v=p.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=A)})}},"handleAnimationEnd"),S=_a(w=>{w.target===t&&(o.current=su(r.current))},"handleAnimationStart");return t.addEventListener("animationstart",S),t.addEventListener("animationcancel",x),t.addEventListener("animationend",x),()=>{p.clearTimeout(v),t.removeEventListener("animationstart",S),t.removeEventListener("animationcancel",x),t.removeEventListener("animationend",x)}}else m("ANIMATION_END")},[t,m]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:b.useCallback(v=>{if(v){const p=getComputedStyle(v);r.current=p,u.current=su(p)}else r.current=null;n(v)},[])}}_a(wM,"usePresence");function B0(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}_a(B0,"setRef");function jM(...e){const t=b.useRef(e);return t.current=e,b.useCallback(n=>{const r=t.current;let l=!1;const o=r.map(u=>{const f=B0(u,n);return!l&&typeof f=="function"&&(l=!0),f});if(l)return()=>{for(let u=0;uXB(e,"name",{value:t,configurable:!0}),_M={Automatic:"automatic",Manual:"manual"},v1="Tabs",[QB,Pse]=Gu(v1,[pM]),AM=pM(),[ZB,g1]=QB(v1),WB=b.forwardRef(qu(function(t,n){const{__scopeTabs:r,value:l,onValueChange:o,defaultValue:u,orientation:f="horizontal",dir:h,activationMode:m=_M.Automatic,...v}=t,p=d1(h),[x,S]=Dv({prop:l,onChange:o,defaultProp:u??"",caller:v1});return c.jsx(ZB,{scope:r,baseId:Xr(),value:x,onValueChange:S,orientation:f,dir:p,activationMode:m,children:c.jsx(ln.div,{dir:p,"data-orientation":f,...v,ref:n})})},"Tabs")),JB="TabsList",EM=b.forwardRef(qu(function(t,n){const{__scopeTabs:r,loop:l=!0,...o}=t,u=g1(JB,r),f=AM(r);return c.jsx(FB,{asChild:!0,...f,orientation:u.orientation,dir:u.dir,loop:l,children:c.jsx(ln.div,{role:"tablist","aria-orientation":u.orientation,...o,ref:n})})},"TabsList")),e6="TabsTrigger",OM=b.forwardRef(qu(function(t,n){const{__scopeTabs:r,value:l,disabled:o=!1,...u}=t,f=g1(e6,r),h=AM(r),m=p1(f.baseId,l),v=y1(f.baseId,l),p=l===f.value;return c.jsx(qB,{asChild:!0,...h,focusable:!o,active:p,children:c.jsx(ln.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":v,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:m,...u,ref:n,onMouseDown:$n(t.onMouseDown,x=>{!o&&x.button===0&&x.ctrlKey===!1?(x.currentTarget.focus(),f.onValueChange(l)):x.preventDefault()}),onKeyDown:$n(t.onKeyDown,x=>{o||x.target!==x.currentTarget||[" ","Enter"].includes(x.key)&&f.onValueChange(l)}),onFocus:$n(t.onFocus,()=>{const x=f.activationMode!==_M.Manual;!p&&!o&&x&&f.onValueChange(l)})})})},"TabsTrigger")),t6="TabsContent",NM=b.forwardRef(qu(function(t,n){const{__scopeTabs:r,value:l,forceMount:o,children:u,...f}=t,h=g1(t6,r),m=p1(h.baseId,l),v=y1(h.baseId,l),p=l===h.value,x=b.useRef(p);return b.useEffect(()=>{const S=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(S)},[]),c.jsx(kv,{present:o||p,children:({present:S})=>c.jsx(ln.div,{"data-state":p?"active":"inactive","data-orientation":h.orientation,role:"tabpanel","aria-labelledby":m,hidden:!S,id:v,tabIndex:0,...f,ref:n,style:{...t.style,animationDuration:x.current?"0s":void 0},children:S&&u})})},"TabsContent"));function p1(e,t){return`${e}-trigger-${t}`}qu(p1,"makeTriggerId");function y1(e,t){return`${e}-content-${t}`}qu(y1,"makeContentId");const n6=WB,TM=b.forwardRef(({className:e,...t},n)=>c.jsx(EM,{ref:n,className:Wt("inline-flex h-auto flex-wrap gap-1 rounded-lg bg-secondary p-1 text-muted-foreground",e),...t}));TM.displayName=EM.displayName;const wt=b.forwardRef(({className:e,...t},n)=>c.jsx(OM,{ref:n,className:Wt("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-2 text-sm font-medium text-zinc-200 transition-all hover:bg-zinc-800/80 hover:text-zinc-50 data-[state=active]:bg-[#f5b700] data-[state=active]:text-[#1a1400] data-[state=active]:shadow data-[state=inactive]:bg-transparent data-[state=inactive]:text-zinc-200 data-[state=inactive]:shadow-none",e),...t}));wt.displayName=OM.displayName;const bt=b.forwardRef(({className:e,...t},n)=>c.jsx(NM,{ref:n,className:Wt("mt-4 focus-visible:outline-none",e),...t}));bt.displayName=NM.displayName;const r6=l1("relative w-full rounded-lg border px-3 py-2 text-sm",{variants:{variant:{default:"border-border bg-secondary text-foreground",destructive:"border-destructive/50 bg-red-950/40 text-red-200",warn:"border-primary/40 bg-amber-950/30 text-amber-100",success:"border-emerald-700/50 bg-emerald-950/30 text-emerald-100"}},defaultVariants:{variant:"default"}});function Bt({className:e,variant:t,...n}){return c.jsx("div",{role:"alert",className:Wt(r6({variant:t}),e),...n})}function dt(e){const t=document.getElementById("toast");t&&(t.textContent=e,t.style.display="block",window.clearTimeout(t._t),t._t=window.setTimeout(()=>{t.style.display="none"},2200))}function TE(){return c.jsx("div",{id:"toast",className:"fixed bottom-6 left-1/2 z-50 hidden max-w-md -translate-x-1/2 rounded-md bg-primary px-4 py-2 text-center font-bold text-zinc-950"})}function Io({value:e}){return e?c.jsx(de,{type:"button",size:"sm",variant:"secondary",className:"ml-1 h-7 px-2 text-xs",onClick:()=>void navigator.clipboard.writeText(e).then(()=>dt("Скопировано")),children:"Копировать"}):null}function i6({a:e}){return c.jsx(Bt,{variant:e.level==="bad"?"destructive":"warn",children:e.accountId?c.jsx("a",{className:"underline underline-offset-2 hover:opacity-90",href:"/admin/?id="+encodeURIComponent(e.accountId),children:e.text}):e.text})}function RM({flash:e}){return e?e.error?c.jsx(Bt,{variant:"destructive",children:e.error}):e.code?c.jsxs(Bt,{variant:"success",children:["Код: ",c.jsx("code",{className:"font-mono tracking-wider",children:e.code})," ",c.jsx(Io,{value:e.code})]}):e.promo?c.jsxs(Bt,{variant:"success",children:["Промо: ",c.jsx("code",{className:"font-mono",children:e.promo})," ",c.jsx(Io,{value:e.promo})]}):e.text?c.jsx(Bt,{children:e.text}):null:null}function an({className:e}){return c.jsx("div",{className:"animate-pulse rounded-md bg-zinc-800 "+(e||"h-8 w-full")})}function a6(){return c.jsxs("main",{className:"mx-auto w-full max-w-5xl space-y-4 px-4 py-8",children:[c.jsx(an,{className:"h-10 w-48"}),c.jsxs("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:[c.jsx(an,{className:"h-20"}),c.jsx(an,{className:"h-20"}),c.jsx(an,{className:"h-20"}),c.jsx(an,{className:"h-20"})]}),c.jsx(an,{className:"h-40"})]})}function l6({className:e}){return c.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",className:e,"aria-hidden":"true",children:[c.jsx("rect",{x:"0",y:"0",width:"100",height:"100",rx:"20",fill:"#181B22"}),c.jsxs("g",{transform:"translate(9 9) scale(0.82)",children:[c.jsx("rect",{x:"14",y:"22",width:"72",height:"56",rx:"10",fill:"none",stroke:"#F5B700",strokeWidth:"7"}),c.jsx("path",{d:"M44 41 L59 50 L44 59 Z",fill:"#E8EAF0",stroke:"#E8EAF0",strokeWidth:"4",strokeLinejoin:"round"})]})]})}function MM(){return c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(l6,{className:"h-10 w-10 shrink-0"}),c.jsx("h1",{className:"text-2xl font-bold leading-none",children:"OMP Billing"})]})}function DM({status:e}){return e==="expired"?c.jsx(Ne,{variant:"bad",children:"истекла"}):e==="grace"?c.jsx(Ne,{variant:"warn",children:"льготный период"}):e==="expiring"?c.jsx(Ne,{variant:"warn",children:"истекает"}):e==="soon"?c.jsx(Ne,{variant:"warn",children:"до 7 дней"}):e==="unbound"?c.jsx(Ne,{variant:"secondary",children:"без устройства"}):c.jsx(Ne,{variant:"ok",children:"активна"})}function o6({bound:e,limit:t,over:n}){const r=n||e>t;return c.jsxs("span",{className:r?"font-medium text-amber-200":"",children:[e,"/",t,r?" · сверх лимита":""]})}function Iv({page:e,pages:t,total:n,onPage:r}){return n===0?null:c.jsxs("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-2 text-sm text-muted-foreground",children:[c.jsxs("span",{children:[n," · стр. ",e," из ",t]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(de,{type:"button",size:"sm",variant:"secondary",disabled:e<=1,onClick:()=>r(e-1),children:"Назад"}),c.jsx(de,{type:"button",size:"sm",variant:"secondary",disabled:e>=t,onClick:()=>r(e+1),children:"Дальше"})]})]})}function RE({rows:e,field:t,label:n}){var l,o;const r=Math.max(1,...e.map(u=>u[t]));return c.jsxs("div",{children:[c.jsx("div",{className:"mb-2 text-sm text-muted-foreground",children:n}),c.jsx("div",{className:"flex h-36 items-end gap-px overflow-x-auto",children:e.map(u=>c.jsx("div",{title:u.day+": "+u[t],className:"flex h-full min-w-[6px] flex-1 flex-col justify-end",children:c.jsx("div",{className:"w-full rounded-sm bg-[#f5b700]",style:{height:Math.max(2,Math.round(u[t]/r*128))+"px"}})},u.day))}),c.jsxs("div",{className:"mt-1 flex justify-between text-xs text-muted-foreground",children:[c.jsx("span",{children:((l=e[0])==null?void 0:l.day)||""}),c.jsx("span",{children:((o=e[e.length-1])==null?void 0:o.day)||""})]})]})}async function st(e,t){const n=await fetch(e,{credentials:"same-origin",headers:{Accept:"application/json",...(t==null?void 0:t.headers)||{}},...t}),l=(n.headers.get("content-type")||"").includes("json")?await n.json():{ok:n.ok,status:n.status};return n.status===401?{...l,auth:!1}:l}async function Qt(e,t,n){return st(e,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({csrf:t,...n})})}function s6(){const[e,t]=b.useState(!1),[n,r]=b.useState(""),[l,o]=b.useState(null),[u,f]=b.useState("");b.useEffect(()=>{if(!(l!=null&&l.token))return;let m=!1;const v=async()=>{const x=await st("/admin/login/telegram/status?token="+encodeURIComponent(l.token));if(!m){if(x.status==="ok"||x.ok){location.href="/admin/";return}if(x.status==="denied"){r("Этот Telegram не входит в список администраторов"),o(null),f("");return}if(x.status==="expired"){r("Ссылка устарела - нажмите «Войти через Telegram» ещё раз"),o(null),f("");return}f("Ожидаю подтверждение в Telegram…")}};v();const p=window.setInterval(()=>void v(),2e3);return()=>{m=!0,window.clearInterval(p)}},[l==null?void 0:l.token]);async function h(){t(!0),r(""),f("");const m=await st("/admin/login/telegram",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:"{}"});if(t(!1),m.status===403){r("Панель ещё не перезапущена - сервер не знает вход через Telegram.");return}if(!m.ok||!m.token||!m.deepLink){r(m.error||"Не удалось начать вход через Telegram");return}o({token:m.token,deepLink:m.deepLink}),window.open(m.deepLink,"_blank","noopener,noreferrer")}return c.jsx("main",{className:"flex min-h-screen items-center justify-center px-4 py-10",children:c.jsxs("div",{className:"w-full max-w-sm",children:[c.jsxs("div",{className:"mb-6 text-center",children:[c.jsx("div",{className:"flex justify-center",children:c.jsx(MM,{})}),c.jsx("p",{className:"mt-3 text-sm text-muted-foreground",children:"Вход только через Telegram"})]}),n?c.jsx(Bt,{variant:"destructive",className:"mb-4",children:n}):null,u?c.jsx(Bt,{className:"mb-4",children:u}):null,c.jsx(ye,{children:c.jsxs(xe,{className:"space-y-4 pt-6",children:[c.jsx(de,{className:"w-full",disabled:e,onClick:()=>void h(),children:e&&!l?"…":"Войти через Telegram"}),l!=null&&l.deepLink?c.jsxs("p",{className:"text-sm text-muted-foreground",children:["Если бот не открылся:"," ",c.jsx("a",{className:"underline",href:l.deepLink,target:"_blank",rel:"noreferrer",children:"открыть ссылку"})]}):null]})})]})})}const x1=b.forwardRef(({className:e,...t},n)=>c.jsx("textarea",{className:Wt("flex min-h-[80px] w-full rounded-md border border-input bg-secondary px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...t}));x1.displayName="Textarea";function u6(e,t){return!t||t==="all"?!0:t==="week"?e.status==="soon"||e.status==="expiring":t==="active"?!!e.active:t==="unbound"?!!e.active&&!(Number(e.bound)>0):e.status===t}function c6(e,t,n=""){return e&&t.includes(e)||n&&e===n?e:t[0]||""}function f6(e){const t=new Map;for(const r of e||[]){const l=r&&r.accountId;if(!l)continue;const o=t.get(l);(!o||(r.paidUntil||0)>(o.paidUntil||0))&&t.set(l,r)}const n=[];for(const r of t.values())(r.status==="soon"||r.status==="expiring")&&r.telegramId&&n.push(r);return n}const d6="Europe/Moscow",h6="МСК",PM=["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];function Ar(e){return(e<10?"0":"")+e}function Wf(e){const t=new Intl.DateTimeFormat("en-US",{timeZone:d6,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),n={};for(const l of t.formatToParts(new Date(e)))l.type!=="literal"&&(n[l.type]=l.value);let r=Number(n.hour);return r===24&&(r=0),{year:Number(n.year),month:Number(n.month),day:Number(n.day),hour:r,minute:Number(n.minute),second:Number(n.second)}}function H0(e){const t=Wf(e);return t.year+"-"+Ar(t.month)+"-"+Ar(t.day)}function m6(e,t){const[n,r,l]=e.split("-").map(Number),o=new Date(Date.UTC(n,r-1,l+t));return o.getUTCFullYear()+"-"+Ar(o.getUTCMonth()+1)+"-"+Ar(o.getUTCDate())}function v6(e){const t=Wf(e);return Ar(t.hour)+":"+Ar(t.minute)}function Vo(e){const t=Wf(e);return Ar(t.day)+"."+Ar(t.month)+"."+t.year+" "+Ar(t.hour)+":"+Ar(t.minute)}function g6(e){const t=Wf(e);return t.day+" "+PM[t.month-1]+" "+t.year+", "+Ar(t.hour)+":"+Ar(t.minute)+":"+Ar(t.second)+" "+h6}function p6(e,t=Date.now()){const n=H0(e),r=H0(t);if(n===r)return"Сегодня";if(n===m6(r,-1))return"Вчера";const l=Wf(e);return l.day+" "+PM[l.month-1]+" "+l.year}function y6(e,t=Date.now()){const n=[];for(const r of e){const l=r.at||0,o=l>0?H0(l):"none",u=l>0?p6(l,t):"Без даты",f=n[n.length-1];f&&f.key===o?f.items.push(r):n.push({key:o,title:u,items:[r]})}return n}function ht({ms:e,variant:t="datetime",toggle:n=!0}){const[r,l]=b.useState(!1);if(!e)return c.jsx("span",{className:"text-muted-foreground",children:"-"});const o=g6(e),u=t==="time"?v6(e):Vo(e)+" МСК",f=r&&n?o:u;return n?c.jsx("button",{type:"button",className:"inline whitespace-nowrap rounded-sm text-left underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",title:o,"aria-label":o,onClick:h=>{h.stopPropagation(),l(m=>!m)},children:c.jsx("time",{dateTime:new Date(e).toISOString(),children:f})}):c.jsx("time",{dateTime:new Date(e).toISOString(),title:o,className:"whitespace-nowrap",children:u})}function Li(e){return e?Vo(e)+" МСК":""}const x6={user:"пользователь",device:"устройство",admin:"админ",system:"система"};function b1(e,t){const n=(t==null?void 0:t.deviceId)||"",r=(t==null?void 0:t.fallback)||"система";if(!e||!e.kind)return n?"устройство · "+n.slice(0,8):r;const l=x6[e.kind]||e.kind,o=e.label?" · "+e.label:"";let u=l+o;const f=n.slice(0,8);return e.kind==="user"&&f&&u.indexOf(f)<0&&(u+=" · устройство "+f),u}function F0(e,t,n){const r=t?"@"+t.replace(/^@/,""):n||"";return r&&e?r+" · "+e:r||e}const b6={pay:"оплата",promo:"промо",activate:"активация",fail:"отказ",admin:"админ",device:"устройство"},S6={bad_code:"неверный код",expired:"подписка истекла",other_device:"чужое устройство",device_limit:"лимит устройств"},w6={grant:"выдача дней",promo_create:"создание промо",bulk_promo:"пакет промо",bulk_issue:"пакет кодов",issue:"выдача кода",login:"вход",login_fail:"неудачный вход",login_cli:"аварийная ссылка",login_telegram_start:"вход через Telegram",logout:"выход",message:"сообщение",support_reply:"ответ поддержки",support_close:"закрытие диалога",unbind:"сброс устройства",settings_save:"сохранение настроек",services_save:"сохранение сервисов",monitor_run:"проверка мониторинга",monitor_config:"интервал мониторинга",password_change:"смена пароля",session_revoke:"завершение сессии",code_reveal:"показ кода",device_revoke:"отзыв устройства",device_clone:"отключение клона",limit_set:"смена лимита устройств",bonus_grant:"выдача бонусных устройств",bonus_remove:"снятие бонусных устройств",days_subtract:"убавление дней",payment_confirm:"подтверждение платежа",payment_reject:"отклонение платежа",swaps_reset:"сброс счётчика смен",ads_config:"настройки рекламы",ads_banner_add:"новый баннер",ads_banner_save:"изменение баннера",ads_banner_remove:"удаление баннера"},j6={bad_label:"неверная метка",duplicate:"повтор уведомления",amount:"неверная сумма",bad_signature:"неверная подпись",ignored:"игнорирован",webhook:"уведомление",no_account:"нет аккаунта",no_subscription:"нет подписки",unaccepted:"ждёт подтверждения",rejected:"отклонён",refunded:"возврат звёзд"},C6={new:"новая подписка",sub:"продление",dev:"доп. устройство"};function _6(e,t){const n=e&&C6[e]||"метка не найдена";return t?n+" · "+t+" ₽":n}function A6(e){return b6[e]||e}function E6(e){return S6[e]||e||"неизвестно"}function O6(e){return w6[e]||e}function kM(e){return j6[e]||e||"проблема"}function IM(e){return e&&e.provider==="stars"?"Звёзды":e&&e.provider==="crypto"?"Крипта"+(e.asset?" "+e.asset:""):"ЮMoney"}function N6(e){return!e||e==="down"?"недоступен":e==="timeout"?"таймаут":e.indexOf("http_")===0?"ошибка HTTP "+e.slice(5):e}function zM(e,t){const n=u=>'"'+String(u??"").replace(/"/g,'""')+'"',r=t.map(u=>u.map(f=>n(f)).join(",")).join(` +`)+` +`,l=new Blob([r],{type:"text/csv;charset=utf-8"}),o=document.createElement("a");o.href=URL.createObjectURL(l),o.download=e,o.click(),URL.revokeObjectURL(o.href)}const T6=[["","Все действия"],["login","Вход"],["grant","Выдача дней"],["issue","Выдача кода"],["promo_create","Промо"],["code_reveal","Показ кода"],["device_revoke","Отзыв устройства"],["device_clone","Отключение клона"],["limit_set","Лимит устройств"],["bonus_grant","Бонусные устройства"],["bonus_remove","Снятие бонуса"],["days_subtract","Убавление дней"],["payment_confirm","Подтверждение платежа"],["payment_reject","Отклонение платежа"],["swaps_reset","Сброс смен"],["message","Сообщение"],["settings_save","Настройки"],["ads_config","Реклама: настройки"],["ads_banner_add","Реклама: новый баннер"],["ads_banner_save","Реклама: изменение баннера"],["ads_banner_remove","Реклама: удаление баннера"]],R6=[["","Все причины"],["bad_code","Неверный код"],["expired","Подписка истекла"],["other_device","Чужое устройство"],["device_limit","Лимит устройств"],["extra_expired","Доп. устройство не продлено"]];function ME(e){const t=Number(e)||0;if(t<1024)return t+" Б";const n=["КБ","МБ","ГБ"];let r=t/1024,l=0;for(;r>=1024&&l{r&&o(r)},[r]),b.useEffect(()=>{const B=t.map(F=>F.telegramId);o(F=>c6(F,B,r||""))},[t,r]);function T(B){if(!N.current)return;const F=A.current,se=E.current;F&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{se?se.scrollIntoView({block:"end"}):F.scrollTop=F.scrollHeight})})}b.useEffect(()=>{if(N.current=!0,!u){h([]),v("");return}let B=!1;async function F(){const ue=await st("/admin/api/support?telegramId="+encodeURIComponent(u));if(B)return;const he=ue.messages||[];h(G=>M6(G,he)?G:he),v(u)}F();const se=window.setInterval(()=>void F(),2500);return()=>{B=!0,window.clearInterval(se)}},[u]),b.useEffect(()=>{T()},[f,u]);async function R(B){var he,G;B.preventDefault();const F=p.trim();if(!u||!F||S)return;w(!0),C("");const se=await Qt("/admin/support",e,{telegramId:u,text:F});if(w(!1),!se.ok||(he=se.flash)!=null&&he.error){C(((G=se.flash)==null?void 0:G.error)||"Не отправилось");return}x(""),N.current=!0;const ue=await st("/admin/api/support?telegramId="+encodeURIComponent(u));h(ue.messages||[]),v(u),n()}async function O(){var F,se;if(!u||S||!window.confirm("Завершить диалог? Пользователь получит уведомление в боте."))return;w(!0),C("");const B=await Qt("/admin/support-close",e,{telegramId:u});if(w(!1),!B.ok||(F=B.flash)!=null&&F.error){C(((se=B.flash)==null?void 0:se.error)||"Не завершилось");return}n()}const D=t.find(B=>B.telegramId===u),k=!!u&&m!==u,I=!!r&&u===r&&!t.some(B=>B.telegramId===u);return c.jsxs("div",{className:"grid gap-4 lg:grid-cols-[280px_1fr]",children:[c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Диалоги"}),c.jsx(mt,{children:"Сообщения из бота"})]}),c.jsxs(xe,{className:"space-y-1",children:[t.length===0&&!I?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Пока пусто"}):null,I?c.jsxs("button",{type:"button",className:"block w-full rounded-md bg-muted px-2 py-2 text-left text-sm",onClick:()=>o(r||""),children:[c.jsx("div",{className:"font-medium",children:r}),c.jsx("div",{className:"truncate text-xs text-muted-foreground",children:"диалог из карточки пользователя"})]}):null,t.map(B=>c.jsxs("button",{type:"button",className:"block w-full rounded-md px-2 py-2 text-left text-sm "+(B.telegramId===u?"bg-muted":"hover:bg-muted/60"),onClick:()=>o(B.telegramId),children:[c.jsx("div",{className:"font-medium",children:F0(B.telegramId,B.username,B.name)}),c.jsx("div",{className:"text-xs text-muted-foreground",children:c.jsx(ht,{ms:B.lastAt,toggle:!1})}),c.jsx("div",{className:"truncate text-xs text-muted-foreground",children:B.lastText})]},B.telegramId))]})]}),c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:u?F0(u,D==null?void 0:D.username,D==null?void 0:D.name):"Выберите диалог"}),c.jsx(mt,{children:"Ответ уходит этому пользователю в бота. Ответ на уведомление в Telegram делает то же самое."})]}),c.jsxs(xe,{className:"flex flex-col gap-3",children:[c.jsxs("div",{ref:A,className:"omp-scroll h-80 min-h-0 space-y-2 overflow-y-auto overscroll-contain rounded-md border border-border/60 bg-background/40 p-3",onScroll:()=>{const B=A.current;B&&(N.current=B.scrollHeight-B.scrollTop-B.clientHeight<64)},children:[k?c.jsxs("div",{className:"space-y-2",children:[c.jsx(an,{className:"h-12 w-2/3"}),c.jsx(an,{className:"ml-auto h-12 w-1/2"})]}):null,!k&&f.length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:u?"Пока нет сообщений":"Выберите диалог слева"}):null,f.map(B=>c.jsxs("div",{className:B.direction==="out"?"text-right":"",children:[c.jsxs("div",{className:"text-xs text-muted-foreground",children:[B.direction==="out"?"Админ":"Пользователь"," · ",c.jsx(ht,{ms:B.at,toggle:!1}),B.via==="panel"?" · панель":""]}),c.jsx("div",{className:"inline-block max-w-[90%] whitespace-pre-wrap rounded-md bg-muted px-3 py-2 text-sm",children:B.text})]},B.id)),c.jsx("div",{ref:E,className:"h-px w-full shrink-0","aria-hidden":!0})]}),j?c.jsx(Bt,{variant:"destructive",children:j}):null,c.jsxs("form",{className:"shrink-0 space-y-2",onSubmit:B=>void R(B),children:[c.jsx(x1,{value:p,onChange:B=>x(B.target.value),placeholder:"Ответ пользователю",rows:3}),c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx(de,{type:"submit",disabled:S||!u||!p.trim(),children:S?"Отправляю…":"Ответить"}),c.jsx(de,{type:"button",variant:"secondary",disabled:S||!u,onClick:()=>void O(),children:"Завершить диалог"})]})]})]})]})]})}function Jn({className:e,...t}){return c.jsx("div",{className:"relative w-full overflow-auto",children:c.jsx("table",{className:Wt("w-full caption-bottom text-sm",e),...t})})}function er({className:e,...t}){return c.jsx("thead",{className:Wt("[&_tr]:border-b",e),...t})}function tr({className:e,...t}){return c.jsx("tbody",{className:Wt("[&_tr:last-child]:border-0",e),...t})}function Ke({className:e,...t}){return c.jsx("tr",{className:Wt("border-b border-border transition-colors hover:bg-secondary/50",e),...t})}function Se({className:e,...t}){return c.jsx("th",{className:Wt("h-10 px-2 text-left align-middle font-medium text-muted-foreground",e),...t})}function me({className:e,...t}){return c.jsx("td",{className:Wt("p-2 align-middle",e),...t})}const P6=1440*60*1e3;function Pl({label:e,question:t,yes:n,onYes:r,variant:l="secondary",disabled:o}){const[u,f]=b.useState(!1);return u?c.jsxs("span",{className:"inline-flex flex-wrap items-center gap-2 rounded-md border border-amber-700/60 bg-amber-950/30 px-2 py-1 text-sm",children:[c.jsx("span",{children:t}),c.jsx(de,{size:"sm",variant:"destructive",onClick:()=>{f(!1),r()},children:n}),c.jsx(de,{size:"sm",variant:"ghost",onClick:()=>f(!1),children:"Отмена"})]}):c.jsx(de,{size:"sm",variant:l,disabled:o,onClick:()=>f(!0),children:e})}function k6({ms:e}){return e?c.jsx(ht,{ms:e}):c.jsx("span",{className:"text-muted-foreground",children:"не было"})}function I6({user:e}){const t=e.subscription;return!t||!t.overLimit?null:c.jsxs(Bt,{variant:"warn",children:["Устройств больше лимита: привязано ",t.bound," при лимите ",t.deviceLimit,". Устройства сверх лимита (привязанные последними) не работают. Отзовите лишнее или поднимите лимит."]})}function z6({user:e,run:t}){const n=e.subscription,r=e.devices||[],l=n==null?void 0:n.swaps;return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsxs(Re,{children:["Устройства"," ",n?c.jsxs(Ne,{variant:n.overLimit?"warn":"count",className:"ml-2 align-middle",children:[r.length," из ",n.deviceLimit]}):null]}),c.jsx(mt,{children:"«Последний раз» - поиск, скачивание или проверка подписки с этого устройства (обновляется не чаще раза в 10 минут). IP хранится без последней части. «Отозвать» отвязывает устройство и сразу гасит его токен, для слота выпускается новый код, пользователю уходит сообщение в Telegram."})]}),c.jsxs(xe,{className:"space-y-3",children:[r.length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Привязанных устройств нет"}):null,r.length>0?c.jsxs(Jn,{className:"min-w-[40rem]",children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Устройство"}),c.jsx(Se,{children:"Привязано, МСК"}),c.jsx(Se,{children:"Последний раз, МСК"}),c.jsx(Se,{children:"IP"}),c.jsx(Se,{})]})}),c.jsx(tr,{children:r.map(o=>c.jsxs(Ke,{children:[c.jsxs(me,{className:"font-mono",children:[o.name?c.jsxs("span",{className:"font-sans",children:[o.name," "]}):null,o.deviceId,"…"," ",o.overLimit?c.jsx(Ne,{variant:"warn",className:"ml-1",children:"сверх лимита, не работает"}):null,o.cloneAt?c.jsxs(Ne,{variant:"warn",className:"ml-1",title:"Использованный ключ этого устройства пришёл повторно. Если это не потеря сети - отзовите устройство.",children:["возможен клон",o.cloneCount&&o.cloneCount>1?" ×"+o.cloneCount:""]}):null,c.jsxs("div",{className:"font-sans text-xs text-muted-foreground",children:[o.auth==="refresh"?"новые токены":"старый токен",o.cloneAt?c.jsxs(c.Fragment,{children:[" · клон: ",c.jsx(ht,{ms:o.cloneAt})]}):null]})]}),c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:o.boundAt})}),c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(k6,{ms:o.lastSeenAt})}),c.jsx(me,{className:"font-mono text-xs",children:o.lastIp||"-"}),c.jsx(me,{children:c.jsx(Pl,{label:"Отозвать",variant:"destructive",question:c.jsxs(c.Fragment,{children:["Отозвать ",o.deviceId,"…? Поиск на нём перестанет работать сразу, пользователь получит сообщение в Telegram."]}),yes:"Да, отозвать",onYes:()=>void t("/admin/device-revoke",{accountId:e.account.id,deviceRowId:o.id||"",codeId:o.codeId,confirm:"yes"})})})]},o.id||o.codeId))})]}):null,l?c.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[c.jsxs("span",{children:["Смены устройства в боте: ",l.used," из ",l.limit," за 30 дней",l.left<1&&l.nextAt?c.jsxs(c.Fragment,{children:[" · следующая с ",Vo(l.nextAt)," МСК"]}):null,l.resetAt?c.jsxs("span",{className:"text-muted-foreground",children:[" ","· сброшен ",c.jsx(ht,{ms:l.resetAt})]}):null]}),c.jsx(Pl,{label:"Сбросить счётчик",question:"Разрешить пользователю ещё 2 смены прямо сейчас?",yes:"Да, сбросить",disabled:l.used===0,onYes:()=>void t("/admin/swaps-reset",{accountId:e.account.id})})]}):null]})]})}function L6({user:e,run:t}){const n=e.subscription,[r,l]=b.useState(n!=null&&n.limitOverride?String(n.limitOverride):""),[o,u]=b.useState(String((n==null?void 0:n.extraSlots)??0)),[f,h]=b.useState("1"),[m,v]=b.useState(""),[p,x]=b.useState("");if(!n)return null;const S=n.globalBase??2,w=n.bonusSlots??0,j=(r.trim()?Number(r)||0:S)+w+(Number(o)||0),C=j<(n.bound||0),A=n.bonus||[];return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsxs(Re,{children:["Лимит устройств"," ",c.jsx(Ne,{variant:"count",className:"ml-2 align-middle",children:n.deviceLimit}),n.limitOverride?c.jsx(Ne,{variant:"warn",className:"ml-2 align-middle",children:"индивидуальный лимит"}):null]}),c.jsxs(mt,{children:["Сейчас: ",n.limitText||n.deviceLimit,n.extraSlots?", купленные до "+Vo(n.extraUntil||0)+" МСК":"",". Лимит = база + бонусные + купленные. База - общая из настроек (",S,"), если не задан индивидуальный лимит: он заменяет базу и не меняется, когда меняют общую. Бонусные - бесплатно, навсегда или до даты, в цену продления не входят. Купленные (доп.) - помесячные: выданные здесь действуют до конца оплаченного периода и дальше продлеваются вместе с подпиской."]})]}),c.jsxs(xe,{className:"space-y-4",children:[c.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[c.jsxs("label",{className:"grid gap-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Индивидуальный лимит"}),c.jsx(Oe,{className:"w-40",type:"number",min:1,max:20,placeholder:"пусто = общий ("+S+")",value:r,onChange:E=>l(E.target.value)})]}),c.jsxs("label",{className:"grid gap-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Купленные (доп.)"}),c.jsx(Oe,{className:"w-24",type:"number",min:0,max:20,value:o,onChange:E=>u(E.target.value)})]}),c.jsx(Pl,{label:"Сохранить",variant:"default",question:c.jsxs(c.Fragment,{children:["Лимит станет ",j,r.trim()?" (индивидуальный "+r.trim()+")":" (общая база "+S+")",C?". Привязано "+n.bound+": последние сверх лимита перестанут работать":"",". Сохранить?"]}),yes:"Да, сохранить",onYes:()=>void t("/admin/limit",{accountId:e.account.id,limitOverride:r.trim(),extraSlots:o})})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx("p",{className:"text-sm font-medium",children:"Бонусные устройства"}),A.length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Нет"}):null,A.length>0?c.jsxs(Jn,{className:"min-w-[36rem]",children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Кол-во"}),c.jsx(Se,{children:"Срок"}),c.jsx(Se,{children:"Причина"}),c.jsx(Se,{children:"Выдано, МСК"}),c.jsx(Se,{})]})}),c.jsx(tr,{children:A.map(E=>c.jsxs(Ke,{children:[c.jsxs(me,{children:["+",E.count]}),c.jsxs(me,{children:[E.until===null?"навсегда":"до "+Vo(E.until),E.active?null:c.jsx(Ne,{variant:"secondary",className:"ml-1",children:"истёк"})]}),c.jsxs(me,{children:[E.reason||c.jsx("span",{className:"text-muted-foreground",children:"-"}),E.source==="promo"?null:c.jsx("span",{className:"text-xs text-muted-foreground",children:" · вручную"})]}),c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:E.grantedAt})}),c.jsx(me,{children:c.jsx(Pl,{label:"Снять",question:c.jsxs(c.Fragment,{children:["Снять ",E.count," бонусн. устр.?"]}),yes:"Да, снять",onYes:()=>void t("/admin/bonus-remove",{accountId:e.account.id,bonusId:E.id,confirm:"yes"})})})]},E.id))})]}):null,c.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[c.jsxs("label",{className:"grid gap-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Устройств"}),c.jsx(Oe,{className:"w-20",type:"number",min:1,max:20,value:f,onChange:E=>h(E.target.value)})]}),c.jsxs("label",{className:"grid gap-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Дней"}),c.jsx(Oe,{className:"w-36",type:"number",min:1,max:3650,placeholder:"пусто = навсегда",value:m,onChange:E=>v(E.target.value)})]}),c.jsxs("label",{className:"grid gap-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Причина"}),c.jsx(Oe,{className:"w-56",maxLength:80,value:p,onChange:E=>x(E.target.value)})]}),c.jsx(de,{size:"sm",onClick:()=>void t("/admin/bonus",{accountId:e.account.id,count:f,days:m.trim(),reason:p}),children:"Выдать бонус"})]})]})]})]})}function U6({user:e,run:t}){const n=e.subscription,[r,l]=b.useState("1");if(!n||!n.paidUntil)return null;const o=Math.floor(Number(r)),u=Number.isFinite(o)&&o>=1&&o<=3650&&String(o)===r.trim(),f=n.paidUntil-(u?o:0)*P6;return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Убавить дни"}),c.jsx(mt,{children:"Сдвигает окончание назад, например после возврата денег. Если дата уйдёт в прошлое, поиск выключится после льготного периода."})]}),c.jsxs(xe,{className:"flex flex-wrap items-end gap-2",children:[c.jsxs("label",{className:"grid gap-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Дней"}),c.jsx(Oe,{className:"w-24",type:"number",min:1,max:3650,value:r,onChange:h=>l(h.target.value)})]}),c.jsx(Pl,{label:"Убавить",variant:"destructive",disabled:!u,question:c.jsxs(c.Fragment,{children:["Убавить ",o," дн.? Подписка будет до ",Vo(f)," МСК",f<=Date.now()?" - это уже в прошлом":"","."]}),yes:"Да, убавить",onYes:()=>void t("/admin/subtract",{accountId:e.account.id,days:String(o),confirm:"yes"})})]})]})}function LM({rows:e,run:t,accountId:n,showWho:r}){return e.length?c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsxs(Re,{children:["Ждут подтверждения в ЮMoney"," ",c.jsx(Ne,{variant:"warn",className:"ml-2 align-middle",children:e.length})]}),c.jsx(mt,{children:"ЮMoney держит эти переводы, пока их не примут в кошельке, и подписку они не продлили. Примите перевод в кошельке и нажмите «Подтвердить платёж» - он применится один раз. «Отклонить» - если перевод отклонён или возвращён."})]}),c.jsx(xe,{className:"space-y-3",children:e.map(l=>c.jsxs("div",{className:"space-y-2 rounded-md border border-amber-800/50 px-3 py-2 text-sm",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(ht,{ms:l.at}),c.jsxs("span",{className:"font-medium",children:[l.amount||"?"," ₽"]}),c.jsx(Ne,{variant:"count",children:_6(l.kind,l.price)}),r&&l.accountId?c.jsx("a",{className:"text-primary",href:"/admin/?id="+encodeURIComponent(l.accountId),children:l.who||"карточка"}):null,c.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:l.operationId})]}),c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx(Pl,{label:"Подтвердить платёж",variant:"default",question:c.jsxs(c.Fragment,{children:["Перевод ",l.amount," ₽ принят в кошельке? Подписка продлится сразу, пользователь получит сообщение."]}),yes:"Да, подтвердить",onYes:()=>void t("/admin/payment-confirm",{operationId:l.operationId,accountId:n||"",confirm:"yes"})}),c.jsx(Pl,{label:"Отклонить",question:c.jsxs(c.Fragment,{children:["Убрать платёж ",l.amount," ₽ из ожидания, ничего не продлевая?"]}),yes:"Да, отклонить",onYes:()=>void t("/admin/payment-reject",{operationId:l.operationId,accountId:n||"",confirm:"yes"})})]})]},l.operationId))})]}):null}const bx="omp-grant-days";function $6({user:e,run:t}){var E,N,T,R,O,D,k;const n=e.account.telegramId||"",[r,l]=b.useState(""),[o,u]=b.useState(()=>sessionStorage.getItem(bx)||"30"),[f,h]=b.useState("100"),[m,v]=b.useState({});async function p(I){const P=await st("/admin/api/reveal?codeId="+encodeURIComponent(I));if(P.auth!==!1){if(!P.formatted){dt("Код уже привязан или скрыт");return}v(B=>({...B,[I]:{formatted:P.formatted||"",openUrl:P.openUrl}}))}}const x=!!((E=e.subscription)!=null&&E.active),S=((N=e.subscription)==null?void 0:N.paidUntil)||0,w=x&&S>0&&S-Date.now()<=1440*60*1e3,j=!!((T=e.subscription)!=null&&T.inGrace),C=e.subscription?j?"grace":x?w?"expiring":"active":"expired":"",A=(e.codes||[]).filter(I=>!I.bound);return c.jsxs("main",{className:"mx-auto w-full max-w-4xl space-y-4 px-4 py-6",children:[c.jsx(de,{variant:"link",className:"px-0",asChild:!0,children:c.jsx("a",{href:"/admin/",children:"← Назад"})}),c.jsx("h1",{className:"text-2xl font-bold",children:"Пользователь"}),c.jsx(RM,{flash:e.flash}),c.jsx(ye,{children:c.jsxs(xe,{className:"space-y-2 pt-6 text-sm",children:[c.jsxs("p",{children:[c.jsx("span",{className:"text-muted-foreground",children:"Идентификатор"})," ",e.account.id," ",c.jsx(Io,{value:e.account.id})]}),c.jsxs("p",{children:[c.jsx("span",{className:"text-muted-foreground",children:"Telegram"})," ",n?c.jsxs(c.Fragment,{children:[c.jsx(Ne,{variant:"ok",children:F0(n,e.account.telegramUsername,e.account.telegramName)})," ",c.jsx(Io,{value:n})]}):"-"]}),c.jsxs("p",{children:[c.jsx("span",{className:"text-muted-foreground",children:"Почта"})," ",e.account.email||"-"]}),c.jsxs("p",{children:[c.jsx("span",{className:"text-muted-foreground",children:"Создан"})," ",c.jsx(ht,{ms:e.account.createdAt})]}),e.subscription?c.jsxs("p",{className:"flex flex-wrap items-center gap-2",children:["Подписка до ",c.jsx(ht,{ms:e.subscription.paidUntil}),c.jsxs("span",{className:"text-muted-foreground",children:["устройств ",e.subscription.bound??0," из ",e.subscription.deviceLimit,e.subscription.limitText?" ("+e.subscription.limitText+")":""]}),c.jsx(DM,{status:C}),(e.subscription.creditRub||0)>0?c.jsxs("span",{className:"text-muted-foreground",children:["зачёт ",e.subscription.creditRub," ₽"]}):null,c.jsx("input",{className:"h-8 w-20 rounded-md border border-input bg-secondary px-2 text-sm",value:f,onChange:I=>h(I.target.value),"aria-label":"Зачёт, рубли"}),c.jsx(de,{variant:"secondary",onClick:()=>{window.confirm("Начислить зачёт "+f+" ₽?")&&t("/admin/api/credit",{accountId:e.account.id,rub:f,confirm:"yes"})},children:"Зачёт"}),j&&e.subscription.accessUntil?c.jsxs("span",{className:"text-muted-foreground",children:["льготный период до ",c.jsx(ht,{ms:e.subscription.accessUntil})]}):null]}):c.jsx("p",{className:"text-muted-foreground",children:"Нет подписки"})]})}),c.jsx(I6,{user:e}),c.jsx(LM,{rows:e.pending||[],run:t,accountId:e.account.id}),e.subscription?c.jsx(z6,{user:e,run:t}):null,c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Написать пользователю"}),c.jsx(mt,{children:n?"Сообщение уйдёт в Telegram-бота и появится во вкладке «Поддержка».":"У аккаунта нет Telegram - сначала нужна привязка в боте."})]}),c.jsx(xe,{className:"space-y-2",children:n?c.jsxs(c.Fragment,{children:[c.jsx(x1,{value:r,onChange:I=>l(I.target.value),placeholder:"Текст сообщения…",rows:4}),c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx(de,{disabled:!r.trim(),onClick:()=>{const I=r.trim();I&&t("/admin/message",{accountId:e.account.id,text:I}).then(()=>l(""))},children:"Отправить в Telegram"}),c.jsx(de,{variant:"secondary",asChild:!0,children:c.jsx("a",{href:"/admin/?tab=support&tg="+encodeURIComponent(n),children:"Открыть в поддержке"})})]})]}):c.jsx("p",{className:"text-sm text-muted-foreground",children:"Привяжите Telegram в боте или через приложение OMP."})})]}),c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Выдать дни"}),c.jsx(mt,{children:"Число дней сохраняется. Перед отправкой будет подтверждение."})]}),c.jsx(xe,{className:"space-y-3",children:c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("label",{className:"text-sm text-muted-foreground",htmlFor:"grant-days",children:"Дней"}),c.jsxs("select",{id:"grant-days",className:"h-10 rounded-md border border-input bg-secondary px-3 text-sm",value:o,onChange:I=>{u(I.target.value),sessionStorage.setItem(bx,I.target.value)},children:[c.jsx("option",{value:"1",children:"1"}),c.jsx("option",{value:"7",children:"7"}),c.jsx("option",{value:"30",children:"30"}),c.jsx("option",{value:"90",children:"90"})]}),c.jsx(de,{onClick:()=>{window.confirm("Выдать +"+o+" дн.?")&&(sessionStorage.setItem(bx,o),t("/admin/grant",{accountId:e.account.id,days:o}))},children:"Выдать"})]})})]}),c.jsx(U6,{user:e,run:t},"sub-"+(((R=e.subscription)==null?void 0:R.paidUntil)||0)),c.jsx(L6,{user:e,run:t},"lim-"+(((O=e.subscription)==null?void 0:O.limitOverride)??"")+"-"+(((D=e.subscription)==null?void 0:D.extraSlots)??"")+"-"+(((k=e.subscription)==null?void 0:k.limitText)??"")),c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Свободные коды"}),c.jsx(mt,{children:"Коды ещё не привязанных слотов, открываются кнопкой «Показать». Привязанные - выше, в «Устройствах»."})]}),c.jsxs(xe,{className:"space-y-2",children:[A.length===0?c.jsx("p",{className:"text-muted-foreground",children:"Нет свободных кодов"}):null,A.map(I=>{const P=m[I.id];return c.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[c.jsx("span",{className:"font-mono",children:(P==null?void 0:P.formatted)||(I.bound?"привязан · "+(I.deviceId||""):"скрыт")}),c.jsxs("span",{className:"text-muted-foreground",children:["создан ",c.jsx(ht,{ms:I.createdAt}),I.boundAt?c.jsxs(c.Fragment,{children:[" ","· привязан ",c.jsx(ht,{ms:I.boundAt})]}):null]}),I.bound&&!I.hasPlain&&!P?c.jsx("span",{className:"text-muted-foreground",children:"код стёрт после привязки"}):null,P?c.jsx(Io,{value:P.formatted}):null,I.hasPlain&&!P?c.jsx(de,{size:"sm",variant:"secondary",onClick:()=>void p(I.id),children:"Показать"}):null,P!=null&&P.openUrl?c.jsx(de,{size:"sm",variant:"link",asChild:!0,children:c.jsx("a",{href:P.openUrl,target:"_blank",rel:"noreferrer",children:"Открыть"})}):null]},I.id)})]})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Платежи"})}),c.jsxs(xe,{children:[(e.payments||[]).length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Нет платежей"}):null,(e.payments||[]).length>0?c.jsxs(Jn,{className:"min-w-[36rem]",children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Когда, МСК"}),c.jsx(Se,{children:"Зачислено"}),c.jsx(Se,{children:"Способ"}),c.jsx(Se,{children:"Комиссия"}),c.jsx(Se,{children:"Метка"}),c.jsx(Se,{children:"Ошибка"})]})}),c.jsx(tr,{children:(e.payments||[]).map((I,P)=>c.jsxs(Ke,{children:[c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:I.at})}),c.jsx(me,{className:"font-mono",children:I.amount||"-"}),c.jsx(me,{children:IM(I)}),c.jsx(me,{className:"font-mono",children:I.fee==null?"-":I.fee}),c.jsx(me,{className:"font-mono text-xs",children:I.label||"-"}),c.jsxs(me,{children:[I.error?c.jsx(Ne,{variant:"bad",children:kM(I.error)}):null,I.provider==="stars"&&!I.error&&I.operationId?c.jsx(Pl,{label:"Вернуть звёзды",question:"Вернуть звёзды этому пользователю? Дни подписки останутся, их можно убавить отдельно.",yes:"Вернуть",variant:"destructive",onYes:()=>void t("/admin/payment-refund",{operationId:I.operationId,accountId:e.account.id,confirm:"yes"})}):null,!I.error&&I.provider!=="stars"?"-":null]})]},P))})]}):null]})]}),c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"История просмотра"}),c.jsx(mt,{children:"Шаги, которые приложение прислало с этого аккаунта. Без диагностики список пуст."})]}),c.jsxs(xe,{children:[(e.watch||[]).length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Нет сигналов"}):null,(e.watch||[]).length>0?c.jsx("ul",{className:"space-y-1 text-sm",children:(e.watch||[]).map((I,P)=>c.jsxs("li",{className:"flex flex-wrap gap-2",children:[c.jsx(ht,{ms:I.at}),c.jsx("span",{children:I.name}),c.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:[I.version||""," ",I.platform||""]})]},P))}):null]})]})]})}var B6=Object.defineProperty,H6=(e,t)=>B6(e,"name",{value:t,configurable:!0}),UM=b.forwardRef(H6(function(t,n){return c.jsx(ln.label,{...t,ref:n,onMouseDown:r=>{var o;r.target.closest("button, input, select, textarea")||((o=t.onMouseDown)==null||o.call(t,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}})},"Label"));const qe=b.forwardRef(({className:e,...t},n)=>c.jsx(UM,{ref:n,className:Wt("text-sm font-medium text-muted-foreground",e),...t}));qe.displayName=UM.displayName;const S1={mine:"«Мои» (сетка, список, компактно)",discoverGrid:"«Обзор»: сетка подборки",discoverRails:"«Обзор»: главная, между рельсами"},w1={phone:"Телефон",androidTv:"Android TV",webos:"webOS"};function $M(e){return e.impressions?(e.clicks/e.impressions*100).toFixed(1).replace(".",",")+"%":"-"}function Um(e){return e?new Date(e+10800*1e3).toISOString().slice(0,10):""}function F6(e){return new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(String(r.result||"").replace(/^data:[^,]*,/,"")),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}const j1="h-10 rounded-md border border-input bg-secondary px-3 text-sm text-foreground",BM=["mine","discoverGrid","discoverRails"],HM=["phone","androidTv","webos"],C1=e=>"/v1/ads/img/"+e;function FM(){return Math.random().toString(36).slice(2)+Math.random().toString(36).slice(2)}const V6=()=>({localId:FM(),enabled:!0,title:"",text:"",advertiser:"",erid:"",url:"",image:"",weight:"1",from:"",to:"",platforms:["phone","androidTv","webos"],sections:["mine","discoverGrid","discoverRails"],tvMode:"qr"});function G6(e){return{localId:FM(),id:e.id,enabled:e.enabled,title:e.title,text:e.text,advertiser:e.advertiser,erid:e.erid,url:e.url,image:e.image,weight:String(e.weight),from:Um(e.from),to:Um(e.to),platforms:e.platforms,sections:e.sections,tvMode:e.tvMode}}function DE(e,t,n){const r=e.filter(l=>l!==t);return n?r.concat([t]):r}function q6({csrf:e}){const[t,n]=b.useState(null),[r,l]=b.useState(null),[o,u]=b.useState(30),[f,h]=b.useState(null),[m,v]=b.useState(null),[p,x]=b.useState(!1),[S,w]=b.useState(!1),[j,C]=b.useState(""),A=b.useRef(0),E=b.useRef(!1);async function N(O=o,D=!1){const k=await st("/admin/api/ads?days="+O);k.auth===!1||!k.config||(n(k.config),l(k.stats||null),D||h(k.config))}b.useEffect(()=>{const O=E.current;E.current=!0;let D=!0;return(async()=>{const k=await st("/admin/api/ads?days="+o);!D||k.auth===!1||!k.config||(n(k.config),l(k.stats||null),h(I=>O&&I?I:k.config))})(),()=>{D=!1}},[o]);async function T(O,D){var k,I;x(!0);try{const P=await Qt(O,e,D);return(k=P.flash)!=null&&k.error?(C(P.flash.error),dt(P.flash.error)):(C(""),(I=P.flash)!=null&&I.text&&dt(P.flash.text)),P}finally{x(!1)}}if(!t||!f)return c.jsx(an,{className:"h-48"});const R=(O,D,k)=>c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:"ads-"+O,children:D}),c.jsx(Oe,{id:"ads-"+O,inputMode:"numeric",value:String(f[O]),onChange:I=>h({...f,[O]:I.target.value})}),c.jsx("p",{className:"text-xs text-muted-foreground",children:k})]});return c.jsxs("div",{className:"space-y-4",children:[c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsxs(Re,{className:"flex flex-wrap items-center gap-2",children:["Реклама",t.enabled?c.jsx(Ne,{variant:"ok",children:"включена"}):c.jsx(Ne,{variant:"secondary",children:"выключена"}),c.jsxs(Ne,{variant:"secondary",children:["баннеров: ",t.banners.length]})]}),c.jsx(mt,{children:"Свои баннеры (прямые рекламодатели и партнёрки). Приложения читают настройки раз в 5 минут: выключатель доходит до всех за это время. Подписчикам и в «Истории», поиске, режиме выбора рекламы нет."})]}),c.jsxs(xe,{className:"space-y-4",children:[c.jsxs("label",{className:"flex items-center gap-2 text-sm font-medium",children:[c.jsx("input",{type:"checkbox",checked:f.enabled,onChange:O=>h({...f,enabled:O.target.checked})}),"Показывать рекламу (общий выключатель)"]}),c.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:"ads-provider",children:"Источник"}),c.jsxs("select",{id:"ads-provider",className:j1+" w-full",value:f.provider,onChange:O=>h({...f,provider:O.target.value}),children:[c.jsx("option",{value:"house",children:"Свои баннеры"}),c.jsx("option",{value:"yandex",disabled:!0,children:"Яндекс (позже)"})]})]}),R("everyN","Каждая N-я карточка","6-30, по умолчанию 10"),R("firstAfter","Первая не раньше карточки","1-60, по умолчанию 10"),R("afterInstallDays","Дней после установки","0-60: до этого рекламы нет"),R("maxPerScreen","На экране не больше","1-2 рекламы"),R("railsEvery","Главная «Обзора»: после каждых N рельс","2-10, первая после 2-й рельсы"),c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:"ads-minver",children:"Минимальная версия приложения"}),c.jsx(Oe,{id:"ads-minver",placeholder:"например 0.20.5",value:f.minAppVersion,onChange:O=>h({...f,minAppVersion:O.target.value})}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Пусто: все версии с рекламой"})]})]}),c.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[c.jsxs("fieldset",{className:"space-y-1",children:[c.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Разделы"}),BM.map(O=>c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:f.sections[O],onChange:D=>h({...f,sections:{...f.sections,[O]:D.target.checked}})}),S1[O]]},O))]}),c.jsxs("fieldset",{className:"space-y-1",children:[c.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Платформы"}),HM.map(O=>c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:f.platforms[O],onChange:D=>h({...f,platforms:{...f.platforms,[O]:D.target.checked}})}),w1[O]]},O))]}),c.jsxs("fieldset",{className:"space-y-1",children:[c.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Кому не показывать"}),c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:f.hideForSubscribers,onChange:O=>h({...f,hideForSubscribers:O.target.checked})}),"Подписчикам OMP (и в льготный период)"]}),c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:f.tvHideIfLinkedSubscriber,onChange:O=>h({...f,tvHideIfLinkedSubscriber:O.target.checked})}),"ТВ, к которому привязан телефон с подпиской"]})]})]}),f.enabled&&!t.banners.some(O=>O.enabled)?c.jsx(Bt,{variant:"warn",children:"Нет ни одного включённого баннера: приложения рекламу не покажут, пока его нет."}):null,c.jsx(de,{disabled:p,onClick:()=>{const{banners:O,...D}=f;T("/admin/ads/config",D).then(()=>N())},children:"Сохранить настройки рекламы"})]})]}),c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Баннеры"}),c.jsx(mt,{children:"По закону о рекламе на баннере видны пометка «Реклама», рекламодатель и erid (токен ОРД). Без erid баннер не сохраняется. erid добавляется и в ссылку."})]}),c.jsxs(xe,{className:"space-y-3",children:[t.banners.length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Баннеров пока нет"}):null,c.jsx("ul",{className:"space-y-2",children:t.banners.map(O=>c.jsxs("li",{className:"flex flex-wrap items-center gap-3 rounded-md border border-border p-2",children:[c.jsx("img",{src:C1(O.image),alt:"",className:"h-16 w-12 rounded object-cover"}),c.jsxs("div",{className:"min-w-0 flex-1 text-sm",children:[c.jsxs("div",{className:"font-medium",children:[O.title," ",O.enabled?null:c.jsx(Ne,{variant:"secondary",children:"выключен"})]}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[O.advertiser," · erid ",O.erid," · вес ",O.weight,O.from||O.to?" · "+(Um(O.from)||"...")+" - "+(Um(O.to)||"..."):""]})]}),c.jsx(de,{size:"sm",variant:"secondary",onClick:()=>v(G6(O)),children:"Изменить"}),c.jsx(de,{size:"sm",variant:"destructive",disabled:p,onClick:()=>{confirm("Удалить баннер «"+O.title+"»? Статистика по нему останется.")&&T("/admin/ads/banner-remove",{id:O.id,confirm:"yes"}).then(()=>N())},children:"Удалить"})]},O.id))}),m?c.jsx(K6,{draft:m,setDraft:v,busy:p,uploading:S,error:j,onUpload:async O=>{const D=m.localId,k=++A.current;w(!0);try{const I=await F6(O),B=(await T("/admin/ads/image",{mime:O.type,data:I})).extra,F=B&&B.imageId;if(!F||k!==A.current)return;v(se=>se&&se.localId===D?{...se,image:F}:se)}finally{k===A.current&&w(!1)}},onSave:async()=>{const{localId:O,...D}=m;(await T("/admin/ads/banner",{banner:D})).ok&&(v(null),await N())}}):c.jsx(de,{variant:"secondary",onClick:()=>v(V6()),children:"Добавить баннер"})]})]}),c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Предпросмотр"}),c.jsx(mt,{children:"Так ячейка выглядит в каждом виде карточек на телефоне. Размер всегда как у соседних карточек."})]}),c.jsx(xe,{children:c.jsx(Y6,{banner:m||t.banners[0]||null})})]}),c.jsx(X6,{stats:r,days:o,setDays:u})]})}function K6({draft:e,setDraft:t,busy:n,uploading:r,error:l,onUpload:o,onSave:u}){const f=(m,v,p)=>c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:"banner-"+m,children:v}),c.jsx(Oe,{id:"banner-"+m,type:(p==null?void 0:p.type)||"text",maxLength:p==null?void 0:p.max,placeholder:p==null?void 0:p.placeholder,value:e[m],onChange:x=>t({...e,[m]:x.target.value})}),p!=null&&p.hint?c.jsx("p",{className:"text-xs text-muted-foreground",children:p.hint}):null]}),h=!e.erid.trim();return c.jsxs("div",{className:"space-y-3 rounded-md border border-border p-3",children:[c.jsx("div",{className:"text-sm font-medium",children:e.id?"Изменить баннер":"Новый баннер"}),c.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[f("title","Заголовок",{max:56,hint:"До 56 знаков"}),f("advertiser","Рекламодатель",{placeholder:"ООО «Ромашка», ИНН ...",hint:"Видно на баннере рядом с пометкой «Реклама»"}),f("text","Текст",{max:140,hint:"До 140 знаков, в виде «список» и между рельсами"}),f("erid","erid (токен ОРД)",{placeholder:"2SDnjc...",hint:"Обязательно. Выдаёт ОРД или партнёрская сеть"}),f("url","Ссылка",{placeholder:"https://...",hint:"На ТВ вместо клика QR-код с этой ссылкой"}),f("weight","Вес",{hint:"1-100: чем больше, тем чаще среди баннеров"}),f("from","Показывать с",{type:"date"}),f("to","Показывать по",{type:"date"})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.image?c.jsx("img",{src:C1(e.image),alt:"",className:"h-24 w-16 rounded object-cover"}):c.jsx("div",{className:"flex h-24 w-16 items-center justify-center rounded bg-muted text-xs",children:"нет"}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:"banner-image",children:"Картинка 2:3 (JPEG, PNG, WebP, до 300 КБ)"}),c.jsx("input",{id:"banner-image",type:"file",accept:"image/jpeg,image/png,image/webp",className:"text-sm",disabled:r,onChange:m=>{const v=m.target.files&&m.target.files[0];v&&o(v)}})]})]}),c.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[c.jsxs("fieldset",{className:"space-y-1",children:[c.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Разделы"}),BM.map(m=>c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:e.sections.indexOf(m)>=0,onChange:v=>t({...e,sections:DE(e.sections,m,v.target.checked)})}),S1[m]]},m))]}),c.jsxs("fieldset",{className:"space-y-1",children:[c.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Платформы"}),HM.map(m=>c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:e.platforms.indexOf(m)>=0,onChange:v=>t({...e,platforms:DE(e.platforms,m,v.target.checked)})}),w1[m]]},m))]}),c.jsxs("fieldset",{className:"space-y-1",children:[c.jsx("legend",{className:"mb-1 text-sm font-medium",children:"ТВ"}),c.jsxs("select",{className:j1,value:e.tvMode,"aria-label":"Клик на ТВ",onChange:m=>t({...e,tvMode:m.target.value}),children:[c.jsx("option",{value:"qr",children:"QR-код со ссылкой"}),c.jsx("option",{value:"noclick",children:"Только баннер"})]}),c.jsxs("label",{className:"mt-2 flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:e.enabled,onChange:m=>t({...e,enabled:m.target.checked})}),"Баннер включён"]})]})]}),h?c.jsx(Bt,{variant:"warn",children:"Без erid баннер не сохранится: это требование закона о маркировке рекламы."}):null,l?c.jsx(Bt,{variant:"warn",children:l}):null,c.jsxs("div",{className:"flex gap-2",children:[c.jsx(de,{disabled:n||h,onClick:()=>void u(),children:"Сохранить баннер"}),c.jsx(de,{variant:"ghost",onClick:()=>t(null),children:"Отмена"})]})]})}function Y6({banner:e}){if(!e)return c.jsx("p",{className:"text-sm text-muted-foreground",children:"Добавьте баннер, чтобы увидеть предпросмотр"});const t=e.image?C1(e.image):"",n=o=>c.jsxs("div",{className:"relative overflow-hidden rounded-lg bg-zinc-800 "+o,style:{aspectRatio:"173 / 240"},children:[t?c.jsx("img",{src:t,alt:"",className:"h-full w-full object-cover"}):null,c.jsx("span",{className:"absolute left-1 top-1 rounded bg-black/70 px-1 text-[10px] font-bold text-amber-300",children:"Реклама"})]}),r=(o,u)=>Array.from({length:o},(f,h)=>c.jsxs("div",{className:"space-y-1",children:[c.jsx("div",{className:"rounded-lg bg-zinc-700/60 "+u,style:{aspectRatio:"173 / 240"}}),c.jsx("div",{className:"h-2 w-3/4 rounded bg-zinc-700/60"})]},h)),l=c.jsxs("div",{className:"min-w-0 space-y-1",children:[n(""),c.jsx("div",{className:"line-clamp-2 text-xs font-semibold",children:e.title||"Заголовок"}),c.jsxs("div",{className:"truncate text-[10px] text-muted-foreground",children:["Реклама · ",e.advertiser||"рекламодатель"]}),c.jsxs("div",{className:"truncate text-[10px] text-muted-foreground",children:["erid: ",e.erid||"..."]})]});return c.jsxs("div",{className:"grid gap-4 md:grid-cols-5",children:[c.jsxs("div",{children:[c.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Мои»: крупно (2)"}),c.jsxs("div",{className:"grid grid-cols-2 gap-2 rounded-md bg-zinc-950 p-2",children:[r(1,""),l]})]}),c.jsxs("div",{children:[c.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Мои»: мелко (3)"}),c.jsxs("div",{className:"grid grid-cols-3 gap-1 rounded-md bg-zinc-950 p-2",children:[r(2,""),l]})]}),c.jsxs("div",{children:[c.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Мои»: список"}),c.jsxs("div",{className:"flex gap-2 rounded-md bg-zinc-950 p-2",children:[n("w-10 shrink-0"),c.jsxs("div",{className:"min-w-0 text-xs",children:[c.jsx("div",{className:"font-semibold",children:e.title||"Заголовок"}),c.jsx("div",{className:"text-muted-foreground",children:e.text}),c.jsxs("div",{className:"text-[10px] text-muted-foreground",children:["Реклама · ",e.advertiser||"рекламодатель"," · erid: ",e.erid||"..."]})]})]})]}),c.jsxs("div",{children:[c.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Мои»: компактно"}),c.jsxs("div",{className:"rounded-md bg-zinc-950 p-2 text-xs",children:[c.jsx("div",{className:"font-semibold",children:e.title||"Заголовок"}),c.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[c.jsx("span",{className:"rounded bg-amber-300/20 px-1 font-bold text-amber-300",children:"Реклама"})," ",e.advertiser||"рекламодатель"," · erid: ",e.erid||"..."]})]})]}),c.jsxs("div",{children:[c.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Обзор»: 4 в ряд"}),c.jsxs("div",{className:"grid grid-cols-4 gap-1 rounded-md bg-zinc-950 p-2",children:[r(3,""),l]})]})]})}function em({title:e,rows:t,label:n}){return c.jsxs("div",{children:[c.jsx("div",{className:"mb-1 text-sm font-medium",children:e}),t.length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Нет данных"}):c.jsxs(Jn,{children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Что"}),c.jsx(Se,{className:"text-right",children:"Показы"}),c.jsx(Se,{className:"text-right",children:"Клики"}),c.jsx(Se,{className:"text-right",children:"CTR"})]})}),c.jsx(tr,{children:t.map(r=>c.jsxs(Ke,{children:[c.jsx(me,{children:n?n(r.key,r):r.key}),c.jsx(me,{className:"text-right",children:r.impressions}),c.jsx(me,{className:"text-right",children:r.clicks}),c.jsx(me,{className:"text-right",children:$M(r)})]},r.key))})]})]})}function X6({stats:e,days:t,setDays:n}){return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsxs(Re,{className:"flex flex-wrap items-center gap-2",children:["Статистика",c.jsxs("select",{className:j1,value:t,"aria-label":"Период",onChange:r=>n(Number(r.target.value)),children:[c.jsx("option",{value:7,children:"7 дней"}),c.jsx("option",{value:30,children:"30 дней"}),c.jsx("option",{value:90,children:"90 дней"})]})]}),c.jsx(mt,{children:"Показы (ячейка видна наполовину 1 секунду) и клики по дням МСК. Без ID устройств, хранится 90 дней."})]}),c.jsx(xe,{className:"space-y-4",children:e?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"grid grid-cols-3 gap-3",children:[[e.total.impressions,"показов"],[e.total.clicks,"кликов"],[$M(e.total),"CTR"]].map(([r,l])=>c.jsxs("div",{className:"rounded-md border border-border p-3",children:[c.jsx("div",{className:"text-2xl font-bold",children:r}),c.jsx("div",{className:"text-xs text-muted-foreground",children:l})]},l))}),c.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[c.jsx(em,{title:"По баннерам",rows:e.byBanner,label:(r,l)=>l.title||l.key}),c.jsx(em,{title:"По разделам",rows:e.bySection,label:r=>S1[r]||r}),c.jsx(em,{title:"По платформам",rows:e.byPlatform,label:r=>w1[r]||r})]}),c.jsx(em,{title:"По дням",rows:e.byDay.filter(r=>r.impressions||r.clicks).reverse().map(r=>({key:r.day,impressions:r.impressions,clicks:r.clicks}))})]}):c.jsx(an,{className:"h-24"})})]})}function PE(e){const t=e||{};return{enabled:t.enabled===!0,yoomoney:t.yoomoney===!0,stars:t.stars===!0,crypto:t.crypto===!0,notifyAll:t.notifyAll===!0,showAmounts:t.showAmounts===!0,amounts:t.amounts||"100,300,500,1000",minRub:String(t.minRub??50),maxRub:String(t.maxRub??1e5),commentMax:String(t.commentMax??200),thanksText:t.thanksText||"Спасибо! Вы поддержали проект OMP.",rubPerStar:String(t.rubPerStar??0),notifyMin:String(t.notifyMin??0)}}function Q6(e,t,n){return n?e:t}function Z6(e,t){const n=Object.keys(e);for(let r=0;rPE(e)),[f,h]=b.useState(null),[m,v]=b.useState("all"),[p,x]=b.useState("all"),S=b.useRef(0),w=b.useRef(o);w.current=o;const j=b.useRef({status:m,method:p});j.current={status:m,method:p};const C=f??(t==null?void 0:t.rows)??[],A=t==null?void 0:t.summary,E=(t==null?void 0:t.chart)||[],N=(t==null?void 0:t.top)||[];b.useEffect(()=>{u(P=>Q6(P,PE(e),r))},[e,r]);async function T(P=m,B=p){const F=++S.current;if(P==="all"&&B==="all"){const G=kE(F,S.current,null);G!==void 0&&h(G);return}const se=new URLSearchParams;P!=="all"&&se.set("status",P),B!=="all"&&se.set("method",B);const ue=await st("/admin/api/donations?"+se.toString());if(ue.auth===!1)return;const he=kE(F,S.current,ue.rows||[]);he!==void 0&&h(he)}b.useEffect(()=>{const P=j.current;P.status==="all"&&P.method==="all"||T(P.status,P.method)},[t]);function R(P){l(!0),u(B=>({...B,...P}))}const O=Math.max(1,...E.map(P=>P.rub)),D=[["День",A==null?void 0:A.day],["Неделя",A==null?void 0:A.week],["Месяц",A==null?void 0:A.month]];return c.jsxs("div",{className:"space-y-4",children:[c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Донаты"})}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:o.enabled,onChange:P=>R({enabled:P.target.checked})}),"Принимать донаты"]}),c.jsxs("div",{className:"flex flex-wrap gap-4 text-sm",children:[c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"checkbox",checked:o.yoomoney,onChange:P=>R({yoomoney:P.target.checked})})," ЮMoney"]}),c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"checkbox",checked:o.stars,onChange:P=>R({stars:P.target.checked})})," Telegram Stars"]}),c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"checkbox",checked:o.crypto,onChange:P=>R({crypto:P.target.checked})})," Crypto Pay"]}),c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"checkbox",checked:o.notifyAll,onChange:P=>R({notifyAll:P.target.checked})})," Уведомлять о каждом"]}),c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"checkbox",checked:o.showAmounts,onChange:P=>R({showAmounts:P.target.checked})})," Суммы в списке благодарностей"]})]}),c.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[c.jsx(Qs,{label:"Кнопки сумм",value:o.amounts,onChange:P=>R({amounts:P})}),c.jsx(Qs,{label:"Минимум, ₽",value:o.minRub,onChange:P=>R({minRub:P})}),c.jsx(Qs,{label:"Максимум, ₽",value:o.maxRub,onChange:P=>R({maxRub:P})}),c.jsx(Qs,{label:"Комментарий, символов",value:o.commentMax,onChange:P=>R({commentMax:P})}),c.jsx(Qs,{label:"₽ за 1 звезду",value:o.rubPerStar,onChange:P=>R({rubPerStar:P})}),c.jsx(Qs,{label:"Порог уведомления, ₽",value:o.notifyMin,onChange:P=>R({notifyMin:P})})]}),c.jsxs("div",{children:[c.jsx(qe,{children:"Текст благодарности"}),c.jsx(Oe,{value:o.thanksText,onChange:P=>R({thanksText:P.target.value})})]}),c.jsx(de,{type:"button",onClick:()=>{const P=o;n("/admin/donate",{enabled:P.enabled?"true":"false",yoomoney:P.yoomoney?"true":"false",stars:P.stars?"true":"false",crypto:P.crypto?"true":"false",notifyAll:P.notifyAll?"true":"false",showAmounts:P.showAmounts?"true":"false",amounts:P.amounts,minRub:P.minRub,maxRub:P.maxRub,commentMax:P.commentMax,thanksText:P.thanksText,rubPerStar:P.rubPerStar,notifyMin:P.notifyMin}).then(B=>{l(J6(w.current,P,W6(B)))})},children:"Сохранить"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:"Пока флаг выключен, бот отвечает, что донат недоступен. Донат не продлевает подписку. Секреты ЮMoney, Stars и Crypto Pay берутся из тех же настроек оплаты."})]})]}),c.jsx("div",{className:"grid gap-3 md:grid-cols-3",children:D.map(([P,B])=>c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:P})}),c.jsxs(xe,{className:"text-sm",children:[c.jsx("div",{children:tm((B==null?void 0:B.sum)||0)}),c.jsxs("div",{className:"text-muted-foreground",children:[(B==null?void 0:B.count)||0," донатов, средний чек ",tm((B==null?void 0:B.average)||0)]})]})]},P))}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"30 дней, МСК"})}),c.jsxs(xe,{children:[c.jsx("div",{className:"flex h-36 items-end gap-px overflow-x-auto",children:E.map(P=>c.jsx("div",{title:P.day+": "+P.rub,className:"flex h-full min-w-[6px] flex-1 flex-col justify-end",children:c.jsx("div",{className:"w-full rounded-sm bg-[#f5b700]",style:{height:Math.max(2,Math.round(P.rub/O*128))+"px"}})},P.day))}),c.jsxs("div",{className:"mt-1 flex justify-between text-xs text-muted-foreground",children:[c.jsx("span",{children:((k=E[0])==null?void 0:k.day)||""}),c.jsx("span",{children:((I=E[E.length-1])==null?void 0:I.day)||""})]})]})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Топ"})}),c.jsx(xe,{className:"text-sm",children:N.length?N.map(P=>c.jsxs("div",{children:[P.who,": ",tm(P.sum)," (",P.count,")"]},P.who+P.sum)):c.jsx("div",{className:"text-muted-foreground",children:"Пока нет оплаченных донатов"})})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Лента"})}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsxs("select",{className:"rounded-md border bg-background px-2 py-1 text-sm",value:m,onChange:P=>{v(P.target.value),T(P.target.value,p)},children:[c.jsx("option",{value:"all",children:"все статусы"}),c.jsx("option",{value:"paid",children:"оплачен"}),c.jsx("option",{value:"pending",children:"ждёт"}),c.jsx("option",{value:"refunded",children:"возврат"})]}),c.jsxs("select",{className:"rounded-md border bg-background px-2 py-1 text-sm",value:p,onChange:P=>{x(P.target.value),T(m,P.target.value)},children:[c.jsx("option",{value:"all",children:"все способы"}),c.jsx("option",{value:"yoomoney",children:"ЮMoney"}),c.jsx("option",{value:"stars",children:"Stars"}),c.jsx("option",{value:"crypto",children:"Crypto Pay"})]}),c.jsx("a",{className:"text-sm text-primary",href:"/admin/donations.csv"+(m!=="all"||p!=="all"?"?"+new URLSearchParams({...m!=="all"?{status:m}:{},...p!=="all"?{method:p}:{}}).toString():""),children:"CSV"})]}),c.jsxs("div",{className:"overflow-x-auto",children:[c.jsxs("table",{className:"w-full text-left text-sm",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"text-muted-foreground",children:[c.jsx("th",{className:"py-1 pr-2",children:"Время"}),c.jsx("th",{className:"py-1 pr-2",children:"Кто"}),c.jsx("th",{className:"py-1 pr-2",children:"Сумма"}),c.jsx("th",{className:"py-1 pr-2",children:"Способ"}),c.jsx("th",{className:"py-1 pr-2",children:"Комментарий"}),c.jsx("th",{className:"py-1 pr-2",children:"Статус"}),c.jsx("th",{className:"py-1",children:"Действия"})]})}),c.jsx("tbody",{children:C.map(P=>c.jsxs("tr",{className:"border-t border-border",children:[c.jsx("td",{className:"py-1 pr-2 whitespace-nowrap",children:P.atText}),c.jsx("td",{className:"py-1 pr-2",children:P.nameHidden?"имя скрыто":P.who||P.telegramId}),c.jsx("td",{className:"py-1 pr-2",children:tm(P.amountRub)}),c.jsx("td",{className:"py-1 pr-2",children:P.method}),c.jsx("td",{className:"py-1 pr-2",children:P.commentHidden?"скрыт":P.comment}),c.jsx("td",{className:"py-1 pr-2",children:P.held&&P.status==="pending"?"ждёт в ЮMoney":e8[P.status]||P.status}),c.jsxs("td",{className:"py-1 space-x-2 whitespace-nowrap",children:[P.held&&P.status==="pending"?c.jsx("button",{type:"button",className:"text-primary",onClick:()=>{window.confirm("Подтвердить удержанный донат? Подписка не продлится.")&&n("/admin/donate/confirm",{id:P.id,confirm:"yes"}).then(()=>T())},children:"Подтвердить"}):null,P.status==="paid"?c.jsx("button",{type:"button",className:"text-primary",onClick:()=>{window.confirm("Отметить возврат? Деньги этой кнопкой не уходят.")&&n("/admin/donate/refund",{id:P.id,confirm:"yes"}).then(()=>T())},children:"Возврат"}):null,c.jsx("button",{type:"button",className:"text-primary",onClick:()=>void n("/admin/donate/hide",{id:P.id,field:"comment"}).then(()=>T()),children:P.commentHidden?"Вернуть комментарий":"Скрыть комментарий"}),c.jsx("button",{type:"button",className:"text-primary",onClick:()=>void n("/admin/donate/hide",{id:P.id,field:"name"}).then(()=>T()),children:P.nameHidden?"Вернуть имя":"Скрыть имя"})]})]},P.id))})]}),C.length?null:c.jsx("div",{className:"py-3 text-sm text-muted-foreground",children:"Пусто"})]})]})]})]})}function Qs({label:e,value:t,onChange:n}){return c.jsxs("label",{className:"block text-sm",children:[c.jsx("span",{className:"mb-1 block text-muted-foreground",children:e}),c.jsx(Oe,{value:t,onChange:r=>n(r.target.value)})]})}function n8(e){const t=new Set(e);let n=1;for(;t.has(n)&&n<1e4;)n+=1;return n}function Yn(e,t){const n=Math.floor(Number(e));return!Number.isFinite(n)||n<0?0:Math.min(t,n)}function r8(e){return e==="balance"?"Баланс":e==="retention"?"Удержание":"Дни"}function i8({csrf:e,settings:t,journal:n,run:r}){const[l,o]=b.useState(t||{}),[u,f]=b.useState(n||[]),[h,m]=b.useState(!1),[v,p]=b.useState(""),[x,S]=b.useState("");b.useEffect(()=>{o(t||{})},[t]),b.useEffect(()=>{f(n||[])},[n]);const w=async(E,N)=>{var R,O;const T={...l,...E};m(!0),p(""),S("");try{const D={settings:T,...N?{cancelId:N}:{}},k=r?await r(D):await Qt("/admin/referral",e,D);if(!k||k.auth===!1||k.ok===!1||(R=k.flash)!=null&&R.error){p(k&&k.flash&&k.flash.error||"Не сохранилось");return}o(T),(O=k.flash)!=null&&O.text&&S(k.flash.text),N&&f(I=>I.map(P=>P.id===N?{...P,status:"cancelled",reason:"manual"}:P))}catch{p("Не сохранилось")}finally{m(!1)}},j=E=>void w({[E]:!l[E]}),C=l.tierList||[],A=E=>void w({tierList:E});return c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Реферальная программа"})}),c.jsxs(xe,{className:"space-y-3 [&_label]:mt-1 [&_label]:block",children:[v?c.jsx("p",{className:"text-sm text-destructive",children:v}):null,x?c.jsx("p",{className:"text-sm",children:x}):null,c.jsx(de,{type:"button",variant:l.enabled?"default":"secondary",disabled:h,onClick:()=>j("enabled"),children:l.enabled?"Программа включена":"Программа выключена"}),c.jsx(qe,{children:"Дни рефереру (0-14)"}),c.jsx(Oe,{defaultValue:String(l.referrerDays??0),onBlur:E=>void w({referrerDays:Yn(E.target.value,14)})}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Базовые дни за первого оплатившего друга. Потолок одного начисления - 14 дней."}),c.jsx(qe,{children:"Бонусные дни другу (0-14)"}),c.jsx(Oe,{defaultValue:String(l.friendDays??0),onBlur:E=>void w({friendDays:Yn(E.target.value,14)})}),c.jsx(qe,{children:"Задержка, дней (0-365)"}),c.jsx(Oe,{defaultValue:String(l.delayDays??7),onBlur:E=>void w({delayDays:Yn(E.target.value,365)})}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Дни, баланс и удержание начисляются только после этой паузы. 0 - сразу после оплаты."}),c.jsx(qe,{children:"Годовой лимит, месяцев (0-120)"}),c.jsx(Oe,{defaultValue:String(l.yearlyCap??12),onBlur:E=>void w({yearlyCap:Yn(E.target.value,120)})}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Сколько месяцев бонусных дней реферер может получить за 365 дней. 0 - без лимита. Месяц считается как 30 дней."}),c.jsx(de,{type:"button",variant:l.balance?"default":"secondary",disabled:h,onClick:()=>j("balance"),children:l.balance?"Процент на баланс включен":"Процент на баланс выключен"}),c.jsx(qe,{children:"Процент от оплаты друга (0-100)"}),c.jsx(Oe,{defaultValue:String(l.balancePercent??0),onBlur:E=>void w({balancePercent:Yn(E.target.value,100)})}),c.jsx(qe,{children:"Максимум за одну оплату, руб (0 - без потолка)"}),c.jsx(Oe,{defaultValue:String(l.balanceMax??0),onBlur:E=>void w({balanceMax:Yn(E.target.value,1e6)})}),c.jsx(qe,{children:"Потолок баланса за календарный месяц, руб (0 - без потолка)"}),c.jsx(Oe,{defaultValue:String(l.balanceMonthlyCap??0),onBlur:E=>void w({balanceMonthlyCap:Yn(E.target.value,1e6)})}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Рубли падают на внутренний баланс подписки и списываются при следующей оплате. Пока переключатель выключен, процент не начисляется. Уровень может поднять процент, если он выше."}),c.jsx(de,{type:"button",variant:l.tiers?"default":"secondary",disabled:h,onClick:()=>j("tiers"),children:l.tiers?"Уровни включены":"Уровни выключены"}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Порог - сколько друзей уже оплатили. Дни уровня заменяют базовые, если они больше, но не больше 14. Процент уровня берется, если он выше процента на баланс. Пустой список ничего не меняет."}),l.tiers?c.jsxs("div",{className:"space-y-2",children:[C.map((E,N)=>c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(Oe,{className:"w-24",defaultValue:String(E.friends),"aria-label":"Друзей",onBlur:T=>{const R=C.slice();R[N]={...E,friends:Yn(T.target.value,1e4)},A(R)}}),c.jsx(Oe,{className:"w-24",defaultValue:String(E.days),"aria-label":"Дней уровня",onBlur:T=>{const R=C.slice();R[N]={...E,days:Yn(T.target.value,14)},A(R)}}),c.jsx(Oe,{className:"w-24",defaultValue:String(E.percent),"aria-label":"Процент уровня",onBlur:T=>{const R=C.slice();R[N]={...E,percent:Yn(T.target.value,100)},A(R)}}),c.jsx(de,{type:"button",variant:"secondary",disabled:h,onClick:()=>A(C.filter((T,R)=>R!==N)),children:"Убрать"})]},E.friends+"-"+N)),c.jsx(de,{type:"button",variant:"secondary",disabled:h,onClick:()=>A(C.concat([{friends:n8(C.map(E=>E.friends)),days:14,percent:0}])),children:"Добавить уровень"})]}):null,c.jsx(de,{type:"button",variant:l.friendDiscount?"default":"secondary",disabled:h,onClick:()=>j("friendDiscount"),children:l.friendDiscount?"Скидка другу включена":"Скидка другу выключена"}),c.jsx(qe,{children:"Скидка, процент (0-100)"}),c.jsx(Oe,{defaultValue:String(l.friendDiscountPercent??0),onBlur:E=>void w({friendDiscountPercent:Yn(E.target.value,100)})}),c.jsx(qe,{children:"Скидка, руб (0 - нет фиксированной суммы)"}),c.jsx(Oe,{defaultValue:String(l.friendDiscountRub??0),onBlur:E=>void w({friendDiscountRub:Yn(E.target.value,1e6)})}),c.jsx(qe,{children:"Срок скидки, дней с привязки (0 - без срока)"}),c.jsx(Oe,{defaultValue:String(l.friendDiscountDays??0),onBlur:E=>void w({friendDiscountDays:Yn(E.target.value,3650)})}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Только первая оплата подписки, и только пока у реферера есть доступ. Процент и рубли складываются. Цена в боте и в приложении берется уже со скидкой и замораживается в заказе."}),c.jsx(de,{type:"button",variant:l.retention?"default":"secondary",disabled:h,onClick:()=>j("retention"),children:l.retention?"Удержание включено":"Удержание выключено"}),c.jsx(qe,{children:"Подряд месяцев (1-36)"}),c.jsx(Oe,{defaultValue:String(l.retentionMonths??3),onBlur:E=>void w({retentionMonths:Math.max(1,Yn(E.target.value,36))})}),c.jsx(qe,{children:"Дней за удержание (0-14)"}),c.jsx(Oe,{defaultValue:String(l.retentionDays??0),onBlur:E=>void w({retentionDays:Yn(E.target.value,14)})}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Месяц - следующая оплата через 27-45 дней. Большой разрыв начинает счет заново. 0 дней - бонус не выдается, даже если переключатель включен."}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Бонус только при активной подписке реферера и оплате друга. Нельзя пригласить себя. Один Telegram или одно устройство - одно приглашение."}),c.jsx("h3",{className:"font-semibold",children:"Журнал"}),u.length===0?c.jsx("p",{className:"text-sm",children:"Начислений нет"}):u.map(E=>c.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[c.jsxs("span",{children:[E.friendId||E.id," · ",r8(E.variant)," · ",E.status," · ",E.days," дн.",E.credit?" · "+E.credit+" ₽":"",E.shortfall?" · "+E.shortfall:""]}),E.status!=="cancelled"?c.jsx(de,{type:"button",variant:"secondary",disabled:h,onClick:()=>void w({},E.id),children:"Отменить"}):null]},E.id))]})]})}const a8=[["all","Все пункты"],["tech","Только техническое"],["user","Только для пользователей"]],l8={phone:"Телефон",tv:"ТВ",lg:"LG",atv:"Android TV"};function o8(e,t,n){const r=[];return e.forEach(l=>{if(!n&&l.beta)return;const o=l.items.filter(u=>t==="all"?!0:t==="tech"?u.tech:!u.tech);o.length&&r.push({...l,items:o})}),r}function s8(e){return e.unreleased?"Не выпущено":e.version}const u8="h-10 rounded-md border border-input bg-secondary px-3 text-sm text-foreground",IE=12;function c8(){const[e,t]=b.useState(null),[n,r]=b.useState("ru"),[l,o]=b.useState("all"),[u,f]=b.useState(!1),[h,m]=b.useState(IE),[v,p]=b.useState("");b.useEffect(()=>{let j=!1;return st("/admin/api/changelog").then(C=>{if(!j){if(C.auth===!1){p("Нужен вход");return}t(C)}}).catch(C=>{j||p(C instanceof Error?C.message:"Не удалось загрузить")}),()=>{j=!0}},[]);const x=e?n==="en"&&(e.en||[]).length?e.en||[]:e.ru||[]:[],S=o8(x,l,u),w=x.reduce((j,C)=>j+C.items.filter(A=>A.tech).length,0);return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Изменения"}),c.jsxs(mt,{children:["Полный CHANGELOG из main на GitHub. Пункты ",c.jsx("code",{children:"[tech]"})," видны только здесь: в приложении, релизе и Telegram их нет."]})]}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("select",{className:u8,value:l,"aria-label":"Какие пункты",onChange:j=>o(j.target.value),children:a8.map(([j,C])=>c.jsx("option",{value:j,children:C},j))}),c.jsxs("div",{className:"flex gap-1",role:"group","aria-label":"Язык",children:[c.jsx(de,{size:"sm",variant:n==="ru"?"default":"secondary",onClick:()=>r("ru"),children:"RU"}),c.jsx(de,{size:"sm",variant:n==="en"?"default":"secondary",onClick:()=>r("en"),disabled:!e||!(e.en||[]).length,children:"EN"})]}),c.jsxs("label",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[c.jsx("input",{type:"checkbox",checked:u,onChange:j=>f(j.target.checked)}),"Бета-версии"]}),e!=null&&e.ok?c.jsxs("span",{className:"ml-auto text-xs text-muted-foreground",children:[w," тех. пунктов · загружено ",c.jsx(ht,{ms:n==="en"?e.enFetchedAt:e.fetchedAt})]}):null]}),v?c.jsx(Bt,{variant:"destructive",children:v}):null,e&&!e.ok?c.jsxs(Bt,{variant:"destructive",children:["GitHub не ответил",e.error?": "+e.error:"",". Попробуйте позже."]}):null,e!=null&&e.ok&&e.stale?c.jsxs(Bt,{variant:"warn",children:["Показана сохранённая копия: GitHub не ответил",e.error?" ("+e.error+")":"","."]}):null,e!=null&&e.ok&&n==="en"&&e.enStale?c.jsxs(Bt,{variant:"warn",children:["Английский текст из сохранённой копии",e.enFetchedAt?"":" (не загружался)",": CHANGELOG.en.md не ответил",e.enError?" ("+e.enError+")":"","."]}):null,e===null&&!v?c.jsx(an,{className:"h-24"}):e!=null&&e.ok&&S.length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Пунктов нет"}):c.jsxs("div",{className:"space-y-4",children:[S.slice(0,h).map(j=>c.jsxs("section",{className:"space-y-2",children:[c.jsxs("h3",{className:"flex flex-wrap items-center gap-2 text-base font-semibold",children:[s8(j),j.unreleased?c.jsx(Ne,{variant:"warn",children:"не в релизе"}):null,j.beta?c.jsx(Ne,{variant:"secondary",children:"бета"}):null]}),c.jsx("ul",{className:"space-y-1 text-sm",children:j.items.map((C,A)=>c.jsxs("li",{className:"flex items-start gap-2 rounded-md px-2 py-1 "+(C.tech?"border-l-2 border-amber-500 bg-amber-950/30":"border-l-2 border-transparent"),children:[C.tech?c.jsx(Ne,{variant:"warn",className:"shrink-0",children:"tech"}):null,C.platform?c.jsx(Ne,{variant:"secondary",className:"shrink-0",children:l8[C.platform]||C.platform}):null,c.jsx("span",{className:"min-w-0 flex-1 "+(C.tech?"text-amber-100":""),children:C.text})]},A))})]},j.version)),S.length>h?c.jsxs(de,{variant:"secondary",onClick:()=>m(j=>j+IE),children:["Показать ещё (",S.length-h,")"]}):null]})]})]})}const VM="omp-admin-monitor-view",zE={filter:"all",sort:"status",desc:!1,q:"",open:{}},V0={all:"Все",errors:"Только ошибки",noalert:"Без алерта",code:"Просит код"},G0={status:"Статус",name:"Название",ms:"Время ответа",time:"Время проверки"};function f8(e){try{const t=e?e.getItem(VM):null;if(!t)return{...zE,open:{}};const n=JSON.parse(t),r={};if(n.open&&typeof n.open=="object")for(const[l,o]of Object.entries(n.open))typeof o=="boolean"&&/^[a-z]{1,20}$/.test(l)&&(r[l]=o);return{filter:n.filter&&n.filter in V0?n.filter:"all",sort:n.sort&&n.sort in G0?n.sort:"status",desc:n.desc===!0,q:typeof n.q=="string"?n.q.slice(0,100):"",open:r}}catch{return{...zE,open:{}}}}function d8(e,t){try{e&&e.setItem(VM,JSON.stringify(t))}catch{}}function h8(e){const t=[],n=new Map;for(const r of e){const l=/^(.*):(direct|warp|site)$/.exec(r.id),o=l?l[1]:r.path==="jackett"?r.id:"";if(!o){t.push({key:r.id,kind:"check",name:r.name,target:r.target||"",checks:[r],check:r});continue}let u=n.get(o);u||(u={key:o,kind:"tracker",name:r.name,target:"",checks:[]},n.set(o,u),t.push(u)),u.checks.push(r),r.target&&!u.target&&r.path!=="jackett"&&(u.target=r.target),r.path==="jackett"?u.search=r:l&&l[2]==="direct"?u.direct=r:l&&l[2]==="warp"?u.warp=r:u.site=r}return t}function q0(e){return e.checks.some(t=>t.ok===!1)?!1:e.checks.some(t=>t.ok===!0)?!0:null}const _1=e=>e.ok===!0&&!!e.warn;function GM(e){const t=q0(e);return t===!1?"red":t===null?"none":e.checks.some(_1)?"yellow":"green"}function m8(e){const t=e%10,n=e%100,r=t===1&&n!==11?"жёлтая":t>=2&&t<=4&&(n<12||n>14)?"жёлтые":"жёлтых";return e+" "+r}const v8={red:0,yellow:1,none:2,green:3},LE=e=>v8[GM(e)],UE=e=>Math.max(0,...e.checks.map(t=>Number(t.ms)||0)),$E=e=>Math.max(0,...e.checks.map(t=>Number(t.at)||0));function g8(e,t){const n=e.checks.filter(r=>r.ok===!1);return t==="errors"?n.length>0:t==="code"?e.checks.some(_1):t==="noalert"?n.length>0&&n.every(r=>!r.alert):!0}function p8(e,t){const n=t.trim().toLowerCase();return n?[e.name,e.target,e.key,...e.checks.map(l=>l.detail)].join(" ").toLowerCase().includes(n):!0}function y8(e,t,n){const r=(o,u)=>o.name.localeCompare(u.name,"ru"),l=(o,u)=>t==="name"?r(o,u):t==="ms"?UE(o)-UE(u)||r(o,u):t==="time"?$E(o)-$E(u)||r(o,u):LE(o)-LE(u)||r(o,u);return e.map((o,u)=>({it:o,i:u})).sort((o,u)=>(n?-l(o.it,u.it):l(o.it,u.it))||o.i-u.i).map(o=>o.it)}function x8(e,t,n){const r=n.filter!=="all"||!!n.q.trim(),l=[];e.forEach(u=>{const f=t.filter(C=>C.group===u.id);if(!f.length)return;const h=h8(f),m=f.filter(C=>C.ok===!1).length,v=y8(h.filter(C=>g8(C,n.filter)&&p8(C,n.q)),n.sort,n.desc);if(r&&!v.length)return;const p=n.open[u.id],x=h.filter(C=>q0(C)===!0).length,S=h.filter(C=>q0(C)===null).length,w=h.filter(C=>GM(C)==="yellow").length,j=r?!1:p===void 0?x===h.length:!p;l.push({id:u.id,title:u.title,total:h.length,okCount:x,warned:w,skipped:S,failed:m,folded:j,items:v})});const o=new Map(e.map((u,f)=>[u.id,f]));return l.sort((u,f)=>(u.failed?0:1)-(f.failed?0:1)||(o.get(u.id)||0)-(o.get(f.id)||0))}const b8={queued:"в очереди",running:"проверяется",retry:"ждёт повтора",done:"готово"},qM=b.createContext({states:{},running:!1,pending:[],recheck:()=>{}});function K0({ids:e,red:t,recheckIds:n}){const r=n||e,l=b.useContext(qM),o=e.map(f=>l.states[f]).filter(Boolean),u=r.some(f=>l.pending.includes(f));if(l.running&&o.length){const f=o.includes("running")?"running":o.includes("retry")?"retry":o.includes("queued")?"queued":"done";return c.jsxs(Ne,{variant:f==="done"?"ok":f==="retry"?"warn":"secondary",className:"ml-2 align-middle","data-row-state":f,children:[f==="running"?c.jsx("span",{className:"mr-1 inline-block h-2 w-2 animate-spin rounded-full border border-current border-t-transparent"}):null,b8[f]]})}return!t||!r.length?null:c.jsxs(de,{type:"button",size:"sm",variant:"outline",className:"ml-2 h-7 px-2 text-xs",disabled:l.running||u,title:l.running?"Идёт проверка, дождитесь конца":"Проверить заново только эту строку",onClick:()=>l.recheck(r),"data-recheck":r.join(","),children:[u?c.jsx("span",{className:"mr-1 inline-block h-2 w-2 animate-spin rounded-full border border-current border-t-transparent"}):null,"Перепроверить"]})}const BE={direct:"напрямую",warp:"через WARP",jackett:"через Jackett",internal:"внутр. сеть"};function A1({ok:e,alerted:t,warn:n}){return e===!0&&n?c.jsx(Ne,{variant:"warn","data-status":"code",title:"Сайт отвечает страницей с капчей или проверкой на робота. Человек откроет, алерта нет.",children:"Просит код"}):e===!0?c.jsx(Ne,{variant:"ok",children:"ок"}):e===!1?c.jsx(Ne,{variant:"bad",children:t?"ошибка · в Telegram":"ошибка"}):c.jsx(Ne,{variant:"secondary",children:"-"})}function Y0({strip:e,uptime:t}){return c.jsxs("div",{className:"flex items-center gap-2",title:"7 дней, по часам: зелёный - всё ок, красный - была ошибка, серый - нет данных",children:[c.jsx("div",{className:"flex h-3.5 items-stretch overflow-hidden rounded-sm","data-testid":"history-strip",children:e.split("").map((n,r)=>c.jsx("span",{className:"w-[2px] "+(n==="g"?"bg-emerald-600":n==="r"?"bg-red-600":"bg-zinc-800")},r))}),c.jsx("span",{className:"w-12 text-right text-xs text-muted-foreground",children:t==null?"-":t+"%"})]})}function KM({path:e}){return!e||!BE[e]?null:c.jsx(Ne,{variant:"secondary",className:"ml-2 align-middle",children:BE[e]})}function $m(e){return new Date(e).toLocaleTimeString("ru-RU",{timeZone:"Europe/Moscow",hour12:!1})}function YM({row:e}){return e?c.jsxs("span",{className:"text-xs",children:[e.detail||"-",e.ms?c.jsxs("span",{className:"text-muted-foreground",children:[" · ",e.ms," мс"]}):null,e.at?c.jsxs("span",{className:"text-muted-foreground",children:[" · ",$m(e.at)]}):null,e.retried&&e.ok===!1?c.jsx("span",{className:"text-muted-foreground",children:" · повтор через 30 с"}):null,!e.alert&&e.ok===!1?c.jsx("span",{className:"text-muted-foreground",children:" · без алерта"}):null]}):c.jsx("span",{className:"text-muted-foreground",children:"-"})}function HE(){try{return typeof window>"u"?null:window.localStorage}catch{return null}}function S8({rows:e}){return c.jsxs(Jn,{children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{className:"w-28",children:"Статус"}),c.jsx(Se,{children:"Проверка"}),c.jsx(Se,{children:"Результат"}),c.jsx(Se,{className:"w-[240px]",children:"7 дней"})]})}),c.jsx(tr,{children:e.map(t=>c.jsxs(Ke,{"data-check":t.id,children:[c.jsx(me,{children:c.jsx(A1,{ok:t.ok,alerted:t.alerted,warn:t.warn})}),c.jsxs(me,{className:"font-medium",children:[t.name,t.group==="containers"?null:c.jsx(KM,{path:t.path}),c.jsx(K0,{ids:[t.id],red:t.ok===!1})]}),c.jsxs(me,{children:[c.jsx(YM,{row:t}),t.context?c.jsx("div",{className:"text-xs text-muted-foreground",children:t.context}):null]}),c.jsx(me,{children:c.jsx(Y0,{strip:t.history,uptime:t.uptime})})]},t.id))})]})}function Sx({row:e}){return e?c.jsxs("div",{className:"space-y-1",children:[c.jsx(A1,{ok:e.ok,alerted:e.alerted,warn:e.warn}),c.jsxs("div",{className:"max-w-[260px] text-xs text-muted-foreground",children:[e.detail,e.ms?" · "+e.ms+" мс":"",e.at?" · "+$m(e.at):""]})]}):c.jsx("span",{className:"text-xs text-muted-foreground",children:"-"})}function w8({rows:e,withSearch:t}){return c.jsxs(Jn,{children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Трекер"}),t?c.jsx(Se,{children:"Поиск через Jackett"}):null,c.jsx(Se,{children:"Сайт напрямую"}),c.jsx(Se,{children:"Сайт через WARP"}),c.jsx(Se,{className:"w-[240px]",children:"7 дней"})]})}),c.jsx(tr,{children:e.map(n=>{if(n.kind==="check"&&n.check){const l=n.check;return c.jsxs(Ke,{"data-check":l.id,children:[c.jsxs(me,{className:"font-medium",children:[l.name,c.jsx(KM,{path:l.path}),c.jsx(K0,{ids:[l.id],red:l.ok===!1})]}),c.jsxs(me,{colSpan:t?3:2,children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(A1,{ok:l.ok,alerted:l.alerted,warn:l.warn}),c.jsx(YM,{row:l})]}),l.context?c.jsx("div",{className:"text-xs text-muted-foreground",children:l.context}):null]}),c.jsx(me,{children:c.jsx(Y0,{strip:l.history,uptime:l.uptime})})]},n.key)}const r=n.search||n.warp||n.direct||n.site;return c.jsxs(Ke,{"data-check":n.key,children:[c.jsxs(me,{className:"font-medium",children:[n.name,c.jsx(K0,{ids:n.checks.map(l=>l.id),red:n.checks.some(l=>l.ok===!1),recheckIds:n.checks.filter(l=>l.ok===!1).map(l=>l.id)}),n.target?c.jsx("div",{className:"text-xs text-muted-foreground",children:n.target}):null]}),t?c.jsx(me,{children:c.jsx(Sx,{row:n.search})}):null,c.jsx(me,{children:n.site?c.jsx("span",{className:"text-xs text-muted-foreground",children:n.site.detail}):c.jsx(Sx,{row:n.direct})}),c.jsx(me,{children:n.site?null:c.jsx(Sx,{row:n.warp})}),c.jsx(me,{children:r?c.jsx(Y0,{strip:r.history,uptime:r.uptime}):null})]},n.key)})})]})}function j8({view:e,onToggle:t}){const{id:n,title:r,items:l,failed:o}=e,u=n==="jackett"||n==="jacred",f=r+" "+e.okCount+"/"+e.total+(e.warned?", "+m8(e.warned):"")+(e.skipped?", не проверено: "+e.skipped:""),h=o?c.jsxs(Ne,{variant:"bad",children:["ошибок: ",o]}):e.warned?c.jsxs(Ne,{variant:"warn",children:["просит код: ",e.warned]}):e.skipped?c.jsxs(Ne,{variant:"warn",children:["не проверено: ",e.skipped]}):c.jsx(Ne,{variant:"ok",children:"всё ок"});if(e.folded)return c.jsx(ye,{"data-group":n,"data-folded":"1",children:c.jsxs("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-6 py-4 text-left",onClick:()=>t(n,!0),"aria-expanded":!1,children:[c.jsxs("span",{className:"font-semibold",children:[c.jsx("span",{className:"mr-2 text-muted-foreground",children:"▸"}),f]}),h]})});const m=l.some(p=>p.kind==="tracker"),v=l.map(p=>p.check);return c.jsxs(ye,{"data-group":n,children:[c.jsxs(Te,{className:"flex flex-row flex-wrap items-center justify-between gap-2",children:[c.jsx("button",{type:"button",className:"text-left",onClick:()=>t(n,!1),"aria-expanded":!0,children:c.jsxs(Re,{children:[c.jsx("span",{className:"mr-2 text-muted-foreground",children:"▾"}),f]})}),h]}),c.jsxs(xe,{className:"space-y-3",children:[m?c.jsx(w8,{rows:l,withSearch:n==="jackett"}):l.length?c.jsx(S8,{rows:v}):null,u?c.jsx("p",{className:"text-xs text-muted-foreground",children:n==="jackett"?"Поиск через Jackett - тот путь, которым идут пользователи (Jackett сам ходит через WARP и FlareSolverr). Сайт напрямую и через WARP показывает, какой путь закрыт. Алерт: поиск не работает, или сайт не открывается ни напрямую, ни через WARP.":"JacRed берёт базу с sync.jacred.stream, сам на трекеры не ходит. Строки трекеров показывают, открывается ли сайт напрямую и через WARP; алерт - только если ни так, ни так."}):null]})]})}const C8="h-10 rounded-md border border-input bg-secondary px-3 text-sm text-foreground";function _8({prefs:e,setPrefs:t,shown:n}){return c.jsx(ye,{children:c.jsxs(xe,{className:"flex flex-wrap items-end gap-3 pt-6",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{children:"Показать"}),c.jsx("div",{className:"flex gap-1",role:"group","aria-label":"Фильтр",children:Object.keys(V0).map(r=>c.jsx(de,{type:"button",size:"sm",className:"h-10",variant:e.filter===r?"default":"outline","aria-pressed":e.filter===r,title:r==="noalert"?"Красные строки, по которым алерт не уходит (например, сайт закрыт только напрямую)":void 0,onClick:()=>t({...e,filter:r}),children:V0[r]},r))})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:"monitorSearch",children:"Поиск"}),c.jsx(Oe,{id:"monitorSearch",className:"w-56",placeholder:"название, адрес, ошибка",value:e.q,onChange:r=>t({...e,q:r.target.value})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:"monitorSort",children:"Сортировка"}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("select",{id:"monitorSort",className:C8,value:e.sort,onChange:r=>t({...e,sort:r.target.value}),children:Object.keys(G0).map(r=>c.jsx("option",{value:r,children:G0[r]},r))}),c.jsx(de,{type:"button",variant:"outline",className:"w-10 px-0",title:e.desc?"По убыванию":"По возрастанию","aria-label":e.desc?"По убыванию":"По возрастанию",onClick:()=>t({...e,desc:!e.desc}),children:e.desc?"↓":"↑"})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:["Строк: ",n]})]})})}function A8({data:e,busy:t,interval:n,setInterval:r,onRun:l,onRecheck:o,onSave:u,prefs:f,setPrefs:h,onRowRecheck:m,pending:v}){const p=!!(e!=null&&e.running),x=(e==null?void 0:e.checks)||[],S=x.filter(R=>R.ok===!1).length,w=new Set(x.filter(_1).map(R=>R.id.replace(/:(direct|warp|site)$/,""))).size,j=x8((e==null?void 0:e.groups)||[],x,f),C=j.reduce((R,O)=>R+(O.folded?0:O.items.length),0),A=p&&(e==null?void 0:e.progress)||null,E=p?null:(e==null?void 0:e.lastSummary)||null,N=R=>{var O;return((O=x.find(D=>D.id===R))==null?void 0:O.name)||R},T={states:(A==null?void 0:A.states)||{},running:p,pending:v||[],recheck:m||(()=>{})};return c.jsx(qM.Provider,{value:T,children:c.jsxs("div",{className:"space-y-4",children:[c.jsxs(ye,{children:[c.jsxs(Te,{className:"flex flex-row flex-wrap items-start justify-between gap-3",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(Re,{children:"Мониторинг"}),c.jsxs(mt,{children:[e!=null&&e.lastRun?"Последняя проверка: "+Li(e.lastRun.finishedAt)+(e.lastRun.trigger==="manual"?" (вручную)":e.lastRun.trigger==="recheck"?" (перепроверка)":"")+".":"Проверок ещё не было.",e!=null&&e.scheduled&&(e!=null&&e.nextRunAt)?" Следующая около "+Li(e.nextRunAt)+".":"",e&&!e.scheduled?" Расписание на этом экземпляре выключено, работает только ручная проверка.":""]}),c.jsx(mt,{children:"Перед алертом упавшая проверка повторяется через 30 с. Алерт приходит в Telegram один раз на проблему и ещё раз, когда починилось."})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[x.length?S?c.jsxs(Ne,{variant:"bad",children:["ошибок: ",S]}):c.jsx(Ne,{variant:"ok",children:"всё ок"}):null,w?c.jsxs(Ne,{variant:"warn",title:"Сайты, которые отвечают капчей или проверкой на робота (без алерта)",children:["просит код: ",w]}):null,c.jsx(de,{type:"button",disabled:t||p,onClick:l,children:p?"Проверка идёт…":"Проверить сейчас"}),S?c.jsx(de,{type:"button",variant:"secondary",disabled:t||p,onClick:o,title:"Запустить заново только красные проверки, остальные сохраняют последний результат",children:"Перепроверить все ошибки"}):null]})]}),c.jsxs(xe,{className:"space-y-3",children:[A?c.jsxs("div",{className:"space-y-1","data-testid":"monitor-progress",children:[c.jsxs("div",{className:"text-sm",children:["Проверка идёт: ",A.done," из ",A.total,", начата ",$m(A.startedAt)," МСК",A.trigger==="recheck"?" (перепроверка)":"",Object.values(A.states).includes("retry")?", ждёт повтора: "+Object.values(A.states).filter(R=>R==="retry").length:""]}),c.jsx("div",{className:"h-2 w-full max-w-md overflow-hidden rounded bg-zinc-800",children:c.jsx("div",{className:"h-full bg-amber-500 transition-all",style:{width:Math.round(100*A.done/Math.max(1,A.total))+"%"}})})]}):null,E?c.jsxs("div",{className:"text-sm text-muted-foreground","data-testid":"monitor-summary",children:["Готово в ",$m(E.finishedAt)," МСК",E.ids?" ("+E.ids.map(N).join(", ")+")":E.trigger==="recheck"?" (перепроверка ошибок)":"",": проверено ",E.checked,", ошибок ",E.failed,E.retried?", повторено через 30 с: "+E.retried:"",", заняло ",Math.max(1,Math.round((E.finishedAt-E.startedAt)/1e3))," с."]}):null,c.jsxs("form",{className:"flex flex-wrap items-end gap-2",onSubmit:R=>{R.preventDefault(),u()},children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:"monitorInterval",children:"Интервал, минут (5-1440)"}),c.jsx(Oe,{id:"monitorInterval",className:"w-32",inputMode:"numeric",value:n,onChange:R=>r(R.target.value)})]}),c.jsx(de,{type:"submit",variant:"secondary",disabled:t,children:"Сохранить"})]})]})]}),e!=null&&e.error?c.jsx(Bt,{variant:"destructive",children:e.error==="read_only"?"Сервер в режиме только чтения: мониторинг не работает.":"Мониторинг недоступен на этом экземпляре."}):null,!e&&t?c.jsx(an,{className:"h-40"}):null,x.length?c.jsx(_8,{prefs:f,setPrefs:h,shown:C}):null,x.length&&!j.length?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Ничего не найдено."}):null,j.map(R=>c.jsx(j8,{view:R,onToggle:(O,D)=>h({...f,open:{...f.open,[O]:D}})},R.id))]})})}function E8({csrf:e}){const[t,n]=b.useState(null),[r,l]=b.useState(!1),[o,u]=b.useState(""),[f,h]=b.useState(""),m=b.useRef(!1),[v,p]=b.useState([]),[x,S]=b.useState(()=>f8(HE())),w=N=>{S(N),d8(HE(),N)};async function j(){let N;try{N=await st("/admin/api/monitor")}catch{return h("Нет связи с сервером"),null}if(N.auth===!1)return h("Нужен вход"),null;if(!N.ok)return h(N.error==="read_only"?"Этот экземпляр только для чтения, мониторинг здесь не работает":"Мониторинг недоступен"),null;if(h(""),n(N),u(T=>T||String(N.intervalMin||"")),m.current&&!N.running){const T=N.lastSummary;dt(T?"Проверка завершена: проверено "+T.checked+", ошибок "+T.failed+(T.retried?", повторено через 30 с: "+T.retried:"")+", заняло "+Math.max(1,Math.round((T.finishedAt-T.startedAt)/1e3))+" с":"Проверка завершена")}return N.running||p([]),m.current=!!N.running,N}b.useEffect(()=>{l(!0),j().finally(()=>l(!1))},[]),b.useEffect(()=>{const N=window.setInterval(()=>void j(),t!=null&&t.running?3e3:6e4);return()=>window.clearInterval(N)},[t==null?void 0:t.running]);async function C(N=!1){l(!0);try{const T=await Qt("/admin/monitor/run",e,N?{only:"failed"}:{});if(T.auth===!1)return h("Нужен вход");if(!T.ok){dt(T.error||"Не запущено, обновите страницу");return}dt(N?"Перепроверяю красные проверки":"Проверка запущена, займёт до нескольких минут"),m.current=!0,await j()}catch{dt("Нет связи с сервером")}finally{l(!1)}}async function A(N){p(N);try{const T=await Qt("/admin/monitor/run",e,{ids:N});if(T.auth===!1)return h("Нужен вход");if(!T.ok){p([]),dt(T.error||"Не запущено, обновите страницу");return}m.current=!0,await j()}catch{p([]),dt("Нет связи с сервером")}}async function E(){l(!0);try{const N=await Qt("/admin/monitor/config",e,{intervalMin:o});if(N.auth===!1)return h("Нужен вход");N.ok?(dt("Интервал: "+N.intervalMin+" мин"),u(String(N.intervalMin)),await j()):dt(N.error||"Не сохранено")}catch{dt("Нет связи с сервером")}finally{l(!1)}}return c.jsxs(c.Fragment,{children:[f?c.jsx(Bt,{variant:"destructive",children:f}):null,c.jsx(A8,{data:t,busy:r,interval:o,setInterval:u,onRun:()=>void C(),onRecheck:()=>void C(!0),onSave:()=>void E(),prefs:x,setPrefs:w,onRowRecheck:N=>void A(N),pending:v})]})}function O8(){let e=0;return{next(){return e+=1,e},isCurrent(t){return t===e}}}function N8(e){if(e.auth===!1)return"Нужен вход";const t=e.ms||0;return e.reason==="probe_rate"?"лимит проверки - это лимит кнопки, не сбой DHT":e.reason==="sidecar_rate"?"sidecar занят (429) - это лимит sidecar, не лимит кнопки":e.ok||e.reason==="ok"?"ок, пиров "+(e.peers||0)+", "+t+" мс":e.reason==="not_ready"?"проверка: DHT еще не поднялся ("+t+" мс)":e.reason==="disabled"?"проверка: sidecar выключен ("+t+" мс)":e.reason==="down"?"проверка: sidecar не ответил ("+t+" мс)":e.error==="rate"||e.status===429?"лимит проверки - это лимит кнопки, не сбой DHT":e.status===503?"проверка: sidecar выключен ("+t+" мс)":"проверка не прошла ("+(e.status||0)+", "+t+" мс)"}const T8=2e4;function R8(e){return e==null||e<0?"":e>=1024*1024?Math.round(e/(1024*1024)*10)/10+" МБ":Math.max(1,Math.round(e/1024))+" КБ"}function M8(e){const t=e.sidecar;return!e.configured&&!(t&&t.configured)?c.jsx(Ne,{variant:"secondary",children:"не настроен"}):t&&t.ok?c.jsxs(Ne,{variant:"ok",children:["доступен · ",t.latencyMs||0," мс"]}):c.jsx(Ne,{variant:"bad",children:"не отвечает"})}function D8(e){return e==="up"?"сокет открыт":e==="idle"?"сокет закрыт":""}function P8(e){const t=e&&typeof e.perMinute=="number"?e.perMinute:30;return t<=0?"лимит выключен (0 в настройках)":t+" запросов в минуту на устройство"}function FE({rows:e,field:t,label:n,color:r}){const l=Math.max(1,...e.map(f=>f[t])),o=e[0]?Li(e[0].t):"",u=e.length?Li(e[e.length-1].t):"";return c.jsxs("div",{children:[c.jsx("div",{className:"mb-2 text-sm text-muted-foreground",children:n}),c.jsx("div",{className:"flex h-36 items-end gap-px overflow-x-auto",children:e.map(f=>c.jsx("div",{title:Li(f.t)+": "+f[t],className:"flex h-full min-w-[4px] flex-1 flex-col justify-end",children:c.jsx("div",{className:"w-full rounded-sm",style:{height:Math.max(2,Math.round(f[t]/l*128))+"px",background:r}})},t+":"+f.t))}),c.jsxs("div",{className:"mt-1 flex justify-between text-xs text-muted-foreground",children:[c.jsx("span",{children:o}),c.jsx("span",{children:u})]})]})}function k8({csrf:e}){const[t,n]=b.useState(null),[r,l]=b.useState(""),[o,u]=b.useState(null),[f,h]=b.useState(!1),m=b.useRef(O8()),v=b.useCallback(()=>{const N=m.current.next();return st("/admin/api/dht").then(T=>{if(m.current.isCurrent(N)){if(T.auth===!1){l("Нужен вход");return}l(""),n(T)}}).catch(T=>{m.current.isCurrent(N)&&l(T instanceof Error?T.message:"Не удалось загрузить DHT")})},[]);b.useEffect(()=>{v();const N=window.setInterval(()=>void v(),T8);return()=>{m.current.next(),window.clearInterval(N)}},[v]);async function p(){h(!0);try{const N=await st("/admin/api/dht/probe",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({csrf:e})});u(N),await v()}catch(N){u({ok:!1,error:N instanceof Error?N.message:"проверка"})}finally{h(!1)}}const x=t&&t.stats||{},S=x.requests24h||0,w=x.withPeers24h||0,j=x.errors||[],C=x.series||[],A=t&&t.sidecar?R8(t.sidecar.rss):"",E=t&&t.sidecar&&t.sidecar.ok?D8(t.sidecar.dht):"";return c.jsxs("div",{className:"space-y-4",children:[c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[c.jsx(Re,{children:"DHT"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(de,{type:"button",size:"sm",variant:"secondary",onClick:()=>void v(),children:"Обновить"}),c.jsx(de,{type:"button",size:"sm",disabled:!e||f,onClick:()=>void p(),children:f?"Проверка...":"Проверить DHT"})]})]})}),c.jsxs(xe,{className:"space-y-3 text-sm",children:[r?c.jsx("p",{className:"text-destructive",children:r}):null,!t&&!r?c.jsx("p",{className:"text-muted-foreground",children:"Загрузка..."}):null,t?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("span",{children:"omp-dht-peers"}),M8(t),E?c.jsx("span",{className:"text-muted-foreground",children:E}):null,A?c.jsxs("span",{className:"text-muted-foreground",children:["память ",A]}):null]}),c.jsxs("p",{className:"text-muted-foreground",children:["Лимит: ",P8(t.limit),". Меняется в «Настройках». Обновление само, раз в 20 с."]}),o?c.jsx("p",{children:N8(o)}):null,c.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[c.jsxs("div",{children:[c.jsx("div",{className:"text-muted-foreground",children:"Запросов за 24 ч"}),c.jsx("div",{className:"text-lg font-semibold",children:S})]}),c.jsxs("div",{children:[c.jsx("div",{className:"text-muted-foreground",children:"С пирами"}),c.jsx("div",{className:"text-lg font-semibold",children:S?x.peersSharePct+"% ("+w+" из "+S+")":"нет запросов"}),c.jsxs("div",{className:"text-muted-foreground",children:["Ошибок за 24 ч: ",x.errors24h||0," (4xx ",x.errors4xx24h||0,", 5xx ",x.errors5xx24h||0,")"]})]}),c.jsxs("div",{children:[c.jsx("div",{className:"text-muted-foreground",children:"Среднее время"}),c.jsx("div",{className:"text-lg font-semibold",children:S?(x.avgMs||0)+" мс":"-"})]}),c.jsxs("div",{children:[c.jsx("div",{className:"text-muted-foreground",children:"p50 / p95 за 24 ч"}),c.jsx("div",{className:"text-lg font-semibold",children:S?(x.p50Ms||0)+" / "+(x.p95Ms||0)+" мс":"-"})]})]}),c.jsx(FE,{rows:C,field:"requests",label:"Запросы за 24 ч, слот 10 мин",color:"#f5b700"}),c.jsx(FE,{rows:C,field:"errors",label:"Ошибки за 24 ч, слот 10 мин",color:"#e11d48"}),c.jsx("p",{className:"text-muted-foreground",children:"429 и причина «лимит» - это лимит биллинга на запросы с устройства, а не сбой сети DHT. Панель не показывает названия торрентов и infohash. Счетчики за 24 часа лежат в Postgres и остаются после перезапуска. Токен, id устройства и infohash по-прежнему не пишутся. «Проверить DHT» зовет sidecar с постоянным тестовым хешем из нулей (это не торрент пользователя) и тоже попадает в счетчики. В таблице ошибок у такой проверки причина «проверка», без самого хеша."})]}):null]})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Последние ошибки"})}),j.length===0?c.jsx(xe,{className:"text-sm text-muted-foreground",children:"Ошибок нет"}):c.jsxs(Jn,{children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Время"}),c.jsx(Se,{children:"Код"}),c.jsx(Se,{children:"Причина"})]})}),c.jsx(tr,{children:j.map((N,T)=>c.jsxs(Ke,{children:[c.jsx(me,{children:Li(N.at)}),c.jsx(me,{children:N.status}),c.jsx(me,{children:N.reason})]},N.at+":"+T))})]})]})]})}const Br="space-y-1";function wx(e){if(!e)return"0";const t=e/(1024*1024*1024);return(Math.round(t*10)/10).toString()}function I8(e){return e?Math.round(e/(1024*1024))+" МБ":"0 МБ"}function z8(e){return e.status==="disabled"?c.jsx(Ne,{variant:"secondary",children:"выключен"}):e.status==="online"?c.jsx(Ne,{variant:"ok",children:"онлайн"}):c.jsx(Ne,{variant:"bad",children:"нет ответа"})}async function L8(e,t,n){return st(e,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({csrf:t,...n})})}function U8({csrf:e}){const[t,n]=b.useState(null),[r,l]=b.useState(""),[o,u]=b.useState(""),[f,h]=b.useState(""),[m,v]=b.useState(""),[p,x]=b.useState(""),[S,w]=b.useState("500"),[j,C]=b.useState("0"),[A,E]=b.useState("0"),[N,T]=b.useState("512"),[R,O]=b.useState("0"),[D,k]=b.useState(""),[I,P]=b.useState(""),[B,F]=b.useState(""),[se,ue]=b.useState("");async function he(){const U=await st("/admin/api/cache");U.auth!==!1&&(n(U),U.prefixMb!==void 0&&T(String(U.prefixMb)),U.prefixPercent!==void 0&&O(String(U.prefixPercent)))}b.useEffect(()=>{he()},[]);async function G(U,Ee){u("");const ee=await L8(U,(t==null?void 0:t.csrf)||e,Ee);ee.auth!==!1&&(ee.token&&l(ee.token),ee.error&&u(ee.error),await he())}const ne=(t==null?void 0:t.enabled)===!0,ie=(t==null?void 0:t.nodes)||[],ce=(t==null?void 0:t.assignments)||[];return c.jsxs("div",{className:"space-y-4",children:[c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Кэш популярных раздач"}),c.jsx(mt,{children:"Узлы держат начало популярных раздач, чтобы воспроизведение начиналось сразу. Пока переключатель выключен, приложение и расчет ничего не меняют."})]}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[ne?c.jsx(Ne,{variant:"ok",children:"включено"}):c.jsx(Ne,{variant:"secondary",children:"выключено"}),c.jsx(de,{variant:ne?"secondary":"default",onClick:()=>void G("/admin/cache/settings",{enabled:!ne,prefixMb:N,prefixPercent:R}),children:ne?"Выключить":"Включить"}),c.jsx(de,{variant:"secondary",onClick:()=>void G("/admin/cache/recalc",{}),children:"Пересчитать"})]}),c.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Префикс, МБ (0 - брать проценты)"}),c.jsx(Oe,{value:N,onChange:U=>T(U.target.value)})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Префикс, %"}),c.jsx(Oe,{value:R,onChange:U=>O(U.target.value)})]})]}),c.jsx(de,{variant:"secondary",onClick:()=>void G("/admin/cache/settings",{enabled:ne,prefixMb:N,prefixPercent:R}),children:"Сохранить префикс"})]})]}),r?c.jsxs(Bt,{children:["Токен узла показывается один раз. Скопируйте его в конфиг сервера и закройте эту строку.",c.jsx("div",{className:"mt-2 break-all font-mono text-sm",children:r}),c.jsx(de,{className:"mt-2",variant:"secondary",onClick:()=>l(""),children:"Скрыть"})]}):null,o?c.jsx(Bt,{children:o}):null,c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Новый узел"})}),c.jsxs(xe,{className:"grid gap-3 sm:grid-cols-2",children:[c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Имя"}),c.jsx(Oe,{value:f,onChange:U=>h(U.target.value)})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Адрес TorrServer"}),c.jsx(Oe,{value:m,placeholder:"http://cache.example:8090",onChange:U=>v(U.target.value)})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Регион"}),c.jsx(Oe,{value:p,onChange:U=>x(U.target.value)})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Емкость, ГБ"}),c.jsx(Oe,{value:S,onChange:U=>w(U.target.value)})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Свой префикс, МБ (0 - общий)"}),c.jsx(Oe,{value:j,onChange:U=>C(U.target.value)})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Свой префикс, %"}),c.jsx(Oe,{value:A,onChange:U=>E(U.target.value)})]}),c.jsx(de,{onClick:()=>void G("/admin/cache/node",{name:f,url:m,region:p,capacityGb:S,prefixMb:j,prefixPercent:A}),children:"Добавить и выдать токен"})]})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Узлы"})}),c.jsx(xe,{className:"overflow-x-auto",children:c.jsxs(Jn,{children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Имя"}),c.jsx(Se,{children:"Статус"}),c.jsx(Se,{children:"Диск"}),c.jsx(Se,{children:"Heartbeat"}),c.jsx(Se,{children:"Токен"}),c.jsx(Se,{})]})}),c.jsx(tr,{children:ie.length===0?c.jsx(Ke,{children:c.jsx(me,{colSpan:6,children:"Узлов нет"})}):ie.map(U=>c.jsxs(Ke,{children:[c.jsxs(me,{children:[c.jsx("div",{className:"font-medium",children:U.name}),c.jsx("div",{className:"text-xs text-muted-foreground",children:U.url}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[U.region||"регион не задан"," - ",wx(U.capacityBytes)," ГБ"]})]}),c.jsxs(me,{children:[z8(U),c.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:U.torrserverOk?"TorrServer отвечает":"TorrServer молчит"})]}),c.jsxs(me,{children:[wx(U.diskUsedBytes)," / ",wx(U.diskTotalBytes)," ГБ"]}),c.jsx(me,{children:U.lastHeartbeat?Li(U.lastHeartbeat):"не было"}),c.jsx(me,{children:U.hasToken?"есть":"отозван"}),c.jsxs(me,{className:"space-x-2 space-y-2",children:[c.jsx(de,{variant:"secondary",onClick:()=>void G("/admin/cache/token",{id:U.id}),children:"Новый токен"}),c.jsx(de,{variant:"secondary",onClick:()=>void G("/admin/cache/token/revoke",{id:U.id}),children:"Отозвать"}),c.jsx(de,{variant:"secondary",onClick:()=>void G("/admin/cache/node/disable",{id:U.id,disabled:!U.disabled}),children:U.disabled?"Включить узел":"Выключить узел"})]})]},U.id))})]})})]}),c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Закрепить раздачу"}),c.jsx(mt,{children:"Пустой магнит означает раздачу по DHT. Ссылку с ключом трекера панель не сохранит."})]}),c.jsxs(xe,{className:"grid gap-3 sm:grid-cols-2",children:[c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"infohash"}),c.jsx(Oe,{value:D,onChange:U=>k(U.target.value)})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Название"}),c.jsx(Oe,{value:I,onChange:U=>P(U.target.value)})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Узел"}),c.jsxs("select",{className:"h-10 rounded-md border border-input bg-secondary px-3 text-sm",value:B,onChange:U=>F(U.target.value),children:[c.jsx("option",{value:"",children:"выберите"}),ie.map(U=>c.jsx("option",{value:U.id,children:U.name},U.id))]})]}),c.jsxs("div",{className:Br,children:[c.jsx(qe,{children:"Магнит"}),c.jsx(Oe,{value:se,onChange:U=>ue(U.target.value)})]}),c.jsx(de,{onClick:()=>void G("/admin/cache/pin",{infohash:D,title:I,nodeId:B,magnet:se}),children:"Закрепить"})]})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Назначения"})}),c.jsx(xe,{className:"overflow-x-auto",children:c.jsxs(Jn,{children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Раздача"}),c.jsx(Se,{children:"Узел"}),c.jsx(Se,{children:"Статус"}),c.jsx(Se,{children:"Префикс"}),c.jsx(Se,{})]})}),c.jsx(tr,{children:ce.length===0?c.jsx(Ke,{children:c.jsx(me,{colSpan:5,children:"Назначений нет"})}):ce.map(U=>c.jsxs(Ke,{children:[c.jsxs(me,{children:[c.jsx("div",{children:U.title||U.infohash}),c.jsx("div",{className:"font-mono text-xs text-muted-foreground",children:U.infohash})]}),c.jsx(me,{children:U.nodeName}),c.jsxs(me,{children:[U.status,U.pinned?" - закреплено":"",U.source==="manual"?" - вручную":"",U.error?" - "+U.error:""]}),c.jsx(me,{children:I8(U.prefixBytes)}),c.jsx(me,{children:c.jsx(de,{variant:"secondary",onClick:()=>void G("/admin/cache/unpin",{id:U.id}),children:"Снять"})})]},U.id))})]})})]})]})}function $8(e){return e==="community"?"зрители":e==="blend"?"смесь":e==="pinned"?"закреп":e==="banned"?"запрет":"сиды"}function B8({csrf:e}){const[t,n]=b.useState(""),[r,l]=b.useState(null),[o,u]=b.useState(!1),f=b.useCallback(async w=>{const j=await st("/admin/api/watch-rank?q="+encodeURIComponent(w));l(j)},[]);b.useEffect(()=>{f("")},[f]);async function h(w){u(!0),await Qt("/admin/watch-rank",e,{enabled:w}),await f(t),u(!1)}async function m(w,j){u(!0),await Qt("/admin/watch-rank",e,{infohash:w.infohash,pinned:j.pinned!==void 0?j.pinned:w.pinned,banned:j.banned!==void 0?j.banned:w.banned,note:w.note}),await f(t),u(!1)}const v=r&&r.rows?r.rows:[],p=r&&r.voices?r.voices:[],x=r&&r.codecs?r.codecs:[],S=!!(r&&r.enabled);return c.jsxs("div",{className:"space-y-4",children:[c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Подбор раздач"})}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(Ne,{variant:S?"ok":"secondary",children:S?"ранжирование включено":"ранжирование выключено"}),c.jsx(de,{type:"button",disabled:o,onClick:()=>void h(!S),children:S?"Выключить":"Включить"})]}),c.jsx("p",{className:"text-sm text-muted-foreground",children:"Пока нет оценок просмотра, поиск не меняет порядок. Закрепление и запрет действуют сразу. В общие таблицы попадают только хеши и счетчики."}),c.jsxs("form",{className:"flex gap-2",onSubmit:w=>{w.preventDefault(),f(t)},children:[c.jsx(Oe,{value:t,onChange:w=>n(w.target.value),placeholder:"Название или infohash"}),c.jsx(de,{type:"submit",children:"Найти"})]})]})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Раздачи"})}),c.jsx(xe,{children:c.jsxs(Jn,{children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Раздача"}),c.jsx(Se,{children:"Класс"}),c.jsx(Se,{children:"Оценка"}),c.jsx(Se,{children:"Сигналы"}),c.jsx(Se,{})]})}),c.jsxs(tr,{children:[v.map(w=>c.jsxs(Ke,{children:[c.jsxs(me,{children:[c.jsx("div",{children:w.title||w.titleKey||w.infohash}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[w.infohash.slice(0,12)," · s",w.season,"e",w.episode," · ",$8(w.reason)]})]}),c.jsx(me,{children:w.deviceClass==="tv"?"ТВ":"Телефон"}),c.jsx(me,{children:Math.round(w.score)}),c.jsxs(me,{children:[w.samples," просм., ",w.completed," до конца, ",w.switched," уходов, кадр ",w.ttffMs&&w.samples?Math.round(w.ttffMs/w.samples):0," мс, ребуфер ",w.rebufferN,", кодек ",w.codecOk,"/",w.codecOk+w.codecFail]}),c.jsxs(me,{className:"space-x-2",children:[c.jsx(de,{type:"button",disabled:o,onClick:()=>void m(w,{pinned:!w.pinned,banned:!1}),children:w.pinned?"Открепить":"Закрепить"}),c.jsx(de,{type:"button",disabled:o,onClick:()=>void m(w,{banned:!w.banned,pinned:!1}),children:w.banned?"Разрешить":"Запретить"})]})]},w.infohash+":"+w.fileIndex+":"+w.deviceClass)),v.length?null:c.jsx(Ke,{children:c.jsx(me,{colSpan:5,children:"Пока нет сигналов"})})]})]})})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Озвучки и кодеки"})}),c.jsxs(xe,{className:"space-y-2 text-sm",children:[p.slice(0,12).map(w=>c.jsxs("div",{children:[w.titleKey,": ",w.voice," (",w.picks,")"]},w.titleKey+":"+w.voice)),x.map(w=>c.jsxs("div",{children:[w.deviceClass," ",w.codec,": ",w.reports]},w.deviceClass+":"+w.codec)),!p.length&&!x.length?c.jsx("div",{children:"Пока пусто"}):null]})]})]})}function jx(e){return e?Vo(e)+" МСК":""}function H8(e){if(!e)return"Опрос бота: нет данных";if(!e.enabled)return"Опрос бота выключен (BILLING_BOT_POLL=0).";const t=e.lastOkAt?jx(e.lastOkAt):"ещё не было";let n="Конфликт 409 не фиксировался.";if(e.conflictRecent){const r=jx(e.conflictAt);n="Конфликт 409 был недавно"+(r?" ("+r+")":"")+"."}else e.conflictAt&&(n="Последний конфликт 409: "+jx(e.conflictAt)+".");return"Опрос бота: последний успешный getUpdates "+t+". "+n}/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const F8=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),V8=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase()),VE=e=>{const t=V8(e);return t.charAt(0).toUpperCase()+t.slice(1)},XM=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var G8={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const q8=b.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:l="",children:o,iconNode:u,...f},h)=>b.createElement("svg",{ref:h,...G8,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:XM("lucide",l),...f},[...u.map(([m,v])=>b.createElement(m,v)),...Array.isArray(o)?o:[o]]));/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ku=(e,t)=>{const n=b.forwardRef(({className:r,...l},o)=>b.createElement(q8,{ref:o,iconNode:t,className:XM(`lucide-${F8(VE(e))}`,`lucide-${e}`,r),...l}));return n.displayName=VE(e),n};/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const K8=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]],Y8=Ku("ban",K8);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const X8=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],Q8=Ku("credit-card",X8);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z8=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],W8=Ku("repeat",Z8);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const J8=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],QM=Ku("shield",J8);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const eH=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],tH=Ku("smartphone",eH);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nH=[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"M13 5v2",key:"dyzc3o"}],["path",{d:"M13 17v2",key:"1ont0d"}],["path",{d:"M13 11v2",key:"1wjjxi"}]],rH=Ku("ticket",nH),iH="h-10 w-full rounded-md border border-input bg-secondary px-3 text-sm text-foreground sm:w-auto",aH={pay:Q8,promo:rH,activate:tH,fail:Y8,admin:QM,device:W8};function lH({kind:e}){const t=aH[e]||QM,n=e==="fail"?"bad":e==="pay"?"ok":"count";return c.jsxs(Ne,{variant:n,className:"gap-1",children:[c.jsx(t,{className:"h-3.5 w-3.5","aria-hidden":!0}),A6(e)]})}function oH({events:e}){const[t,n]=b.useState(""),[r,l]=b.useState(1),o=15,u=e.filter(v=>!t||v.kind===t),f=Math.max(1,Math.ceil(u.length/o)),h=u.slice((r-1)*o,r*o),m=y6(h);return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Лента событий"}),c.jsxs(mt,{className:"space-y-2",children:[c.jsx("p",{children:"Время - МСК. Нажмите на часы, чтобы увидеть секунды."}),c.jsxs("select",{className:iH,value:t,"aria-label":"Тип события",onChange:v=>{l(1),n(v.target.value)},children:[c.jsx("option",{value:"",children:"Все события"}),c.jsx("option",{value:"pay",children:"Оплата"}),c.jsx("option",{value:"promo",children:"Промо"}),c.jsx("option",{value:"activate",children:"Активация"}),c.jsx("option",{value:"fail",children:"Отказ"}),c.jsx("option",{value:"admin",children:"Админ"}),c.jsx("option",{value:"device",children:"Смена устройства"})]})]})]}),c.jsxs(xe,{children:[h.length===0?c.jsx("p",{className:"text-muted-foreground",children:"Пока пусто"}):null,c.jsx("div",{className:"space-y-4",children:m.map(v=>c.jsxs("section",{children:[c.jsx("h3",{className:"sticky top-0 z-10 bg-card py-1 text-sm font-semibold",children:v.title}),c.jsx("ol",{className:"ml-2 border-l border-border",children:v.items.map((p,x)=>c.jsxs("li",{className:"relative pb-4 pl-4",children:[c.jsx("span",{className:"absolute -left-[7px] top-1.5 h-3 w-3 rounded-full border-2 border-primary bg-card","aria-hidden":!0}),c.jsxs("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1",children:[c.jsx(ht,{ms:p.at,variant:"time"}),c.jsx(lH,{kind:p.kind}),c.jsx("span",{className:"text-sm font-medium",children:b1(p.actor,{deviceId:p.deviceId,fallback:"система"})})]}),c.jsx("p",{className:"mt-1 text-sm",children:p.text}),p.accountId?c.jsx("a",{className:"text-sm text-primary",href:"/admin/?id="+encodeURIComponent(p.accountId),children:"карточка"}):null]},v.key+"-"+x))})]},v.key))}),c.jsx(Iv,{page:r,pages:f,total:u.length,onPage:l})]})]})}const Tf="h-10 rounded-md border border-input bg-secondary px-3 text-sm text-foreground";function sH({run:e}){const[t,n]=b.useState(""),[r,l]=b.useState(""),[o,u]=b.useState("telegram"),[f,h]=b.useState("30"),[m,v]=b.useState("1");return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Выдать код"}),c.jsx(mt,{children:"Дней - срок новой подписки. Если подписка уже есть, код добавляется к ней, дата окончания не меняется."})]}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"grid gap-2 md:grid-cols-5",children:[c.jsx(Oe,{placeholder:"Telegram id",value:t,onChange:p=>n(p.target.value)}),c.jsx(Oe,{placeholder:"Почта",value:r,onChange:p=>l(p.target.value)}),c.jsxs("select",{className:Tf,value:o,onChange:p=>u(p.target.value),"aria-label":"Куда отправить",children:[c.jsx("option",{value:"telegram",children:"Telegram"}),c.jsx("option",{value:"email",children:"Почта"}),c.jsx("option",{value:"none",children:"Только показать"})]}),c.jsxs("select",{className:Tf,value:f,onChange:p=>h(p.target.value),"aria-label":"Дней",children:[c.jsx("option",{value:"1",children:"1 день"}),c.jsx("option",{value:"7",children:"7 дней"}),c.jsx("option",{value:"30",children:"30 дней"}),c.jsx("option",{value:"90",children:"90 дней"}),c.jsx("option",{value:"365",children:"365 дней"})]}),c.jsx(de,{onClick:()=>void e("/admin/issue",{telegramId:t,email:r,channel:o,days:f}),children:"Выдать"})]}),c.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Сколько кодов"}),c.jsx(Oe,{type:"number",min:1,max:100,value:m,onChange:p=>v(p.target.value)})]}),c.jsx(de,{variant:"secondary",onClick:()=>{const p=Number(m)||1;window.confirm("Создать "+p+" новых кодов на "+f+" дн.?")&&e("/admin/issue-bulk",{count:p,days:f}).then(x=>{var w;const S=((w=x==null?void 0:x.extra)==null?void 0:w.codes)||[];S.length&&(zM("omp-codes.csv",[["код","аккаунт","до"]].concat(S.map(j=>[j.code,j.accountId||"",j.paidUntil?new Date(j.paidUntil).toISOString().slice(0,10):""]))),dt("CSV со кодами скачан"))})},children:"Создать пакетом"})]})]})]})}function uH({run:e,promos:t}){const[n,r]=b.useState(""),[l,o]=b.useState("1"),[u,f]=b.useState("1"),[h,m]=b.useState("1"),[v,p]=b.useState("0"),[x,S]=b.useState(""),[w,j]=b.useState(""),[C,A]=b.useState("0");return c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Промокоды"})}),c.jsxs(xe,{className:"space-y-4",children:[c.jsxs("div",{className:"grid gap-2 md:grid-cols-7",children:[c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Код"}),c.jsx(Oe,{placeholder:"пусто = сгенерировать",value:n,onChange:E=>r(E.target.value)})]}),c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Дней"}),c.jsx(Oe,{type:"number",value:l,onChange:E=>o(E.target.value)})]}),c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Бонусных устройств"}),c.jsx(Oe,{type:"number",min:0,max:20,value:v,onChange:E=>p(E.target.value)})]}),c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Бонус на дней"}),c.jsx(Oe,{type:"number",min:0,placeholder:"пусто = навсегда",value:x,onChange:E=>S(E.target.value)})]}),c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Активаций"}),c.jsx(Oe,{type:"number",value:u,onChange:E=>f(E.target.value)})]}),c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Истекает, дней"}),c.jsx(Oe,{type:"number",min:0,placeholder:"пусто = без срока",value:w,onChange:E=>j(E.target.value)})]}),c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Скидка, %"}),c.jsx(Oe,{type:"number",min:0,max:100,value:C,onChange:E=>A(E.target.value)})]}),c.jsxs("label",{className:"space-y-1 text-sm",children:[c.jsx("span",{className:"text-muted-foreground",children:"Количество"}),c.jsx(Oe,{type:"number",min:1,max:100,value:h,onChange:E=>m(E.target.value)})]}),c.jsx("div",{className:"flex items-end",children:c.jsx(de,{onClick:()=>{const E=Number(h)||1;e("/admin/promo",{code:n,days:l,maxUses:u,count:E,bonusSlots:v,bonusDays:x,expiresDays:w,discountPercent:C}).then(N=>{var R;const T=((R=N==null?void 0:N.extra)==null?void 0:R.promos)||[];T.length>1&&zM("omp-promos-new.csv",[["код","дней","активаций","бонусных устройств","бонус на дней"]].concat(T.map(O=>[O.code,String(O.days),String(O.maxUses),String(O.bonusSlots||0),O.bonusSlots?String(O.bonusDays||0):""])))})},children:"Создать"})})]}),c.jsx("div",{className:"flex flex-wrap gap-3 text-sm",children:c.jsx("a",{className:"text-primary",href:"/admin/promos.csv",children:"Скачать все промокоды (CSV)"})}),c.jsxs(Jn,{className:"min-w-[36rem]",children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Код"}),c.jsx(Se,{children:"Дни"}),c.jsx(Se,{children:"Бонус"}),c.jsx(Se,{children:"Создан"}),c.jsx(Se,{children:"Использования"}),c.jsx(Se,{})]})}),c.jsxs(tr,{children:[t.length===0?c.jsx(Ke,{children:c.jsx(me,{colSpan:6,className:"text-muted-foreground",children:"Нет промокодов"})}):null,t.map(E=>{const N=E.uses>=E.maxUses;return c.jsxs(Ke,{children:[c.jsxs(me,{children:[c.jsx("span",{className:E.revoked?"text-muted-foreground":"font-mono",children:E.code})," ",c.jsx(Io,{value:E.code})]}),c.jsx(me,{children:E.days}),c.jsx(me,{children:E.bonusSlots?"+"+E.bonusSlots+" устр. "+(E.bonusDays?"на "+E.bonusDays+" дн.":"навсегда"):c.jsx("span",{className:"text-muted-foreground",children:"-"})}),c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:E.createdAt})}),c.jsxs(me,{children:[E.uses,"/",E.maxUses]}),c.jsx(me,{children:E.revoked?c.jsx("span",{className:"text-muted-foreground",children:"отозван"}):N?c.jsx("span",{className:"text-muted-foreground",children:"использован"}):c.jsx(de,{size:"sm",variant:"secondary",onClick:()=>{window.confirm("Отозвать промокод "+E.code+"?")&&e("/admin/promo-revoke",{promoId:E.id})},children:"Отозвать"})})]},E.id)})]})]})]})]})}function cH({subs:e,filter:t,setFilter:n,csrf:r}){const l=e.filter(u=>u6(u,t)),o=f6(e);return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Подписки"}),c.jsx(mt,{children:c.jsx("span",{className:"flex flex-wrap gap-1",children:[["all","Все"],["active","Активные"],["week","Истекают за 7 дней"],["unbound","Без устройства"],["grace","Льготный период"],["expired","Истекшие"]].map(([u,f])=>c.jsx(de,{size:"sm",variant:t===u?"default":"secondary",onClick:()=>n(u),children:f},u))})})]}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[c.jsx("a",{className:"text-primary",href:"/admin/subscriptions.csv",children:"Скачать подписки (CSV)"}),c.jsx("a",{className:"text-primary",href:"/admin/users.csv",children:"Скачать пользователей (CSV)"}),c.jsxs(de,{size:"sm",variant:"secondary",disabled:o.length===0,onClick:()=>{o.length&&window.confirm("Отправить напоминание "+o.length+" пользователям в Telegram?")&&(async()=>{let u=0;for(let f=0;fc.jsxs(Ke,{children:[c.jsxs(me,{children:[u.who,c.jsx(Io,{value:u.telegramId})]}),c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:u.createdAt})}),c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:u.paidUntil})}),c.jsx(me,{children:c.jsx(DM,{status:u.status})}),c.jsxs(me,{children:[c.jsx(o6,{bound:u.bound,limit:u.deviceLimit,over:u.overLimit}),(u.creditRub||0)>0?c.jsxs("span",{className:"text-xs text-muted-foreground",children:["зачёт ",u.creditRub," ₽"]}):null,u.limitOverride?c.jsx("span",{className:"ml-1 text-xs text-amber-300",title:u.limitText,children:"индивид."}):null]}),c.jsx(me,{children:c.jsx("a",{className:"text-primary",href:"/admin/?id="+encodeURIComponent(u.accountId),children:"карточка"})})]},u.id))]})]})]})]})}function fH({rows:e}){return e.length?c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Проблемы"})}),c.jsx(xe,{children:c.jsx("ul",{className:"space-y-3 text-sm",children:e.map((t,n)=>{const r=[t.amount?t.amount+" ₽":"",t.label||"",t.operationId||""].filter(Boolean);return c.jsxs("li",{className:"rounded-md border border-red-900/50 bg-red-950/30 px-3 py-2",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(Ne,{variant:"bad",children:kM(t.kind)}),c.jsx(ht,{ms:t.at})]}),c.jsx("div",{className:"mt-1 break-all text-zinc-100",children:r.length?r.join(" · "):t.text||"Нет подробностей"})]},n)})})})]}):null}function Cx(e){if(!e)return"";const t=Math.round(e*1e8)/1e8;return String(t)}function dH({row:e}){const t=e&&e.yoomoney,n=e&&e.stars,r=e&&e.crypto,l=(o,u)=>c.jsxs("div",{children:[c.jsx("div",{className:"text-sm font-medium",children:o}),c.jsx("div",{className:"text-xs text-muted-foreground",children:u.filter(Boolean).join(" · ")})]});return c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Выручка за 30 дней по способам"}),c.jsx(mt,{children:"Рубли звёзд и крипты - цена заказа на момент оплаты. Возврат звёзд в сумму не входит."})]}),c.jsxs(xe,{className:"grid gap-3 sm:grid-cols-3",children:[l("ЮMoney",[Math.round((t==null?void 0:t.rub)||0)+" ₽",((t==null?void 0:t.count)||0)+" оплат"]),l("Звёзды",[Math.round((n==null?void 0:n.stars)||0)+" звёзд",Math.round((n==null?void 0:n.rub)||0)+" ₽",((n==null?void 0:n.count)||0)+" оплат"]),l("Крипта",[r!=null&&r.usdt?Cx(r.usdt)+" USDT":"",r!=null&&r.ton?Cx(r.ton)+" TON":"",r!=null&&r.btc?Cx(r.btc)+" BTC":"",Math.round((r==null?void 0:r.rub)||0)+" ₽",((r==null?void 0:r.count)||0)+" оплат"])]})]})}function hH({home:e}){var C,A,E,N,T,R,O,D,k,I;const[t,n]=b.useState(null),[r,l]=b.useState(0),[o,u]=b.useState(1),[f,h]=b.useState(""),[m,v]=b.useState("30"),[p,x]=b.useState(30),S=20;b.useEffect(()=>{let P=!1;const B=Date.now(),F=m==="all"?0:B-Number(m)*24*60*60*1e3,se=new URLSearchParams({q:f,offset:String((o-1)*S),limit:String(S)});return F&&se.set("from",String(F)),st("/admin/api/payments?"+se.toString()).then(ue=>{P||ue.auth===!1||(n(ue.payments||[]),l(ue.total||0))}),()=>{P=!0}},[o,f,m]);const w=(e.series||[]).slice(p===30?-30:-90),j=Math.max(1,Math.ceil(r/S));return c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-3",children:[[(A=(C=e.finance)==null?void 0:C.summary)==null?void 0:A.day,"сегодня"],[(N=(E=e.finance)==null?void 0:E.summary)==null?void 0:N.week,"неделя"],[(R=(T=e.finance)==null?void 0:T.summary)==null?void 0:R.month,"месяц"]].map(([P,B])=>c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-2xl font-bold",children:Math.round((P==null?void 0:P.sum)||0)}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:["₽ ",B," · ",(P==null?void 0:P.count)||0]})]})},B))}),c.jsxs(ye,{children:[c.jsxs(Te,{className:"flex flex-row flex-wrap items-center justify-between gap-2",children:[c.jsx(Re,{children:"Графики"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(de,{size:"sm",variant:p===30?"default":"secondary",onClick:()=>x(30),children:"30 дней"}),c.jsx(de,{size:"sm",variant:p===90?"default":"secondary",onClick:()=>x(90),children:"90 дней"})]})]}),c.jsxs(xe,{className:"grid gap-6 lg:grid-cols-2",children:[c.jsx(RE,{rows:w,field:"revenue",label:"Выручка по дням, ₽"}),c.jsx(RE,{rows:w,field:"subs",label:"Новые подписки по дням"})]})]}),c.jsx(dH,{row:(k=(D=(O=e.finance)==null?void 0:O.summary)==null?void 0:D.month)==null?void 0:k.byMethod}),c.jsx("p",{children:c.jsx("a",{className:"text-primary",href:"/admin/finance.csv",children:"Скачать CSV за 30 дней"})}),c.jsx(fH,{rows:((I=e.finance)==null?void 0:I.problems)||[]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Платежи"})}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx(Oe,{className:"max-w-xs",placeholder:"Поиск: кто, метка, сумма",value:f,onChange:P=>{u(1),h(P.target.value)}}),c.jsxs("select",{className:Tf,value:m,"aria-label":"Период",onChange:P=>{u(1),v(P.target.value)},children:[c.jsx("option",{value:"7",children:"7 дней"}),c.jsx("option",{value:"30",children:"30 дней"}),c.jsx("option",{value:"90",children:"90 дней"}),c.jsx("option",{value:"all",children:"Все"})]})]}),t===null?c.jsxs("div",{className:"space-y-2",children:[c.jsx(an,{className:"h-8"}),c.jsx(an,{className:"h-8"})]}):c.jsxs(Jn,{className:"min-w-[40rem]",children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Когда, МСК"}),c.jsx(Se,{children:"Сумма"}),c.jsx(Se,{children:"Способ"}),c.jsx(Se,{children:"Кто"}),c.jsx(Se,{children:"Метка"})]})}),c.jsxs(tr,{children:[t.length===0?c.jsx(Ke,{children:c.jsx(me,{colSpan:5,className:"text-muted-foreground",children:"Нет платежей"})}):null,t.map((P,B)=>c.jsxs(Ke,{children:[c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:P.at})}),c.jsx(me,{children:P.amount||"-"}),c.jsx(me,{children:IM(P)}),c.jsx(me,{children:P.accountId?c.jsx("a",{className:"text-primary",href:"/admin/?id="+encodeURIComponent(P.accountId),children:P.who||P.accountId.slice(0,8)}):P.who||"-"}),c.jsx(me,{className:"break-all font-mono text-xs text-muted-foreground",children:P.label||"-"})]},(P.operationId||"")+B))]})]}),c.jsx(Iv,{page:o,pages:j,total:r,onPage:u})]})]})]})}const GE=[{title:"Бот",fields:[["botToken","Токен бота"],["botUsername","Имя бота"],["publicOrigin","Публичный адрес"],["adminTelegramIds","Telegram id администраторов"],["adminReaders","Telegram id только для просмотра"],["betaPercent","Процент беты (0-100)"]]},{title:"Платежи",fields:[["yoomoneyWallet","Кошелёк ЮMoney"],["yoomoneySecret","Секрет ЮMoney"],["cryptoPayToken","Токен Crypto Pay"],["cryptoPayTestnetToken","Токен Crypto Pay (testnet)"]]},{title:"Звёзды",fields:[["starsPrice","Подписка, звёзд"],["starsExtra","Доп. устройство, звёзд"]]},{title:"Крипта",fields:[["cryptoUsdt","Подписка, USDT"],["cryptoExtraUsdt","Доп. устройство, USDT"],["cryptoRateUsdt","Курс USDT, ₽ за 1"],["cryptoTon","Подписка, TON"],["cryptoExtraTon","Доп. устройство, TON"],["cryptoRateTon","Курс TON, ₽ за 1"],["cryptoBtc","Подписка, BTC"],["cryptoExtraBtc","Доп. устройство, BTC"],["cryptoRateBtc","Курс BTC, ₽ за 1"]]},{title:"SMTP",fields:[["smtpHost","SMTP-сервер"],["smtpUser","SMTP-логин"],["smtpPass","SMTP-пароль"],["smtpFrom","SMTP-отправитель"]]},{title:"Цены",fields:[["priceRub","Цена, ₽"],["periodDays","Период, дней"],["baseDevices","Базовых устройств в подписке (1-20; кроме индивидуальных лимитов)"],["extraDeviceRub","Доп. устройство, ₽ в месяц"],["graceDays","Льготный период, дней"],["publicPromo","Промокод на пробный день (бот покажет, пока он действует)"]]},{title:"Бэкапы Postgres",fields:[["backupEveryHours","Делать дамп каждые, часов (1-168)"],["backupKeepDays","Хранить дампы, дней (1-365; последний не удаляется)"]]},{title:"DHT",fields:[["dhtPerMinute","Запросов в минуту на устройство (0-1000, 0 выключает, по умолчанию 30)"]]}],qE=new Set(["botToken","yoomoneySecret","cryptoPayToken","cryptoPayTestnetToken","smtpPass","jackettApiKey","jacredApiKey","indexerPass"]);function xf({name:e,label:t,view:n,fallback:r}){const l=n?n.text:r||"не задан";return c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:e,children:t}),c.jsx(Oe,{id:e,value:l,readOnly:!0,disabled:!0}),c.jsxs("p",{className:"text-xs text-muted-foreground",children:["Меняется на сервере: ",n?n.env:"переменная"," в .env, затем перезапуск billing.",n&&n.source==="db"?c.jsx("span",{className:"text-destructive",children:" Сейчас ещё в базе - перенесите в .env."}):null]})]})}function mH({backup:e}){if(!e||!e.enabled)return c.jsx(mt,{children:"Бэкапы Postgres на этом сервере не настроены (нет BILLING_PG_BACKUP_DIR)."});const t=e.last;return c.jsxs(mt,{children:[t?"Последний дамп: "+Li(t.at)+" · "+ME(t.size):"Дампов ещё нет"," · всего "+e.count+" ("+ME(e.totalBytes)+")",e.stale?c.jsx("span",{className:"text-destructive",children:" · бэкап устарел"}):null,e.lastError?c.jsxs("span",{className:"text-destructive",children:[" · ошибка: ",e.lastError]}):null,e.verify?c.jsx("span",{className:e.verify.ok?"":"text-destructive",children:" · проверка архива: "+(e.verify.ok?"список читается":e.verify.error||"ошибка")}):null]})}function vH({run:e,settings:t,storage:n,backup:r,secrets:l}){const[o,u]=b.useState({}),[f,h]=b.useState(!0),[m,v]=b.useState(!1),[p,x]=b.useState(!1),[S,w]=b.useState(!1),[j,C]=b.useState(!1),A=b.useRef(!1),[E,N]=b.useState(null),T=R=>e("/admin/settings",{...o,adminNotify:f?"true":"false",starsEnabled:m?"true":"false",cryptoEnabled:p?"true":"false",cryptoTestnet:S?"true":"false",cryptoNonRu:j?"true":"false",...R?{confirm:"yes"}:{}}).then(O=>{var D;return(D=O==null?void 0:O.flash)!=null&&D.error||(A.current=!1),O});return b.useEffect(()=>{if(A.current)return;const R={};for(const O of GE)for(const[D]of O.fields)qE.has(D)||(R[D]=String(t[D]??""));u(R),h(t.adminNotify!==!1),v(t.starsEnabled===!0),x(t.cryptoEnabled===!0),w(t.cryptoTestnet===!0),C(t.cryptoNonRu===!0)},[t]),c.jsxs("form",{className:"space-y-4",onSubmit:R=>{R.preventDefault();const O=Number(o.baseDevices),D=Number(t.baseDevices);if(Number.isInteger(O)&&O>=1&&Number.isFinite(D)&&Oc.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:R.title}),R.title==="Платежи"?c.jsx(mt,{children:"Кошелёк показывается частично. Чтобы сменить, введите новый номер целиком."}):null,R.title==="Бэкапы Postgres"?c.jsx(mH,{backup:r}):null,R.title==="DHT"?c.jsx(mt,{children:"Лимит кнопки «Проверить сиды»: сколько запросов /v1/dht-peers устройство может сделать за минуту. После сохранения действует это число. Пока поле ни разу не сохраняли, запасной предел берется из BILLING_DHT_DEVICE_MAX."}):null]}),c.jsxs(xe,{className:"grid gap-3 md:grid-cols-2",children:[R.fields.map(([O,D])=>qE.has(O)?c.jsx(xf,{name:O,label:D,view:(l||[]).find(k=>k.key===O),fallback:String(t[O]??"")},O):c.jsxs("div",{className:"space-y-1",children:[c.jsx(qe,{htmlFor:O,children:D}),c.jsx(Oe,{id:O,value:o[O]||"",onChange:k=>{A.current=!0,u({...o,[O]:k.target.value})}})]},O)),R.title==="Бот"?c.jsxs("label",{className:"flex items-center gap-2 text-sm md:col-span-2",children:[c.jsx("input",{type:"checkbox",checked:f,onChange:O=>{A.current=!0,h(O.target.checked)}}),"Уведомлять администраторов в Telegram (оплата, ошибка оплаты, падение сервиса, новое сообщение поддержки)"]}):null,R.title==="Звёзды"?c.jsxs("label",{className:"flex items-center gap-2 text-sm md:col-span-2",children:[c.jsx("input",{type:"checkbox",checked:m,onChange:O=>{A.current=!0,v(O.target.checked)}}),"Принимать Telegram Stars. По умолчанию выключено. Комиссия сверху не добавляется."]}):null,R.title==="Крипта"?c.jsxs("div",{className:"space-y-2 md:col-span-2",children:[c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:p,onChange:O=>{A.current=!0,x(O.target.checked)}}),"Принимать Crypto Pay (USDT, TON, BTC). По умолчанию выключено."]}),c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:S,onChange:O=>{A.current=!0,w(O.target.checked)}}),"Тестовая сеть Crypto Pay (testnet-pay.crypt.bot). Токен этого режима:"," ",String(S?t.cryptoPayTestnetToken||"не задан":t.cryptoPayToken||"не задан"),"."]}),c.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[c.jsx("input",{type:"checkbox",checked:j,onChange:O=>{A.current=!0,C(O.target.checked)}}),"Только пользователям не из РФ. Без кода страны или с кодом RU ссылка не выдаётся."]})]}):null]})]},R.title)),E?c.jsxs(Bt,{variant:"warn",children:[c.jsxs("p",{children:["Базовых устройств станет ",E.to," (сейчас ",E.from,"). Затронет подписок без индивидуального лимита: ",E.subscriptions,", перестанут работать устройств: ",E.devices," - последние привязанные сверх нового лимита. Ничего не отвязывается, при возврате базы они заработают снова."]}),c.jsxs("div",{className:"mt-2 flex gap-2",children:[c.jsxs(de,{type:"button",size:"sm",variant:"destructive",onClick:()=>{N(null),T(!0)},children:["Да, снизить до ",E.to]}),c.jsx(de,{type:"button",size:"sm",variant:"ghost",onClick:()=>N(null),children:"Отмена"})]})]}):null,c.jsx(de,{type:"submit",children:"Сохранить"})]})}function gH({row:e,checking:t}){return t&&!e?c.jsx(Ne,{variant:"secondary",children:"проверка…"}):e?e.configured?e.ok?c.jsxs(Ne,{variant:"ok",children:["работает · ",e.latencyMs," мс"]}):c.jsx(Ne,{variant:"bad",children:N6(e.error)}):c.jsx(Ne,{variant:"secondary",children:"не настроено"}):c.jsx(Ne,{variant:"secondary",children:"нет данных"})}function KE({csrf:e,settings:t,secrets:n,onSaved:r}){const l=N=>(n||[]).find(T=>T.key===N),[o,u]=b.useState({jackettUrl:String(t.jackettUrl??""),jackettEnabled:t.jackettEnabled!==!1,jacredUrl:String(t.jacredUrl??""),jacredEnabled:t.jacredEnabled!==!1,bitmagnetUrl:String(t.bitmagnetUrl??""),bitmagnetEnabled:t.bitmagnetEnabled===!0,torrserverUrl:String(t.torrserverUrl??""),indexerUser:String(t.indexerUser??"")}),[f,h]=b.useState(null),[m,v]=b.useState(null),[p,x]=b.useState(!1),[S,w]=b.useState(0),[j,C]=b.useState("");b.useEffect(()=>{u({jackettUrl:String(t.jackettUrl??""),jackettEnabled:t.jackettEnabled!==!1,jacredUrl:String(t.jacredUrl??""),jacredEnabled:t.jacredEnabled!==!1,bitmagnetUrl:String(t.bitmagnetUrl??""),bitmagnetEnabled:t.bitmagnetEnabled===!0,torrserverUrl:String(t.torrserverUrl??""),indexerUser:String(t.indexerUser??"")})},[t]);async function A(N){x(!0),C("");try{const T=await st("/admin/api/services");if(T.auth===!1){C("Нужен вход");return}h(T.services||null),v(T.botPoll||null);const R=Date.now();w(R),N||dt("Сервисы проверены · "+Li(R))}catch(T){C(T instanceof Error?T.message:"Не удалось проверить сервисы")}finally{x(!1)}}b.useEffect(()=>{A(!1)},[]);async function E(N){N.preventDefault(),x(!0),C("");try{if((await Qt("/admin/services",e,{...o,jackettEnabled:o.jackettEnabled?"true":"false",jacredEnabled:o.jacredEnabled?"true":"false",bitmagnetEnabled:o.bitmagnetEnabled?"true":"false"})).auth===!1){C("Нужен вход");return}dt("Сервисы сохранены"),r(),await A(!0)}catch(T){C(T instanceof Error?T.message:"Не удалось сохранить")}finally{x(!1)}}return c.jsxs("div",{className:"space-y-4",children:[c.jsxs(ye,{children:[c.jsxs(Te,{className:"flex flex-row flex-wrap items-center justify-between gap-2",children:[c.jsxs("div",{children:[c.jsx(Re,{children:"Сервисы VPS"}),c.jsxs(mt,{children:["Ключи только на сервере. Телефон ходит через billing при активной подписке. TorrServer на VPS - для мониторинга, не для пользователей.",S?" Проверено "+Li(S)+".":""]})]}),c.jsx(de,{type:"button",variant:"secondary",disabled:p,onClick:()=>void A(!1),children:p?"Проверка…":"Проверить сейчас"})]}),c.jsxs(xe,{className:"space-y-3",children:[c.jsx(pH,{poll:m}),c.jsx("div",{className:"grid gap-3 lg:grid-cols-3",children:p&&!f?c.jsxs(c.Fragment,{children:[c.jsx(an,{className:"h-24"}),c.jsx(an,{className:"h-24"}),c.jsx(an,{className:"h-24"})]}):c.jsxs(c.Fragment,{children:[c.jsx(nm,{title:"Jackett",row:f==null?void 0:f.jackett,fallback:o.jackettUrl,note:"подписчикам: "+(o.jackettEnabled?"вкл":"выкл"),checking:p}),c.jsx(nm,{title:"JacRed",row:f==null?void 0:f.jacred,fallback:o.jacredUrl,note:"подписчикам: "+(o.jacredEnabled?"вкл":"выкл"),checking:p}),c.jsx(nm,{title:"bitmagnet",row:f==null?void 0:f.bitmagnet,fallback:o.bitmagnetUrl,note:"подписчикам: "+(o.bitmagnetEnabled?"вкл":"выкл"),checking:p}),c.jsx(nm,{title:"TorrServer",row:f==null?void 0:f.torrserver,fallback:o.torrserverUrl,note:"только мониторинг",checking:p})]})})]})]}),c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Настройки сервисов"}),c.jsx(mt,{children:"Ключи и пароль - только для чтения: они в .env на сервере."})]}),c.jsx(xe,{children:c.jsxs("form",{className:"space-y-4",onSubmit:N=>void E(N),children:[c.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[c.jsx(af,{id:"jackettUrl",label:"Адрес Jackett",value:o.jackettUrl,onChange:N=>u({...o,jackettUrl:N}),placeholder:"http://jackett:9117"}),c.jsx(xf,{name:"jackettApiKey",label:"Ключ API Jackett",view:l("jackettApiKey"),fallback:String(t.jackettApiKey??"")}),c.jsx(_x,{label:"Jackett доступен подписчикам",checked:o.jackettEnabled,onChange:N=>u({...o,jackettEnabled:N})}),c.jsx(af,{id:"jacredUrl",label:"Адрес JacRed",value:o.jacredUrl,onChange:N=>u({...o,jacredUrl:N}),placeholder:"http://jacred:9117"}),c.jsx(xf,{name:"jacredApiKey",label:"Ключ API JacRed",view:l("jacredApiKey"),fallback:String(t.jacredApiKey??"")}),c.jsx(_x,{label:"JacRed доступен подписчикам",checked:o.jacredEnabled,onChange:N=>u({...o,jacredEnabled:N})}),c.jsx(af,{id:"bitmagnetUrl",label:"Адрес bitmagnet",value:o.bitmagnetUrl,onChange:N=>u({...o,bitmagnetUrl:N}),placeholder:"http://127.0.0.1:3333"}),c.jsx(xf,{name:"bitmagnetApiKey",label:"Ключ API bitmagnet",view:l("bitmagnetApiKey"),fallback:String(t.bitmagnetApiKey??"")}),c.jsx(_x,{label:"bitmagnet доступен подписчикам",checked:o.bitmagnetEnabled,onChange:N=>u({...o,bitmagnetEnabled:N})}),c.jsx(af,{id:"torrserverUrl",label:"Адрес TorrServer (только мониторинг)",value:o.torrserverUrl,onChange:N=>u({...o,torrserverUrl:N}),placeholder:"http://torrserver:8090",wide:!0}),c.jsx(af,{id:"indexerUser",label:"Логин basic-авторизации",value:o.indexerUser,onChange:N=>u({...o,indexerUser:N}),placeholder:"omp"}),c.jsx(xf,{name:"indexerPass",label:"Пароль basic-авторизации",view:l("indexerPass"),fallback:String(t.indexerPass??"")})]}),j?c.jsx(Bt,{variant:"destructive",children:j}):null,c.jsx(de,{type:"submit",disabled:p,children:"Сохранить"})]})})]})]})}function pH({poll:e}){const t=!!(e&&e.enabled&&e.conflictRecent);return c.jsxs("p",{className:"flex flex-wrap items-center gap-2 text-sm",children:[c.jsx("span",{children:H8(e)}),e&&e.enabled?t?c.jsx(Ne,{variant:"bad",children:"конфликт 409"}):c.jsx(Ne,{variant:"ok",children:"без конфликта"}):null]})}function nm({title:e,row:t,fallback:n,note:r,checking:l}){return c.jsxs("div",{className:"rounded-md border border-border p-3",children:[c.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[c.jsx("span",{className:"font-medium",children:e}),c.jsx(gH,{row:t,checking:l})]}),c.jsx("div",{className:"truncate text-xs text-muted-foreground",children:(t==null?void 0:t.url)||n||"-"}),c.jsx("div",{className:"text-xs text-muted-foreground",children:r})]})}function af({id:e,label:t,value:n,onChange:r,placeholder:l,wide:o}){return c.jsxs("div",{className:"space-y-1 "+(o?"md:col-span-2":""),children:[c.jsx(qe,{htmlFor:e,children:t}),c.jsx(Oe,{id:e,value:n,placeholder:l,onChange:u=>r(u.target.value)})]})}function _x({label:e,checked:t,onChange:n}){return c.jsxs("label",{className:"flex items-center gap-2 text-sm md:col-span-2",children:[c.jsx("input",{type:"checkbox",checked:t,onChange:r=>n(r.target.checked)}),e]})}function yH(){const[e,t]=b.useState(""),[n,r]=b.useState(""),[l,o]=b.useState(1),[u,f]=b.useState(null),[h,m]=b.useState(0),v=30;b.useEffect(()=>{let x=!1;const S=new URLSearchParams({q:e,action:n,offset:String((l-1)*v),limit:String(v)});return st("/admin/api/audit?"+S).then(w=>{x||w.auth===!1||(f(w.audit||[]),m(w.total||0))}),()=>{x=!0}},[e,n,l]);const p=Math.max(1,Math.ceil(h/v));return c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Журнал"})}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx(Oe,{className:"max-w-xs",placeholder:"Поиск",value:e,onChange:x=>{o(1),t(x.target.value)}}),c.jsx("select",{className:Tf,value:n,"aria-label":"Действие",onChange:x=>{o(1),r(x.target.value)},children:T6.map(([x,S])=>c.jsx("option",{value:x,children:S},x||"all"))})]}),u===null?c.jsx(an,{className:"h-24"}):u.length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Записей нет"}):c.jsx("ul",{className:"space-y-1 text-sm",children:u.map((x,S)=>c.jsxs("li",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[c.jsx(ht,{ms:x.at}),c.jsx("span",{children:b1(x.actor,{fallback:"админ"})}),c.jsx("span",{children:O6(x.action)}),c.jsx("span",{className:"text-muted-foreground",children:x.detail})]},S))}),c.jsx(Iv,{page:l,pages:p,total:h,onPage:o})]})]})}function xH(){const[e,t]=b.useState(""),[n,r]=b.useState(""),[l,o]=b.useState(1),[u,f]=b.useState(null),[h,m]=b.useState(0),v=30;b.useEffect(()=>{let x=!1;const S=new URLSearchParams({reason:e,q:n,offset:String((l-1)*v),limit:String(v)});return st("/admin/api/fails?"+S).then(w=>{x||w.auth===!1||(f(w.fails||[]),m(w.total||0))}),()=>{x=!0}},[e,n,l]);const p=Math.max(1,Math.ceil(h/v));return c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Неудачные активации"})}),c.jsxs(xe,{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx(Oe,{className:"max-w-xs",placeholder:"Устройство",value:n,onChange:x=>{o(1),r(x.target.value)}}),c.jsx("select",{className:Tf,value:e,"aria-label":"Причина",onChange:x=>{o(1),t(x.target.value)},children:R6.map(([x,S])=>c.jsx("option",{value:x,children:S},x||"all"))})]}),u===null?c.jsx(an,{className:"h-24"}):c.jsxs(Jn,{className:"min-w-[32rem]",children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Когда, МСК"}),c.jsx(Se,{children:"Причина"}),c.jsx(Se,{children:"Устройство"})]})}),c.jsxs(tr,{children:[u.length===0?c.jsx(Ke,{children:c.jsx(me,{colSpan:3,className:"text-muted-foreground",children:"Отказов нет"})}):null,u.map((x,S)=>c.jsxs(Ke,{children:[c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:x.at})}),c.jsx(me,{children:E6(x.reason)}),c.jsx(me,{className:"font-mono text-xs",children:x.deviceId?x.deviceId.slice(0,8):"-"})]},S))]})]}),c.jsx(Iv,{page:l,pages:p,total:h,onPage:o})]})]})}function bH({run:e,sessions:t,sessionId:n}){return c.jsx("div",{className:"space-y-4",children:c.jsxs(ye,{children:[c.jsxs(Te,{children:[c.jsx(Re,{children:"Сессии"}),c.jsx(mt,{children:"Вход только через Telegram. Время - МСК."})]}),c.jsx(xe,{children:c.jsxs(Jn,{className:"min-w-[36rem]",children:[c.jsx(er,{children:c.jsxs(Ke,{children:[c.jsx(Se,{children:"Сессия"}),c.jsx(Se,{children:"Кто"}),c.jsx(Se,{children:"Создана"}),c.jsx(Se,{children:"Активность"}),c.jsx(Se,{})]})}),c.jsx(tr,{children:t.map(r=>c.jsxs(Ke,{children:[c.jsxs(me,{children:[r.id.slice(0,8),"…",r.id===n?" (эта)":""]}),c.jsx(me,{children:b1(r.actor,{fallback:"админ"})}),c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:r.createdAt})}),c.jsx(me,{className:"whitespace-nowrap",children:c.jsx(ht,{ms:r.lastSeen})}),c.jsx(me,{children:r.id!==n?c.jsx(de,{size:"sm",variant:"secondary",onClick:()=>void e("/admin/session-revoke",{sessionId:r.id}),children:"Завершить"}):null})]},r.id))})]})})]})})}const ZM=b.createContext({paused:!1,setPaused:()=>{},mode:"poll",at:0});function zv(){return b.useContext(ZM)}function SH({children:e}){const t=Jb(),[n,r]=b.useState(!1),[l,o]=b.useState("poll"),[u,f]=b.useState(0),h=b.useRef(l);return h.current=l,b.useEffect(()=>{if(n){o("pause");return}let m=!1,v=null,p=0,x=1e3;const S=()=>{f(Date.now()),t.invalidateQueries(),window.dispatchEvent(new Event("omp-admin-live"))},w=()=>{m||(v=new EventSource("/admin/api/events"),v.onopen=()=>{x=1e3,o("live"),f(Date.now())},v.onmessage=()=>{o("live"),S()},v.onerror=()=>{v&&v.close(),o("poll"),!m&&(p=window.setTimeout(w,x),x=Math.min(15e3,x*2))})};return w(),()=>{m=!0,v&&v.close(),window.clearTimeout(p)}},[n,t]),b.useEffect(()=>{if(n)return;const m=window.setInterval(()=>{h.current!=="live"&&window.dispatchEvent(new Event("omp-admin-live"))},12e3);return()=>window.clearInterval(m)},[n]),c.jsx(ZM.Provider,{value:{paused:n,setPaused:r,mode:l,at:u},children:e})}function YE(){const{paused:e,setPaused:t,mode:n,at:r}=zv(),l=n==="pause"?"пауза":n==="live"?"в эфире":"опрос",o=r?new Date(r).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"-";return c.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[c.jsx("span",{className:n==="live"?"text-primary":"",children:l}),c.jsx("span",{className:"font-mono",children:o}),c.jsx("button",{type:"button",className:"rounded-md border border-border px-2 py-1 text-foreground",onClick:()=>t(!e),children:e?"Продолжить":"Пауза"})]})}var wH=["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"];function E1(e){if(typeof e!="string")return!1;var t=wH;return t.includes(e)}var jH=["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"],CH=new Set(jH);function WM(e){return typeof e!="string"?!1:CH.has(e)}function JM(e){return typeof e=="string"&&e.startsWith("data-")}function Hi(e){if(typeof e!="object"||e===null)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(WM(n)||JM(n))&&(t[n]=e[n]);return t}function Lv(e){if(e==null)return null;if(b.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return Hi(t)}return typeof e=="object"&&!Array.isArray(e)?Hi(e):null}function Qr(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(WM(n)||JM(n)||E1(n))&&(t[n]=e[n]);return t}function _H(e){return e==null?null:b.isValidElement(e)?Qr(e.props):typeof e=="object"&&!Array.isArray(e)?Qr(e):null}var AH=["children","width","height","viewBox","className","style","title","desc"];function X0(){return X0=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.width,l=e.height,o=e.viewBox,u=e.className,f=e.style,h=e.title,m=e.desc,v=EH(e,AH),p=o||{width:r,height:l,x:0,y:0},x=Ct("recharts-surface",u);return b.createElement("svg",X0({},Qr(v),{className:x,width:r,height:l,style:f,viewBox:"".concat(p.x," ").concat(p.y," ").concat(p.width," ").concat(p.height),ref:t}),b.createElement("title",null,h),b.createElement("desc",null,m),n)}),NH=["children","className"];function Q0(){return Q0=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.className,l=TH(e,NH),o=Ct("recharts-layer",r);return b.createElement("g",Q0({className:o},Qr(l),{ref:t}),n)});function Z0(e){return e==="__proto__"}const MH=Object.prototype.hasOwnProperty;function ku(e,t){return MH.call(e,t)}const DH=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function tD(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:DH.test(e);default:return!1}}function Uv(e){var t;return typeof e=="string"||typeof e=="symbol"?e:Object.is(e==null||(t=e.valueOf)===null||t===void 0?void 0:t.call(e),-0)?"-0":String(e)}function O1(e){return typeof e=="symbol"||e instanceof Symbol}function nD(e){if(typeof e=="string")return e;if(Array.isArray(e)){let n="";for(let r=0;r0&&(n+=","),n+=nD(e[r]);return n}if(O1(e))return e.toString();const t=e+"";return t==="0"&&Object.is(Number(e),-0)?"-0":t}function PH(e){return e==null?"":nD(e)}function N1(e){if(Array.isArray(e))return e.map(Uv);if(typeof e=="symbol")return[e];e=PH(e);const t=[],n=e.length;if(n===0)return t;let r=0,l="",o="",u=!1,f=!1;const h=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push("");r1&&arguments[1]!==void 0?arguments[1]:IH,n=10**t,r=Math.round(e*n)/n;return Object.is(r,-0)?0:r}function Tn(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{var f=n[u-1];return typeof f=="string"?l+f+o:f!==void 0?l+pa(f)+o:l+o},"")}var Gr=e=>e===0?0:e>0?1:-1,Ea=e=>typeof e=="number"&&e!=+e,Go=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Me=e=>(typeof e=="number"||e instanceof Number)&&!Ea(e),Fi=e=>Me(e)||typeof e=="string",zH=0,Rf=e=>{var t=++zH;return"".concat(e||"").concat(t)},kl=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Me(t)&&typeof t!="string")return r;var o;if(Go(t)){if(n==null)return r;var u=t.indexOf("%");o=n*parseFloat(t.slice(0,u))/100}else o=+t;return Ea(o)&&(o=r),l&&n!=null&&o>n&&(o=n),o},rD=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;rr&&(typeof t=="function"?t(r):ts(r,t))===n)}var yn=e=>e===null||typeof e>"u",T1=e=>yn(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function cr(e){return e!=null}function Yu(){}function R1(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 XE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Ei(e){for(var t=1;t{var t=e.viewBox,n=e.position,r=e.offset,l=r===void 0?0:r,o=e.parentViewBox,u=R1(t),f=u.x,h=u.y,m=u.height,v=u.upperWidth,p=u.lowerWidth,x=f,S=f+(v-p)/2,w=(x+S)/2,j=(v+p)/2,C=x+v/2,A=m>=0?1:-1,E=A*l,N=A>0?"end":"start",T=A>0?"start":"end",R=v>=0?1:-1,O=R*l,D=R>0?"end":"start",k=R>0?"start":"end",I=o;if(n==="top"){var P={x:x+v/2,y:h-E,horizontalAnchor:"middle",verticalAnchor:N};return I&&(P.height=Math.max(h-I.y,0),P.width=v),P}if(n==="bottom"){var B={x:S+p/2,y:h+m+E,horizontalAnchor:"middle",verticalAnchor:T};return I&&(B.height=Math.max(I.y+I.height-(h+m),0),B.width=p),B}if(n==="left"){var F={x:w-O,y:h+m/2,horizontalAnchor:D,verticalAnchor:"middle"};return I&&(F.width=Math.max(F.x-I.x,0),F.height=m),F}if(n==="right"){var se={x:w+j+O,y:h+m/2,horizontalAnchor:k,verticalAnchor:"middle"};return I&&(se.width=Math.max(I.x+I.width-se.x,0),se.height=m),se}var ue=I?{width:j,height:m}:{};return n==="insideLeft"?Ei({x:w+O,y:h+m/2,horizontalAnchor:k,verticalAnchor:"middle"},ue):n==="insideRight"?Ei({x:w+j-O,y:h+m/2,horizontalAnchor:D,verticalAnchor:"middle"},ue):n==="insideTop"?Ei({x:x+v/2,y:h+E,horizontalAnchor:"middle",verticalAnchor:T},ue):n==="insideBottom"?Ei({x:S+p/2,y:h+m-E,horizontalAnchor:"middle",verticalAnchor:N},ue):n==="insideTopLeft"?Ei({x:x+O,y:h+E,horizontalAnchor:k,verticalAnchor:T},ue):n==="insideTopRight"?Ei({x:x+v-O,y:h+E,horizontalAnchor:D,verticalAnchor:T},ue):n==="insideBottomLeft"?Ei({x:S+O,y:h+m-E,horizontalAnchor:k,verticalAnchor:N},ue):n==="insideBottomRight"?Ei({x:S+p-O,y:h+m-E,horizontalAnchor:D,verticalAnchor:N},ue):n&&typeof n=="object"&&(Me(n.x)||Go(n.x))&&(Me(n.y)||Go(n.y))?Ei({x:f+kl(n.x,j),y:h+kl(n.y,m),horizontalAnchor:"end",verticalAnchor:"end"},ue):Ei({x:C,y:h+m/2,horizontalAnchor:"middle",verticalAnchor:"middle"},ue)},HH=["top","left","right","bottom"];function FH(e){return e==null?!1:typeof e=="object"?!0:HH.includes(e)}var VH=b.createContext(null);const bf=Math.PI,W0=2*bf,xo=1e-6,GH=W0-xo;function aD(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return aD;const n=10**t;return function(r){this._+=r[0];for(let l=1,o=r.length;lxo)if(!(Math.abs(p*h-m*v)>xo)||!o)this._append`L${this._x1=t},${this._y1=n}`;else{let S=r-u,w=l-f,j=h*h+m*m,C=S*S+w*w,A=Math.sqrt(j),E=Math.sqrt(x),N=o*Math.tan((bf-Math.acos((j+x-C)/(2*A*E)))/2),T=N/E,R=N/A;Math.abs(T-1)>xo&&this._append`L${t+T*v},${n+T*p}`,this._append`A${o},${o},0,0,${+(p*S>v*w)},${this._x1=t+R*h},${this._y1=n+R*m}`}}arc(t,n,r,l,o,u){if(t=+t,n=+n,r=+r,u=!!u,r<0)throw new Error(`negative radius: ${r}`);let f=r*Math.cos(l),h=r*Math.sin(l),m=t+f,v=n+h,p=1^u,x=u?l-o:o-l;if(this._x1===null?this._append`M${m},${v}`:(Math.abs(this._x1-m)>xo||Math.abs(this._y1-v)>xo)&&this._append`L${m},${v}`,!!r){if(x<0&&(x=x%W0+W0),x>GH)this._append`A${r},${r},0,1,${p},${t-f},${n-h}A${r},${r},0,1,${p},${this._x1=m},${this._y1=v}`;else if(x>xo){const S=t+r*Math.cos(o),w=n+r*Math.sin(o);if(x>=bf&&this._equal(m,v,S,w)){x/=2;let j=l+x;this._append`A${r},${r},0,${+(x>=bf)},${p},${t+r*Math.cos(j)},${n+r*Math.sin(j)}`}this._append`A${r},${r},0,${+(x>=bf)},${p},${this._x1=S},${this._y1=w}`}}}rect(t,n,r,l){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+l}h${-r}Z`}toString(){return this._}}function Ut(e){return function(){return e}}const QE=1e-12;function oD(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new YH(t)}function M1(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function sD(e){this._context=e}sD.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);break}}};function $v(e){return new sD(e)}function uD(e){return e[0]}function cD(e){return e[1]}function fD(e,t){var n=Ut(!0),r=null,l=$v,o=null,u=oD(f);e=typeof e=="function"?e:e===void 0?uD:Ut(e),t=typeof t=="function"?t:t===void 0?cD:Ut(t);function f(h){var m,v=(h=M1(h)).length,p,x=!1,S;for(r==null&&(o=l(S=u())),m=0;m<=v;++m)!(m=S;--w)f.point(N[w],T[w]);f.lineEnd(),f.areaEnd()}A&&(N[x]=+e(C,x,p),T[x]=+t(C,x,p),f.point(r?+r(C,x,p):N[x],n?+n(C,x,p):T[x]))}if(E)return f=null,E+""||null}function v(){return fD().defined(l).curve(u).context(o)}return m.x=function(p){return arguments.length?(e=typeof p=="function"?p:Ut(+p),r=null,m):e},m.x0=function(p){return arguments.length?(e=typeof p=="function"?p:Ut(+p),m):e},m.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:Ut(+p),m):r},m.y=function(p){return arguments.length?(t=typeof p=="function"?p:Ut(+p),n=null,m):t},m.y0=function(p){return arguments.length?(t=typeof p=="function"?p:Ut(+p),m):t},m.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:Ut(+p),m):n},m.lineX0=m.lineY0=function(){return v().x(e).y(t)},m.lineY1=function(){return v().x(e).y(n)},m.lineX1=function(){return v().x(r).y(t)},m.defined=function(p){return arguments.length?(l=typeof p=="function"?p:Ut(!!p),m):l},m.curve=function(p){return arguments.length?(u=p,o!=null&&(f=u(o)),m):u},m.context=function(p){return arguments.length?(p==null?o=f=null:f=u(o=p),m):o},m}class dD{constructor(t,n){this._context=t,this._x=n}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(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function XH(e){return new dD(e,!0)}function QH(e){return new dD(e,!1)}function Il(){}function Bm(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 Bv(e){this._context=e}Bv.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:Bm(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(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:Bm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ZH(e){return new Bv(e)}function hD(e){this._context=e}hD.prototype={areaStart:Il,areaEnd:Il,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);break}}},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:Bm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function WH(e){return new hD(e)}function mD(e){this._context=e}mD.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:Bm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function JH(e){return new mD(e)}function vD(e,t){this._basis=new Bv(e),this._beta=t}vD.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],l=t[0],o=e[n]-r,u=t[n]-l,f=-1,h;++f<=n;)h=f/n,this._basis.point(this._beta*e[f]+(1-this._beta)*(r+h*o),this._beta*t[f]+(1-this._beta)*(l+h*u));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};(function e(t){function n(r){return t===1?new Bv(r):new vD(r,t)}return n.beta=function(r){return e(+r)},n})(.85);function Hm(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function D1(e,t){this._context=e,this._k=(1-t)/6}D1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Hm(this,this._x1,this._y1);break}(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,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Hm(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return new D1(r,t)}return n.tension=function(r){return e(+r)},n})(0);function P1(e,t){this._context=e,this._k=(1-t)/6}P1.prototype={areaStart:Il,areaEnd:Il,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Hm(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return new P1(r,t)}return n.tension=function(r){return e(+r)},n})(0);function k1(e,t){this._context=e,this._k=(1-t)/6}k1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=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,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Hm(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return new k1(r,t)}return n.tension=function(r){return e(+r)},n})(0);function I1(e,t,n){var r=e._x1,l=e._y1,o=e._x2,u=e._y2;if(e._l01_a>QE){var f=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,h=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*f-e._x0*e._l12_2a+e._x2*e._l01_2a)/h,l=(l*f-e._y0*e._l12_2a+e._y2*e._l01_2a)/h}if(e._l23_a>QE){var m=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,v=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*m+e._x1*e._l23_2a-t*e._l12_2a)/v,u=(u*m+e._y1*e._l23_2a-n*e._l12_2a)/v}e._context.bezierCurveTo(r,l,o,u,e._x2,e._y2)}function gD(e,t){this._context=e,this._alpha=t}gD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}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;default:I1(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return t?new gD(r,t):new D1(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function pD(e,t){this._context=e,this._alpha=t}pD.prototype={areaStart:Il,areaEnd:Il,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:I1(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return t?new pD(r,t):new P1(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function yD(e,t){this._context=e,this._alpha=t}yD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=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){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:I1(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return t?new yD(r,t):new k1(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function xD(e){this._context=e}xD.prototype={areaStart:Il,areaEnd:Il,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 eF(e){return new xD(e)}function ZE(e){return e<0?-1:1}function WE(e,t,n){var r=e._x1-e._x0,l=t-e._x1,o=(e._y1-e._y0)/(r||l<0&&-0),u=(n-e._y1)/(l||r<0&&-0),f=(o*l+u*r)/(r+l);return(ZE(o)+ZE(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(f))||0}function JE(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Ax(e,t,n){var r=e._x0,l=e._y0,o=e._x1,u=e._y1,f=(o-r)/3;e._context.bezierCurveTo(r+f,l+f*t,o-f,u-f*n,o,u)}function Fm(e){this._context=e}Fm.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:Ax(this,this._t0,JE(this,this._t0));break}(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,Ax(this,JE(this,n=WE(this,e,t)),n);break;default:Ax(this,this._t0,n=WE(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function bD(e){this._context=new SD(e)}(bD.prototype=Object.create(Fm.prototype)).point=function(e,t){Fm.prototype.point.call(this,t,e)};function SD(e){this._context=e}SD.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,l,o){this._context.bezierCurveTo(t,e,r,n,o,l)}};function tF(e){return new Fm(e)}function nF(e){return new bD(e)}function wD(e){this._context=e}wD.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=eO(e),l=eO(t),o=0,u=1;u=0;--t)l[t]=(u[t]-l[t+1])/o[t];for(o[n-1]=(e[n]+l[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)}break}}this._x=e,this._y=t}};function iF(e){return new Hv(e,.5)}function aF(e){return new Hv(e,0)}function lF(e){return new Hv(e,1)}function qo(e,t){if((u=e.length)>1)for(var n=1,r,l,o=e[t[0]],u,f=o.length;n=0;)n[t]=t;return n}function oF(e,t){return e[t]}function sF(e){const t=[];return t.key=e,t}function uF(){var e=Ut([]),t=J0,n=qo,r=oF;function l(o){var u=Array.from(e.apply(this,arguments),sF),f,h=u.length,m=-1,v;for(const p of o)for(f=0,++m;f0){for(var n,r,l=0,o=e[0].length,u;l0){for(var n=0,r=e[t[0]],l,o=r.length;n0)||!((o=(l=e[t[0]]).length)>0))){for(var n=0,r=1,l,o,u;r"radius"in e&&"startAngle"in e&&"endAngle"in e,z1=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var n=e;if(b.isValidElement(e)&&(n=e.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(l=>{E1(l)&&typeof n[l]=="function"&&(r[l]=(o=>n[l](n,o)))}),r},hF=(e,t,n)=>r=>(e(t,n,r),null),mF=(e,t,n)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var r=null;return Object.keys(e).forEach(l=>{var o=e[l];E1(l)&&typeof o=="function"&&(r||(r={}),r[l]=hF(o,t,n))}),r};function tO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function vF(e){for(var t=1;t(u[f]===void 0&&r[f]!==void 0&&(u[f]=r[f]),u),n);return o}function xF(e,t){const n=new Map;for(let r=0;r=0}function L1(e){return e!=null&&typeof e!="function"&&SF(e.length)}function wF(e){return function(t){return ts(t,e)}}function _D(e){return e==null||typeof e!="object"&&typeof e!="function"}function zo(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const AD="[object RegExp]",U1="[object String]",$1="[object Number]",B1="[object Boolean]",ED="[object Arguments]",OD="[object Symbol]",ND="[object Date]",TD="[object Map]",RD="[object Set]",MD="[object Array]",jF="[object Function]",DD="[object ArrayBuffer]",Nm="[object Object]",CF="[object Error]",PD="[object DataView]",kD="[object Uint8Array]",ID="[object Uint8ClampedArray]",zD="[object Uint16Array]",LD="[object Uint32Array]",_F="[object BigUint64Array]",UD="[object Int8Array]",$D="[object Int16Array]",BD="[object Int32Array]",AF="[object BigInt64Array]",HD="[object Float32Array]",FD="[object Float64Array]";function Cf(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function VD(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function GD(e,t,n){return typeof n!="function"?GD(e,t,()=>{}):eb(e,t,function r(l,o,u,f,h,m){const v=n(l,o,u,f,h,m);return v!==void 0?!!v:eb(l,o,r,m,!1)},new Map,!0)}function eb(e,t,n,r,l=!1){if(t===e)return!0;switch(typeof t){case"object":return EF(e,t,n,r,l);case"function":return Object.keys(t).length>0?eb(e,Object.assign({},t),n,r,l):Cf(e,t);default:return VD(e)&&l?typeof t=="string"?t==="":!0:Cf(e,t)}}function EF(e,t,n,r,l=!1){if(t==null)return!0;if(Array.isArray(t))return qD(e,t,n,r);if(t instanceof Map)return OF(e,t,n,r);if(t instanceof Set)return NF(e,t,n,r);const o=Object.keys(t);if(e==null)return l&&o.length===0;if(l)_D(e)&&(e=Object(e));else{if(zo(t)==="[object Error]")return zo(e)==="[object Error]"&&e.name===t.name&&e.message===t.message;const u=zo(e);if(u!=="[object Object]"&&u!=="[object Arguments]")return!1}if(o.length===0)return!0;if(r!=null&&r.has(t))return r.get(t)===e;r==null||r.set(t,e);try{for(let u=0;u{})}function tb(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}const nO=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function nb(e){return typeof nO.Buffer<"u"&&nO.Buffer.isBuffer(e)}function TF(e){return nb(e)}function RF(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function MF(e){return RF(e)}function DF(e,t){return hu(e,void 0,e,new Map)}function hu(e,t,n,r,l){if(_D(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){const u=new Array(e.length);r.set(e,u);for(let f=0;f{u.set(h,hu(f,h,n,r))}),u}if(e instanceof Set){const u=new Set;return r.set(e,u),e.forEach(f=>{u.add(hu(f,void 0,n,r))}),u}if(TF(e))return e.subarray();if(MF(e)){const u=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,u);for(let f=0;fKD(t,e)}const IF=/^(?:0|[1-9]\d*)$/;function XD(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:f;return Tx.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:v,Tx}var aO;function VF(){return aO||(aO=1,Nx.exports=FF()),Nx.exports}/** + * @license React + * use-sync-external-store-shim/with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var lO;function GF(){if(lO)return Ox;lO=1;var e=Fu(),t=VF();function n(m,v){return m===v&&(m!==0||1/m===1/v)||m!==m&&v!==v}var r=typeof Object.is=="function"?Object.is:n,l=t.useSyncExternalStore,o=e.useRef,u=e.useEffect,f=e.useMemo,h=e.useDebugValue;return Ox.useSyncExternalStoreWithSelector=function(m,v,p,x,S){var w=o(null);if(w.current===null){var j={hasValue:!1,value:null};w.current=j}else j=w.current;w=f(function(){function A(O){if(!E){if(E=!0,N=O,O=x(O),S!==void 0&&j.hasValue){var D=j.value;if(S(D,O))return T=D}return T=O}if(D=T,r(N,O))return D;var k=x(O);return S!==void 0&&S(D,k)?(N=O,D):(N=O,T=k)}var E=!1,N,T,R=p===void 0?null:p;return[function(){return A(v())},R===null?void 0:function(){return A(R())}]},[v,p,x,S]);var C=l(m,w[0],w[1]);return u(function(){j.hasValue=!0,j.value=C},[C]),h(C),C},Ox}var oO;function qF(){return oO||(oO=1,Ex.exports=GF()),Ex.exports}var KF=qF(),H1=b.createContext(null),YF=e=>e,Vt=()=>{var e=b.useContext(H1);return e?e.store.dispatch:YF},Tm=()=>{},XF=()=>Tm,QF=(e,t)=>e===t;function Ie(e){var t=b.useContext(H1),n=b.useMemo(()=>t?r=>{if(r!=null)return e(r)}:Tm,[t,e]);return KF.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:XF,t?t.store.getState:Tm,t?t.store.getState:Tm,n,QF)}function ZF(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function WF(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var sO=e=>Array.isArray(e)?e:[e];function JF(e){const t=Array.isArray(e[0])?e[0]:e;return WF(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function eV(e,t){const n=[],{length:r}=e;for(let l=0;ltypeof WeakRef>"u"?tV:WeakRef,QD=nV(),rV=0,uO=1;function im(){return{s:rV,v:void 0,o:null,p:null}}function iV(e){return e instanceof QD?e.deref():e}function ZD(e,t={}){let n=im();const{resultEqualityCheck:r}=t;let l,o=0;function u(){let f=n;const{length:h}=arguments;for(let p=0,x=h;p{n=im(),u.resetResultsCount()},u.resultsCount=()=>o,u.resetResultsCount=()=>{o=0},u}function aV(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...l)=>{let o=0,u=0,f,h={},m=l.pop();typeof m=="object"&&(h=m,m=l.pop()),ZF(m,`createSelector expects an output function after the inputs, but received: [${typeof m}]`);const v={...n,...h},{memoize:p,memoizeOptions:x=[],argsMemoize:S=ZD,argsMemoizeOptions:w=[]}=v,j=sO(x),C=sO(w),A=JF(l),E=p(function(){return o++,m.apply(null,arguments)},...j),N=S(function(){u++;const R=eV(A,arguments);return f=E.apply(null,R),f},...C);return Object.assign(N,{resultFunc:m,memoizedResultFunc:E,dependencies:A,dependencyRecomputations:()=>u,resetDependencyRecomputations:()=>{u=0},lastResult:()=>f,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:p,argsMemoize:S})};return Object.assign(r,{withTypes:()=>r}),r}var W=aV(ZD);function lV(e,t=1){const n=[],r=Math.floor(t),l=(o,u)=>{for(let f=0;f{if(e!==t){const r=cO(e),l=cO(t);if(r===l&&r===0){if(et)return n==="desc"?-1:1}return n==="desc"?l-r:r-l}return 0},uV=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,cV=/^\w*$/;function fV(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||O1(e)?!0:typeof e=="string"&&(cV.test(e)||!uV.test(e))||t!=null}function dV(e,t,n,r){if(e==null)return[];n=n,Array.isArray(e)||(e=L1(e)?Array.from(e):oV(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(f=>String(f));const l=(f,h)=>{let m=f,v=0;for(;v0&&v===h.length?m:void 0},o=(f,h)=>{if(f==null)return h;if(h!=null)return typeof f=="object"&&"key"in f?ku(h,f.key)?h[f.key]:l(h,f.path):typeof f=="function"?f(h):Array.isArray(f)?l(h,f):h[f]},u=t.map(f=>(Array.isArray(f)&&f.length===1&&(f=f[0]),f==null||typeof f=="function"||Array.isArray(f)||fV(f)?f:{key:f,path:N1(f)}));return e.map(f=>({original:f,criteria:u.map(h=>o(h,f))})).slice().sort((f,h)=>{for(let m=0;mf.original)}function Fv(e,...t){const n=t.length;return n>1&&rb(e,t[0],t[1])?t=[]:n>2&&rb(t[0],t[1],t[2])&&(t=[t[0]]),dV(e,lV(t),["asc"])}var WD=e=>e.legend.settings,hV=e=>e.legend.size,mV=e=>e.legend.payload;W([mV,WD],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?Fv(r,n):r});function vV(e,t){return xV(e)||yV(e,t)||pV(e,t)||gV()}function gV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pV(e,t){if(e){if(typeof e=="string")return fO(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)?fO(e,t):void 0}}function fO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nam||Math.abs(e.left-t.left)>am||Math.abs(e.top-t.top)>am||Math.abs(e.width-t.width)>am}function hO(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function bV(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=b.useState({height:0,left:0,top:0,width:0}),n=vV(t,2),r=n[0],l=n[1],o=b.useRef(null),u=b.useRef(r);u.current=r;var f=b.useCallback(h=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),h!=null){var m=hO(h);if(dO(m,u.current)&&l(m),typeof ResizeObserver<"u"){var v=new ResizeObserver(()=>{var p=hO(h);dO(p,u.current)&&l(p)});v.observe(h),o.current=v}}},[...e]);return b.useEffect(()=>()=>{var h;(h=o.current)===null||h===void 0||h.disconnect()},[]),[r,f]}function Nn(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 SV=typeof Symbol=="function"&&Symbol.observable||"@@observable",mO=SV,Rx=()=>Math.random().toString(36).substring(7).split("").join("."),wV={INIT:`@@redux/INIT${Rx()}`,REPLACE:`@@redux/REPLACE${Rx()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Rx()}`},Vm=wV;function F1(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function JD(e,t,n){if(typeof e!="function")throw new Error(Nn(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(Nn(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Nn(1));return n(JD)(e,t)}let r=e,l=t,o=new Map,u=o,f=0,h=!1;function m(){u===o&&(u=new Map,o.forEach((C,A)=>{u.set(A,C)}))}function v(){if(h)throw new Error(Nn(3));return l}function p(C){if(typeof C!="function")throw new Error(Nn(4));if(h)throw new Error(Nn(5));let A=!0;m();const E=f++;return u.set(E,C),function(){if(A){if(h)throw new Error(Nn(6));A=!1,m(),u.delete(E),o=null}}}function x(C){if(!F1(C))throw new Error(Nn(7));if(typeof C.type>"u")throw new Error(Nn(8));if(typeof C.type!="string")throw new Error(Nn(17));if(h)throw new Error(Nn(9));try{h=!0,l=r(l,C)}finally{h=!1}return(o=u).forEach(E=>{E()}),C}function S(C){if(typeof C!="function")throw new Error(Nn(10));r=C,x({type:Vm.REPLACE})}function w(){const C=p;return{subscribe(A){if(typeof A!="object"||A===null)throw new Error(Nn(11));function E(){const T=A;T.next&&T.next(v())}return E(),{unsubscribe:C(E)}},[mO](){return this}}}return x({type:Vm.INIT}),{dispatch:x,subscribe:p,getState:v,replaceReducer:S,[mO]:w}}function jV(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:Vm.INIT})>"u")throw new Error(Nn(12));if(typeof n(void 0,{type:Vm.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Nn(13))})}function eP(e){const t=Object.keys(e),n={};for(let o=0;o"u")throw f&&f.type,new Error(Nn(14));m[p]=w,h=h||w!==S}return h=h||r.length!==Object.keys(u).length,h?m:u}}function Gm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function CV(...e){return t=>(n,r)=>{const l=t(n,r);let o=()=>{throw new Error(Nn(15))};const u={getState:l.getState,dispatch:(h,...m)=>o(h,...m)},f=e.map(h=>h(u));return o=Gm(...f)(l.dispatch),{...l,dispatch:o}}}function tP(e){return F1(e)&&"type"in e&&typeof e.type=="string"}var nP=Symbol.for("immer-nothing"),vO=Symbol.for("immer-draftable"),Bn=Symbol.for("immer-state");function ui(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Er=Object,Iu=Er.getPrototypeOf,qm="constructor",Vv="prototype",ib="configurable",Km="enumerable",Rm="writable",Mf="value",Oa=e=>!!e&&!!e[Bn];function Zr(e){var t;return e?rP(e)||qv(e)||!!e[vO]||!!((t=e[qm])!=null&&t[vO])||Kv(e)||ed(e):!1}var _V=Er[Vv][qm].toString(),gO=new WeakMap;function rP(e){if(!e||!V1(e))return!1;const t=Iu(e);if(t===null||t===Er[Vv])return!0;const n=Er.hasOwnProperty.call(t,qm)&&t[qm];if(n===Object)return!0;if(!uu(n))return!1;let r=gO.get(n);return r===void 0&&(r=Function.toString.call(n),gO.set(n,r)),r===_V}function Gv(e,t,n=!0){Jf(e)===0?(n?Reflect.ownKeys(e):Er.keys(e)).forEach(l=>{t(l,e[l],e)}):e.forEach((r,l)=>t(l,r,e))}function Jf(e){const t=e[Bn];return t?t.type_:qv(e)?1:Kv(e)?2:ed(e)?3:0}var Mx=(e,t,n=Jf(e))=>n===2?e.has(t):Er[Vv].hasOwnProperty.call(e,t),ab=(e,t,n=Jf(e))=>n===2?e.get(t):e[t],Ym=(e,t,n,r=Jf(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function AV(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var qv=Array.isArray,Kv=e=>e instanceof Map,ed=e=>e instanceof Set,V1=e=>typeof e=="object",uu=e=>typeof e=="function",Dx=e=>typeof e=="boolean";function EV(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var ha=e=>e.copy_||e.base_,G1=e=>e.modified_?e.copy_:e.base_;function lb(e,t){if(Kv(e))return new Map(e);if(ed(e))return new Set(e);if(qv(e))return Array[Vv].slice.call(e);const n=rP(e);if(t===!0||t==="class_only"&&!n){const r=Er.getOwnPropertyDescriptors(e);delete r[Bn];let l=Reflect.ownKeys(r);for(let o=0;o1&&Er.defineProperties(e,{set:lm,add:lm,clear:lm,delete:lm}),Er.freeze(e),t&&Gv(e,(n,r)=>{q1(r,!0)},!1)),e}function OV(){ui(2)}var lm={[Mf]:OV};function Yv(e){return e===null||!V1(e)?!0:Er.isFrozen(e)}var Xm="MapSet",ob="Patches",pO="ArrayMethods",iP={};function Ko(e){const t=iP[e];return t||ui(0,e),t}var yO=e=>!!iP[e],Df,aP=()=>Df,NV=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:yO(Xm)?Ko(Xm):void 0,arrayMethodsPlugin_:yO(pO)?Ko(pO):void 0});function xO(e,t){t&&(e.patchPlugin_=Ko(ob),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function sb(e){ub(e),e.drafts_.forEach(TV),e.drafts_=null}function ub(e){e===Df&&(Df=e.parent_)}var bO=e=>Df=NV(Df,e);function TV(e){const t=e[Bn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function SO(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(e!==void 0&&e!==n){n[Bn].modified_&&(sb(t),ui(4)),Zr(e)&&(e=wO(t,e));const{patchPlugin_:l}=t;l&&l.generateReplacementPatches_(n[Bn].base_,e,t)}else e=wO(t,n);return RV(t,e,!0),sb(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==nP?e:void 0}function wO(e,t){if(Yv(t))return t;const n=t[Bn];if(!n)return Qm(t,e.handledSet_,e);if(!Xv(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(e);sP(n,e)}return n.copy_}function RV(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&q1(t,n)}function lP(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Xv=(e,t)=>e.scope_===t,MV=[];function oP(e,t,n,r){const l=ha(e),o=e.type_;if(r!==void 0&&ab(l,r,o)===t){Ym(l,r,n,o);return}if(!e.draftLocations_){const f=e.draftLocations_=new Map;Gv(l,(h,m)=>{if(Oa(m)){const v=f.get(m)||[];v.push(h),f.set(m,v)}})}const u=e.draftLocations_.get(t)??MV;for(const f of u)Ym(l,f,n,o)}function DV(e,t,n){e.callbacks_.push(function(l){var f;const o=t;if(!o||!Xv(o,l))return;(f=l.mapSetPlugin_)==null||f.fixSetContents(o);const u=G1(o);oP(e,o.draft_??o,u,n),sP(o,l)})}function sP(e,t){var r;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((r=e.assigned_)==null?void 0:r.size)??0)>0)){const{patchPlugin_:l}=t;if(l){const o=l.getPath(e);o&&l.generatePatches_(e,o,t)}lP(e)}}function PV(e,t,n){const{scope_:r}=e;if(Oa(n)){const l=n[Bn];Xv(l,r)&&l.callbacks_.push(function(){Mm(e);const u=G1(l);oP(e,n,u,t)})}else Zr(n)&&e.callbacks_.push(function(){const o=ha(e);e.type_===3?o.has(n)&&Qm(n,r.handledSet_,r):ab(o,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Qm(ab(e.copy_,t,e.type_),r.handledSet_,r)})}function Qm(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Oa(e)||t.has(e)||!Zr(e)||Yv(e)||(t.add(e),Gv(e,(r,l)=>{if(Oa(l)){const o=l[Bn];if(Xv(o,n)){const u=G1(o);Ym(e,r,u,e.type_),lP(o)}}else Zr(l)&&Qm(l,t,n)})),e}function kV(e,t){const n=qv(e),r={type_:n?1:0,scope_:t?t.scope_:aP(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let l=r,o=Zm;n&&(l=[r],o=Pf);const{revoke:u,proxy:f}=Proxy.revocable(l,o);return r.draft_=f,r.revoke_=u,[f,r]}var Zm={get(e,t){if(t===Bn)return e;let n=e.scope_.arrayMethodsPlugin_;const r=e.type_===1&&typeof t=="string";if(r&&n!=null&&n.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const l=ha(e);if(!Mx(l,t,e.type_))return zV(e,l,t);const o=l[t];if(e.finalized_||!Zr(o)||r&&e.operationMethod&&(n!=null&&n.isMutatingArrayMethod(e.operationMethod))&&EV(t))return o;if(o===Px(e.base_,t)||IV(e,t,o)){Mm(e);const u=e.type_===1?+t:t,f=fb(e.scope_,o,e,u);return e.copy_[u]=f}return o},has(e,t){return t in ha(e)},ownKeys(e){return Reflect.ownKeys(ha(e))},set(e,t,n){const r=uP(ha(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const l=Px(ha(e),t),o=l==null?void 0:l[Bn];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(AV(n,l)&&(n!==void 0||Mx(e.base_,t,e.type_)))return!0;Mm(e),cb(e)}return e.copy_[t]===n&&(n!==void 0||Mx(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),PV(e,t,n)),!0},deleteProperty(e,t){return Mm(e),Px(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),cb(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=ha(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[Rm]:!0,[ib]:e.type_!==1||t!=="length",[Km]:r[Km],[Mf]:n[t]}},defineProperty(){ui(11)},getPrototypeOf(e){return Iu(e.base_)},setPrototypeOf(){ui(12)}},Pf={};for(let e in Zm){let t=Zm[e];Pf[e]=function(){const n=arguments;return n[0]=n[0][0],t.apply(this,n)}}Pf.deleteProperty=function(e,t){return Pf.set.call(this,e,t,void 0)};Pf.set=function(e,t,n){return Zm.set.call(this,e[0],t,n,e[0])};function Px(e,t){const n=e[Bn];return(n?ha(n):e)[t]}function IV(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||!Zr(n)||n[Bn]?!1:e.baseRefs_.has(n)}function zV(e,t,n){var l;const r=uP(t,n);return r?Mf in r?r[Mf]:(l=r.get)==null?void 0:l.call(e.draft_):void 0}function uP(e,t){if(!(t in e))return;let n=Iu(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Iu(n)}}function cb(e){e.modified_||(e.modified_=!0,e.parent_&&cb(e.parent_))}function Mm(e){e.copy_||(e.assigned_=new Map,e.copy_=lb(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var LV=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(n,r,l)=>{if(uu(n)&&!uu(r)){const u=r;r=n;const f=this;return function(m=u,...v){return f.produce(m,p=>r.call(this,p,...v))}}uu(r)||ui(6),l!==void 0&&!uu(l)&&ui(7);let o;if(Zr(n)){const u=bO(this),f=fb(u,n,void 0);let h=!0;try{o=r(f),h=!1}finally{h?sb(u):ub(u)}return xO(u,l),SO(o,u)}else if(!n||!V1(n)){if(o=r(n),o===void 0&&(o=n),o===nP&&(o=void 0),this.autoFreeze_&&q1(o,!0),l){const u=[],f=[];Ko(ob).generateReplacementPatches_(n,o,{patches_:u,inversePatches_:f}),l(u,f)}return o}else ui(1,n)},this.produceWithPatches=(n,r)=>{if(uu(n))return(f,...h)=>this.produceWithPatches(f,m=>n(m,...h));let l,o;return[this.produce(n,r,(f,h)=>{l=f,o=h}),l,o]},Dx(e==null?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze);const t=e==null?void 0:e.useStrictShallowCopy;(Dx(t)||t==="class_only")&&this.setUseStrictShallowCopy(t),Dx(e==null?void 0:e.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Zr(e)||ui(8),Oa(e)&&(e=qr(e));const t=bO(this),n=fb(t,e,void 0);return n[Bn].isManual_=!0,ub(t),n}finishDraft(e,t){const n=e&&e[Bn];(!n||!n.isManual_)&&ui(9);const{scope_:r}=n;return xO(r,t),SO(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--){const l=t[n];if(l.path.length===0&&l.op==="replace"){e=l.value;break}}n>-1&&(t=t.slice(n+1));const r=Ko(ob).applyPatches_;return Oa(e)?r(e,t):this.produce(e,l=>r(l,t))}};function fb(e,t,n,r){const[l,o]=Kv(t)?Ko(Xm).proxyMap_(t,n):ed(t)?Ko(Xm).proxySet_(t,n):kV(t,n);return((n==null?void 0:n.scope_)??aP()).drafts_.push(l),o.callbacks_=(n==null?void 0:n.callbacks_)??[],o.key_=r,n&&r!==void 0?DV(n,o,r):o.callbacks_.push(function(h){var v;(v=h.mapSetPlugin_)==null||v.fixSetContents(o);const{patchPlugin_:m}=h;o.modified_&&m&&m.generatePatches_(o,[],h)}),l}function qr(e){return Oa(e)||ui(10,e),cP(e)}function cP(e){if(!Zr(e)||Yv(e))return e;const t=e[Bn];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=lb(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=lb(e,!0);const l=n;return ed(n)&&(n=new Set),Gv(l,(o,u)=>{Ym(n,o,cP(u))},r),t&&(t.finalized_=!1),n}var kx=globalThis.Iterator;kx==null||kx.from;var UV=new LV,fP=UV.produce,it=e=>e;function dP(e){return({dispatch:n,getState:r})=>l=>o=>typeof o=="function"?o(n,r,e):l(o)}var $V=dP(),BV=dP;const HV=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Gm:Gm.apply(null,arguments)};function Or(e,t){function n(...r){if(t){let l=t(...r);if(!l)throw new Error(fr(0));return{type:e,payload:l.payload,..."meta"in l&&{meta:l.meta},..."error"in l&&{error:l.error}}}return{type:e,payload:r[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=r=>r!=null&&r.type===e&&tP(r),n}var hP=class Sf extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Sf.prototype)}static get[Symbol.species](){return Sf}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Sf(...t[0].concat(this)):new Sf(...t.concat(this))}};function jO(e){return Zr(e)?fP(e,()=>{}):e}function om(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function FV(e){return typeof e=="boolean"}const VV=()=>function(t){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:l=!0,actionCreatorCheck:o=!0}=t??{};let u=new hP;return n&&(FV(n)?u.push($V):u.push(BV(n.extraArgument))),u},mP="RTK_autoBatch",Ot=()=>e=>({payload:e,meta:{[mP]:!0}}),CO=e=>t=>{setTimeout(t,e)},GV=(e,t,n)=>r=>{let l=!1,o,u;const f=()=>{l||(l=!0,t==null||t(o),clearTimeout(u),r())};o=e(f),u=setTimeout(f,n)},vP=(e={type:"raf"})=>t=>(...n)=>{const r=t(...n);let l=!0,o=!1,u=!1;const f=new Set,h=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?GV(window.requestAnimationFrame,window.cancelAnimationFrame,100):CO(10):e.type==="callback"?e.queueNotification:CO(e.timeout),m=()=>{u=!1,o&&(o=!1,f.forEach(v=>v()))};return Object.assign({},r,{subscribe(v){const p=()=>l&&v(),x=r.subscribe(p);return f.add(v),()=>{x(),f.delete(v)}},dispatch(v){var p;try{return l=!((p=v==null?void 0:v.meta)!=null&&p[mP]),o=!l,o&&(u||(u=!0,h(m))),r.dispatch(v)}finally{l=!0}}})},qV=e=>function(n){const{autoBatch:r=!0}=n??{};let l=new hP(e);return r&&l.push(vP(typeof r=="object"?r:void 0)),l};function KV(e){const t=VV(),{reducer:n=void 0,middleware:r,devTools:l=!0,preloadedState:o=void 0,enhancers:u=void 0}=e||{};let f;if(typeof n=="function")f=n;else if(F1(n))f=eP(n);else throw new Error(fr(1));let h;typeof r=="function"?h=r(t):h=t();let m=Gm;l&&(m=HV({trace:!1,...typeof l=="object"&&l}));const v=CV(...h),p=qV(v);let x=typeof u=="function"?u(p):p();const S=m(...x);return JD(f,o,S)}function gP(e){const t={},n=[];let r;const l={addCase(o,u){const f=typeof o=="string"?o:o.type;if(!f)throw new Error(fr(28));if(f in t)throw new Error(fr(29));return t[f]=u,l},addAsyncThunk(o,u){return u.pending&&(t[o.pending.type]=u.pending),u.rejected&&(t[o.rejected.type]=u.rejected),u.fulfilled&&(t[o.fulfilled.type]=u.fulfilled),u.settled&&n.push({matcher:o.settled,reducer:u.settled}),l},addMatcher(o,u){return n.push({matcher:o,reducer:u}),l},addDefaultCase(o){return r=o,l}};return e(l),[t,n,r]}function YV(e){return typeof e=="function"}function XV(e,t){let[n,r,l]=gP(t),o;if(YV(e))o=()=>jO(e());else{const h=jO(e);o=()=>h}function u(h,m,v){if(Oa(h)){const p=m(h,v);return p===void 0?h:p}else{if(Zr(h))return fP(h,p=>m(p,v));{const p=m(h,v);if(p===void 0){if(h===null)return h;throw new Error(fr(9))}return p}}}function f(h=o(),m){const v=n[m.type];let p;for(const{matcher:x,reducer:S}of r)x(m)&&S&&(p??(p=[])).push(S);if(!v&&!p)return l?u(h,l,m):h;if(v&&(h=u(h,v,m)),p)for(const x of p)h=u(h,x,m);return h}return f.getInitialState=o,f}let QV="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",ZV=(e=21)=>{let t="",n=e;for(;n--;)t+=QV[Math.random()*64|0];return t};const WV=Symbol.for("rtk-slice-createasyncthunk");function JV(e,t){return`${e}/${t}`}function e9({creators:e}={}){var n;const t=(n=e==null?void 0:e.asyncThunk)==null?void 0:n[WV];return function(l){const{name:o,reducerPath:u=o}=l;if(!o)throw new Error(fr(11));const f=(typeof l.reducers=="function"?l.reducers(n9()):l.reducers)||{},h=Object.keys(f),m={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},v={addCase(T,R){const O=typeof T=="string"?T:T.type;if(!O)throw new Error(fr(12));if(O in m.sliceCaseReducersByType)throw new Error(fr(13));return m.sliceCaseReducersByType[O]=R,v},addMatcher(T,R){return m.sliceMatchers.push({matcher:T,reducer:R}),v},exposeAction(T,R){return m.actionCreators[T]=R,v},exposeCaseReducer(T,R){return m.sliceCaseReducersByName[T]=R,v}};h.forEach(T=>{const R=f[T],O={reducerName:T,type:JV(o,T),createNotation:typeof l.reducers=="function"};i9(R)?l9(O,R,v,t):r9(O,R,v)});function p(){const[T={},R=[],O=void 0]=typeof l.extraReducers=="function"?gP(l.extraReducers):[l.extraReducers],D={...T,...m.sliceCaseReducersByType};return XV(l.initialState,k=>{for(let I in D)k.addCase(I,D[I]);for(let I of m.sliceMatchers)k.addMatcher(I.matcher,I.reducer);for(let I of R)k.addMatcher(I.matcher,I.reducer);O&&k.addDefaultCase(O)})}const x=T=>T,S=new Map,w=new WeakMap;let j;function C(T,R){return j||(j=p()),j(T,R)}function A(){return j||(j=p()),j.getInitialState()}function E(T,R=!1){function O(k){let I=k[T];return typeof I>"u"&&R&&(I=om(w,O,A)),I}function D(k=x){return om(om(S,R,()=>new WeakMap),k,()=>{const I={};for(const[P,B]of Object.entries(l.selectors??{}))I[P]=t9(B,k,()=>om(w,k,A),R);return I})}return{reducerPath:T,getSelectors:D,get selectors(){return D(O)},selectSlice:O}}const N={name:o,reducer:C,actions:m.actionCreators,caseReducers:m.sliceCaseReducersByName,getInitialState:A,...E(u),injectInto(T,{reducerPath:R,...O}={}){const D=R??u;return T.inject({reducerPath:D,reducer:C},O),{...N,...E(D,!0)}}};return N}}function t9(e,t,n,r){function l(o,...u){let f=t(o);return typeof f>"u"&&r&&(f=n()),e(f,...u)}return l.unwrapped=e,l}const Hn=e9();function n9(){function e(t,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...n}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...n){return t(...n)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:n}},asyncThunk:e}}function r9({type:e,reducerName:t,createNotation:n},r,l){let o,u;if("reducer"in r){if(n&&!a9(r))throw new Error(fr(17));o=r.reducer,u=r.prepare}else o=r;l.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,u?Or(e,u):Or(e))}function i9(e){return e._reducerDefinitionType==="asyncThunk"}function a9(e){return e._reducerDefinitionType==="reducerWithPrepare"}function l9({type:e,reducerName:t},n,r,l){if(!l)throw new Error(fr(18));const{payloadCreator:o,fulfilled:u,pending:f,rejected:h,settled:m,options:v}=n,p=l(e,o,v);r.exposeAction(t,p),u&&r.addCase(p.fulfilled,u),f&&r.addCase(p.pending,f),h&&r.addCase(p.rejected,h),m&&r.addMatcher(p.settled,m),r.exposeCaseReducer(t,{fulfilled:u||sm,pending:f||sm,rejected:h||sm,settled:m||sm})}function sm(){}const o9="task",pP="listener",yP="completed",K1="cancelled",s9=`task-${K1}`,u9=`task-${yP}`,db=`${pP}-${K1}`,c9=`${pP}-${yP}`;var Qv=class{constructor(e){Yh(this,"code");Yh(this,"name","TaskAbortError");Yh(this,"message");this.code=e,this.message=`${o9} ${K1} (reason: ${e})`}};const Y1=(e,t)=>{if(typeof e!="function")throw new TypeError(fr(32))},Wm=()=>{},X1=(e,t=Wm)=>(e.catch(t),e),xP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Lo=e=>{if(e.aborted)throw new Qv(e.reason)};function bP(e,t){let n=Wm;return new Promise((r,l)=>{const o=()=>l(new Qv(e.reason));if(e.aborted){o();return}n=xP(e,o),t.finally(()=>n()).then(r,l)}).finally(()=>{n=Wm})}const f9=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(n){return{status:n instanceof Qv?"cancelled":"rejected",error:n}}finally{t==null||t()}},Jm=e=>t=>X1(bP(e,t).then(n=>(Lo(e),n))),SP=e=>{const t=Jm(e);return n=>{let r;return X1(t(new Promise(l=>{r=setTimeout(l,n)})).finally(()=>clearTimeout(r)))}},{assign:vu}=Object,_O={},Zv="listenerMiddleware",d9=(e,t)=>{const n=r=>xP(e,()=>r.abort(e.reason));return(r,l)=>{Y1(r);const o=new AbortController;n(o);const u=f9(async()=>{Lo(e),Lo(o.signal);const f=await r({pause:Jm(o.signal),delay:SP(o.signal),signal:o.signal});return Lo(o.signal),f},()=>o.abort(u9));return l!=null&&l.autoJoin&&t.push(u.catch(Wm)),{result:Jm(e)(u),cancel(){o.abort(s9)}}}},h9=(e,t)=>{const n=async(r,l)=>{Lo(t);let o=()=>{};const u=[new Promise((h,m)=>{let v=e({predicate:r,effect:(p,x)=>{x.unsubscribe(),h([p,x.getState(),x.getOriginalState()])}});o=()=>{v(),m()}})];let f;l!=null&&u.push(new Promise(h=>{f=setTimeout(h,l,null)}));try{const h=await bP(t,Promise.race(u));return Lo(t),h}finally{clearTimeout(f),o()}};return((r,l)=>X1(n(r,l)))},wP=e=>{let{type:t,actionCreator:n,matcher:r,predicate:l,effect:o}=e;if(t)l=Or(t).match;else if(n)t=n.type,l=n.match;else if(r)l=r;else if(!l)throw new Error(fr(21));return Y1(o),{predicate:l,type:t,effect:o}},jP=vu(e=>{const{type:t,predicate:n,effect:r}=wP(e);return{id:ZV(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(fr(22))}}},{withTypes:()=>jP}),AO=(e,t)=>{const{type:n,effect:r,predicate:l}=wP(t);return Array.from(e.values()).find(o=>(typeof n=="string"?o.type===n:o.predicate===l)&&o.effect===r)},hb=e=>{e.pending.forEach(t=>{t.abort(db)})},m9=(e,t)=>()=>{for(const n of t.keys())hb(n);e.clear()},EO=(e,t,n)=>{try{e(t,n)}catch(r){setTimeout(()=>{throw r},0)}},CP=vu(Or(`${Zv}/add`),{withTypes:()=>CP}),v9=Or(`${Zv}/removeAll`),_P=vu(Or(`${Zv}/remove`),{withTypes:()=>_P}),g9=(...e)=>{console.error(`${Zv}/error`,...e)},td=(e={})=>{const t=new Map,n=new Map,r=A=>{const E=n.get(A)??0;n.set(A,E+1)},l=A=>{const E=n.get(A)??1;E===1?n.delete(A):n.set(A,E-1)},{extra:o,onError:u=g9}=e;Y1(u);let f;const h=()=>{if(!f){const A=Array.from(t.values()),E=new Set;let N=!1;for(const T of A)typeof T.type=="string"?E.add(T.type):N=!0;f={entries:A,types:E,anyType:N}}return f},m=A=>{t.has(A.id)||(t.set(A.id,A),f=void 0)},v=A=>(A.unsubscribe=()=>{t.delete(A.id)&&(f=void 0)},m(A),E=>{A.unsubscribe(),E!=null&&E.cancelActive&&hb(A)}),p=(A=>{const E=AO(t,A)??jP(A);return v(E)});vu(p,{withTypes:()=>p});const x=A=>{const E=AO(t,A);return E&&(E.unsubscribe(),A.cancelActive&&hb(E)),!!E};vu(x,{withTypes:()=>x});const S=async(A,E,N,T)=>{const R=new AbortController,O=h9(p,R.signal),D=[];try{A.pending.add(R),r(A),await Promise.resolve(A.effect(E,vu({},N,{getOriginalState:T,condition:(k,I)=>O(k,I).then(Boolean),take:O,delay:SP(R.signal),pause:Jm(R.signal),extra:o,signal:R.signal,fork:d9(R.signal,D),unsubscribe:A.unsubscribe,subscribe:()=>{m(A)},cancelActiveListeners:()=>{A.pending.forEach((k,I,P)=>{k!==R&&(k.abort(db),P.delete(k))})},cancel:()=>{R.abort(db),A.pending.delete(R)},throwIfCancelled:()=>{Lo(R.signal)}})))}catch(k){k instanceof Qv||EO(u,k,{raisedBy:"effect"})}finally{await Promise.all(D),R.abort(c9),l(A),A.pending.delete(R)}},w=m9(t,n),j=()=>{w(),f=void 0};return{middleware:A=>E=>N=>{if(!tP(N))return E(N);if(CP.match(N))return p(N.payload);if(v9.match(N)){j();return}if(_P.match(N))return x(N.payload);let T=A.getState();const R=()=>{if(T===_O)throw new Error(fr(23));return T};let O;try{O=E(N);const{entries:D,types:k,anyType:I}=h();if(I||k.has(N.type)){const P=A.getState();for(const B of D){if(typeof B.type=="string"&&B.type!==N.type)continue;let F=!1;try{F=B.predicate(N,P,T)}catch(se){F=!1,EO(u,se,{raisedBy:"predicate"})}F&&S(B,N,A,R)}}}finally{T=_O}return O},startListening:p,stopListening:x,clearListeners:j}};function fr(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 p9={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},AP=Hn({name:"chartLayout",initialState:p9,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var n,r,l,o;e.margin.top=(n=t.payload.top)!==null&&n!==void 0?n:0,e.margin.right=(r=t.payload.right)!==null&&r!==void 0?r:0,e.margin.bottom=(l=t.payload.bottom)!==null&&l!==void 0?l:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),Wv=AP.actions,y9=Wv.setMargin,x9=Wv.setLayout,b9=Wv.setChartSize,S9=Wv.setScale,w9=AP.reducer;function EP(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function at(e){return Number.isFinite(e)}function Vi(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function OO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function sr(e){for(var t=1;t{if(t&&n){var r=n.width,l=n.height,o=t.align,u=t.verticalAlign,f=t.layout,h=t.position,m=t.offset,v=m===void 0?0:m;if(h!=null){if(FH(h)){if(h==="top"&&Me(e.top))return sr(sr({},e),{},{top:e.top+(l||0)+v});if(h==="bottom"&&Me(e.bottom))return sr(sr({},e),{},{bottom:e.bottom+(l||0)+v});if(h==="left"&&Me(e.left))return sr(sr({},e),{},{left:e.left+(r||0)+v});if(h==="right"&&Me(e.right))return sr(sr({},e),{},{right:e.right+(r||0)+v})}return e}if((f==="vertical"||f==="horizontal"&&u==="middle")&&o!=="center"&&Me(e[o]))return sr(sr({},e),{},{[o]:e[o]+(r||0)});if((f==="horizontal"||f==="vertical"&&o==="center")&&u!=="middle"&&Me(e[u]))return sr(sr({},e),{},{[u]:e[u]+(l||0)})}return e},Ma=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",OP=(e,t,n,r)=>{if(r)return e.map(f=>f.coordinate);var l,o,u=e.map(f=>(f.coordinate===t&&(l=!0),f.coordinate===n&&(o=!0),f.coordinate));return l||u.push(t),o||u.push(n),u},NP=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,l=e.type,o=e.range,u=e.scale,f=e.realScaleType,h=e.isCategorical,m=e.categoricalDomain,v=e.tickCount,p=e.ticks,x=e.niceTicks,S=e.axisType;if(!u)return null;var w=f==="scaleBand"&&u.bandwidth?u.bandwidth()/2:2,j=l==="category"&&u.bandwidth?u.bandwidth()/w:0;if(j=S==="angleAxis"&&o&&o.length>=2?Gr(o[0]-o[1])*2*j:j,p||x){var C=(p||x||[]).map((A,E)=>{var N=r?r.indexOf(A):A,T=u.map(N);return at(T)?{coordinate:T+j,value:A,offset:j,index:E}:null}).filter(cr);return C}return h&&m?m.map((A,E)=>{var N=u.map(A);return at(N)?{coordinate:N+j,value:A,index:E,offset:j}:null}).filter(cr):u.ticks&&v!=null?u.ticks(v).map((A,E)=>{var N=u.map(A);return at(N)?{coordinate:N+j,value:A,index:E,offset:j}:null}).filter(cr):u.domain().map((A,E)=>{var N=u.map(A);return at(N)?{coordinate:N+j,value:r?r[A]:A,index:E,offset:j}:null}).filter(cr)},E9=e=>{var t,n=e.length;if(!(n<=0)){var r=(t=e[0])===null||t===void 0?void 0:t.length;if(!(r==null||r<=0))for(var l=0;l=0?(m[0]=o,o+=x,m[1]=o):(m[0]=u,u+=x,m[1]=u)}}}},O9=e=>{var t,n=e.length;if(!(n<=0)){var r=(t=e[0])===null||t===void 0?void 0:t.length;if(!(r==null||r<=0))for(var l=0;l=0?(h[0]=o,o+=m,h[1]=o):(h[0]=0,h[1]=0)}}}},N9={sign:E9,expand:cF,none:qo,silhouette:fF,wiggle:dF,positive:O9},T9=(e,t,n)=>{var r,l=(r=N9[n])!==null&&r!==void 0?r:qo,o=uF().keys(t).value((f,h)=>Number(pn(f,h,0))).order(J0).offset(l),u=o(e);return u.forEach((f,h)=>{f.forEach((m,v)=>{var p=pn(e[v],t[h],0);Array.isArray(p)&&p.length===2&&Me(p[0])&&Me(p[1])&&(m[0]=p[0],m[1]=p[1])})}),u};function NO(e){var t=e.axis,n=e.ticks,r=e.bandSize,l=e.entry,o=e.index,u=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!yn(l[t.dataKey])){var f=iD(n,"value",l[t.dataKey]);if(f)return f.coordinate+r/2}return n!=null&&n[o]?n[o].coordinate+r/2:null}var h=pn(l,yn(u)?t.dataKey:u),m=t.scale.map(h);return Me(m)?m:null}var R9=e=>{var t=e.flat(2).filter(Me);return[Math.min(...t),Math.max(...t)]},M9=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],D9=(e,t,n)=>{if(!(e==null||Object.keys(e).length===0))return M9(Object.keys(e).reduce((r,l)=>{var o=e[l];if(!o)return r;var u=o.stackedData,f=u.reduce((h,m)=>{var v=EP(m,t,n),p=R9(v);return!at(p[0])||!at(p[1])?h:[Math.min(h[0],p[0]),Math.max(h[1],p[1])]},[1/0,-1/0]);return[Math.min(f[0],r[0]),Math.max(f[1],r[1])]},[1/0,-1/0]))},TO=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,RO=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ev=(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 l=Fv(t,j=>j.coordinate),o=[],u=0,f=1,h=l.length;fx&&(S=Math.min(w,S));return S===1/0?0:S}return n?void 0:0};function MO(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,l=e.value,o=e.name;return sr(sr({},t),{},{dataKey:n,payload:r,value:l,name:o})}function TP(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var P9=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},k9=(e,t)=>t==="centric"?e.angle:e.radius,Da=e=>e.layout.width,Pa=e=>e.layout.height,I9=e=>e.layout.scale,RP=e=>e.layout.margin,Jv=W(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),eg=W(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),z9="data-recharts-item-index",L9="data-recharts-item-id",nd=60,Q1=30;function DO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function um(e){for(var t=1;te.brush.height;function F9(e){var t=eg(e);return t.reduce((n,r)=>{if(r.orientation==="left"&&!r.mirror&&!r.hide){var l=typeof r.width=="number"?r.width:nd;return n+l}return n},0)}function V9(e){var t=eg(e);return t.reduce((n,r)=>{if(r.orientation==="right"&&!r.mirror&&!r.hide){var l=typeof r.width=="number"?r.width:nd;return n+l}return n},0)}function G9(e){var t=Jv(e);return t.reduce((n,r)=>{if(r.orientation==="top"&&!r.mirror&&!r.hide){var l=typeof r.height=="number"?r.height:Q1;return n+l}return n},0)}function q9(e){var t=Jv(e);return t.reduce((n,r)=>{if(r.orientation==="bottom"&&!r.mirror&&!r.hide){var l=typeof r.height=="number"?r.height:Q1;return n+l}return n},0)}var Pn=W([Da,Pa,RP,H9,F9,V9,G9,q9,WD,hV],(e,t,n,r,l,o,u,f,h,m)=>{var v={left:(n.left||0)+l,right:(n.right||0)+o},p={top:(n.top||0)+u,bottom:(n.bottom||0)+f},x=um(um({},p),v),S=x.bottom;x.bottom+=r,x=A9(x,h,m);var w=e-x.left-x.right,j=t-x.top-x.bottom;return um(um({brushBottom:S},x),{},{width:Math.max(w,0),height:Math.max(j,0)})}),K9=W(Pn,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),MP=W(Da,Pa,(e,t)=>({x:0,y:0,width:e,height:t})),Y9=b.createContext(null),dr=()=>b.useContext(Y9)!=null,tg=e=>e.brush,ng=W([tg,Pn,RP],(e,t,n)=>({height:e.height,x:Me(e.x)?e.x:t.left,y:Me(e.y)?e.y:t.top+t.height+t.brushBottom-((n==null?void 0:n.bottom)||0),width:Me(e.width)?e.width:t.width}));function X9(e,t,{signal:n,edges:r}={}){let l,o=null;const u=r!=null&&r.includes("leading"),f=r==null||r.includes("trailing"),h=()=>{o!==null&&(e.apply(l,o),l=void 0,o=null)},m=()=>{f&&h(),S()};let v=null;const p=()=>{v!=null&&clearTimeout(v),v=setTimeout(()=>{v=null,m()},t)},x=()=>{v!==null&&(clearTimeout(v),v=null)},S=()=>{x(),l=void 0,o=null},w=()=>{h()},j=function(...C){if(n!=null&&n.aborted)return;l=this,o=C;const A=v==null;p(),u&&A&&h()};return j.schedule=p,j.cancel=S,j.flush=w,n==null||n.addEventListener("abort",S,{once:!0}),j}function Q9(e,t=0,n={}){typeof n!="object"&&(n={});const{leading:r=!1,trailing:l=!0,maxWait:o}=n,u=Array(2);r&&(u[0]="leading"),l&&(u[1]="trailing");let f,h=null;const m=X9(function(...x){f=e.apply(this,x),h=null},t,{edges:u}),v=function(...x){return o!=null&&(h===null&&(h=Date.now()),Date.now()-h>=o)?((r||l)&&(f=e.apply(this,x)),h=Date.now(),m.cancel(),m.schedule(),f):(m.apply(this,x),f)},p=()=>(m.flush(),f);return v.cancel=m.cancel,v.flush=p,v}function Z9(e,t=0,n={}){const{leading:r=!0,trailing:l=!0}=n;return Q9(e,t,{leading:r,maxWait:t,trailing:l})}var tv=function(t,n){for(var r=arguments.length,l=new Array(r>2?r-2:0),o=2;ol[u++]))}},Ii={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},DP=(e,t,n)=>{var r=n.width,l=r===void 0?Ii.width:r,o=n.height,u=o===void 0?Ii.height:o,f=n.aspect,h=n.maxHeight,m=Go(l)?e:Number(l),v=Go(u)?t:Number(u);return f&&f>0&&(m?v=m/f:v&&(m=v*f),h&&v!=null&&v>h&&(v=h)),{calculatedWidth:m,calculatedHeight:v}},W9={width:0,height:0,overflow:"visible"},J9={width:0,overflowX:"visible"},eG={height:0,overflowY:"visible"},tG={},nG=e=>{var t=e.width,n=e.height,r=Go(t),l=Go(n);return r&&l?W9:r?J9:l?eG:tG};function rG(e){var t=e.width,n=e.height,r=e.aspect,l=t,o=n;return l===void 0&&o===void 0?(l=Ii.width,o=Ii.height):l===void 0?l=r&&r>0?void 0:Ii.width:o===void 0&&(o=r&&r>0?void 0:Ii.height),{width:l,height:o}}var iG=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function nv(){return nv=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 vG(l)?b.createElement(PP.Provider,{value:l},t):null}var Z1=()=>b.useContext(PP),gG=b.forwardRef((e,t)=>{var n=e.aspect,r=e.initialDimension,l=r===void 0?Ii.initialDimension:r,o=e.width,u=e.height,f=e.minWidth,h=f===void 0?Ii.minWidth:f,m=e.minHeight,v=e.maxHeight,p=e.children,x=e.debounce,S=x===void 0?Ii.debounce:x,w=e.id,j=e.className,C=e.onResize,A=e.style,E=A===void 0?{}:A,N=hG(e,iG),T=b.useRef(null),R=b.useRef();R.current=C,b.useImperativeHandle(t,()=>T.current);var O=b.useState({containerWidth:l.width,containerHeight:l.height}),D=sG(O,2),k=D[0],I=D[1],P=b.useCallback((G,ne)=>{I(ie=>{var ce=Math.round(G),U=Math.round(ne);return ie.containerWidth===ce&&ie.containerHeight===U?ie:{containerWidth:ce,containerHeight:U}})},[]);b.useEffect(()=>{if(T.current==null||typeof ResizeObserver>"u")return Yu;var G=Ee=>{var ee,ve=Ee[0];if(ve!=null){var z=ve.contentRect,Y=z.width,le=z.height;P(Y,le),(ee=R.current)===null||ee===void 0||ee.call(R,Y,le)}};S>0&&(G=Z9(G,S,{trailing:!0,leading:!1}));var ne=new ResizeObserver(G),ie=T.current.getBoundingClientRect(),ce=ie.width,U=ie.height;return P(ce,U),ne.observe(T.current),()=>{ne.disconnect()}},[P,S]);var B=k.containerWidth,F=k.containerHeight;tv(!n||n>0,"The aspect(%s) must be greater than zero.",n);var se=DP(B,F,{width:o,height:u,aspect:n,maxHeight:v}),ue=se.calculatedWidth,he=se.calculatedHeight;return tv(B<0||F<0||ue!=null&&ue>0||he!=null&&he>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.`,ue,he,o,u,h,m,n),b.createElement("div",nv({id:w?"".concat(w):void 0,className:Ct("recharts-responsive-container",j),style:kO(kO({},E),{},{width:o,height:u,minWidth:h,minHeight:m,maxHeight:v}),ref:T},N),b.createElement("div",{style:nG({width:o,height:u})},b.createElement(kP,{width:ue,height:he},p)))}),IP=b.forwardRef((e,t)=>{var n=Z1();if(Vi(n.width)&&Vi(n.height))return e.children;var r=rG({width:e.width,height:e.height,aspect:e.aspect}),l=r.width,o=r.height,u=DP(void 0,void 0,{width:l,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),f=u.calculatedWidth,h=u.calculatedHeight;return Me(f)&&Me(h)?b.createElement(kP,{width:f,height:h},e.children):b.createElement(gG,nv({},e,{width:l,height:o,ref:t}))}),rg=()=>{var e,t=dr(),n=Ie(K9),r=Ie(ng),l=(e=Ie(tg))===null||e===void 0?void 0:e.padding;return!t||!r||!l?n:{width:r.width-l.left-l.right,height:r.height-l.top-l.bottom,x:l.left,y:l.top}},pG={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},zP=()=>{var e;return(e=Ie(Pn))!==null&&e!==void 0?e:pG},LP=()=>Ie(Da),UP=()=>Ie(Pa),It=e=>e.layout.layoutType,Xu=()=>Ie(It),$P=()=>{var e=Xu();if(e==="horizontal"||e==="vertical")return e},BP=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},yG=()=>{var e=Xu();return e!==void 0},rd=e=>{var t=Vt(),n=dr(),r=e.width,l=e.height,o=Z1(),u=r,f=l;return o&&(u=o.width>0?o.width:r,f=o.height>0?o.height:l),b.useEffect(()=>{!n&&Vi(u)&&Vi(f)&&t(b9({width:u,height:f}))},[t,n,u,f]),null},xG={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},HP=Hn({name:"legend",initialState:xG,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(it(t.payload))},prepare:Ot()},replaceLegendPayload:{reducer(e,t){var n=t.payload,r=n.prev,l=n.next,o=qr(e).payload.indexOf(it(r));o>-1&&(e.payload[o]=it(l))},prepare:Ot()},removeLegendPayload:{reducer(e,t){var n=qr(e).payload.indexOf(it(t.payload));n>-1&&e.payload.splice(n,1)},prepare:Ot()}}}),id=HP.actions;id.setLegendSize;id.setLegendSettings;var bG=id.addLegendPayload,SG=id.replaceLegendPayload,wG=id.removeLegendPayload,jG=HP.reducer,Ix={exports:{}},zx={};/** + * @license React + * use-sync-external-store-with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var zO;function CG(){if(zO)return zx;zO=1;var e=Fu();function t(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var n=typeof Object.is=="function"?Object.is:t,r=e.useSyncExternalStore,l=e.useRef,o=e.useEffect,u=e.useMemo,f=e.useDebugValue;return zx.useSyncExternalStoreWithSelector=function(h,m,v,p,x){var S=l(null);if(S.current===null){var w={hasValue:!1,value:null};S.current=w}else w=S.current;S=u(function(){function C(R){if(!A){if(A=!0,E=R,R=p(R),x!==void 0&&w.hasValue){var O=w.value;if(x(O,R))return N=O}return N=R}if(O=N,n(E,R))return O;var D=p(R);return x!==void 0&&x(O,D)?(E=R,O):(E=R,N=D)}var A=!1,E,N,T=v===void 0?null:v;return[function(){return C(m())},T===null?void 0:function(){return C(T())}]},[m,v,p,x]);var j=r(h,S[0],S[1]);return o(function(){w.hasValue=!0,w.value=j},[j]),f(j),j},zx}var LO;function _G(){return LO||(LO=1,Ix.exports=CG()),Ix.exports}_G();function AG(e){e()}function EG(){let e=null,t=null;return{clear(){e=null,t=null},notify(){AG(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const l=t={callback:n,next:null,prev:t};return l.prev?l.prev.next=l:e=l,function(){!r||e===null||(r=!1,l.next?l.next.prev=l.prev:t=l.prev,l.prev?l.prev.next=l.next:e=l.next)}}}}const UO={notify(){},get:()=>[]};function OG(e,t){let n,r=UO,l=0,o=!1;function u(j){v();const C=r.subscribe(j);let A=!1;return()=>{A||(A=!0,C(),p())}}function f(){r.notify()}function h(){w.onStateChange&&w.onStateChange()}function m(){return o}function v(){l++,n||(n=e.subscribe(h),r=EG())}function p(){l--,n&&l===0&&(n(),n=void 0,r.clear(),r=UO)}function x(){o||(o=!0,v())}function S(){o&&(o=!1,p())}const w={addNestedSub:u,notifyNestedSubs:f,handleChangeWrapper:h,isSubscribed:m,trySubscribe:x,tryUnsubscribe:S,getListeners:()=>r};return w}const NG=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",TG=NG(),RG=()=>typeof navigator<"u"&&navigator.product==="ReactNative",MG=RG(),DG=()=>TG||MG?b.useLayoutEffect:b.useEffect,PG=DG();function $O(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function kG(e,t){if($O(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let l=0;l{const h=OG(l);return{store:l,subscription:h,getServerState:r!=null?()=>r:void 0}},[l,r]),u=b.useMemo(()=>l.getState(),[l]);PG(()=>{const{subscription:h}=o;return h.onStateChange=h.notifyNestedSubs,h.trySubscribe(),u!==l.getState()&&h.notifyNestedSubs(),()=>{h.tryUnsubscribe(),h.onStateChange=void 0}},[o,u]);const f=n||zG;return b.createElement(f.Provider,{value:o},t)}var UG=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function $G(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function ig(e,t){var n=new Set([...Object.keys(e),...Object.keys(t)]);for(var r of n)if(UG.has(r)){if(e[r]==null&&t[r]==null)continue;if(!kG(e[r],t[r]))return!1}else if(!$G(e[r],t[r]))return!1;return!0}function mb(){return mb=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?Ws.separator:t,r=e.contentStyle,l=e.itemStyle,o=e.labelStyle,u=o===void 0?Ws.labelStyle:o,f=e.payload,h=e.formatter,m=e.itemSorter,v=e.wrapperClassName,p=e.labelClassName,x=e.label,S=e.labelFormatter,w=e.accessibilityLayer,j=w===void 0?Ws.accessibilityLayer:w,C=()=>{if(f&&f.length){var k={padding:0,margin:0},I=QG(f,m),P=I.map((B,F)=>{if(!B||B.type==="none")return null;var se=B.formatter||h||XG,ue=B.value,he=B.name,G=ue,ne=he;if(se){var ie=se(ue,he,B,F,f);if(Array.isArray(ie)){var ce=VG(ie,2);G=ce[0],ne=ce[1]}else if(ie!=null)G=ie;else return null}var U=lf(lf({},Ws.itemStyle),{},{color:B.color||Ws.itemStyle.color},l);return b.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(F),style:U},Fi(ne)?b.createElement("span",{className:"recharts-tooltip-item-name"},ne):null,Fi(ne)?b.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,b.createElement("span",{className:"recharts-tooltip-item-value"},G),b.createElement("span",{className:"recharts-tooltip-item-unit"},B.unit||""))});return b.createElement("ul",{className:"recharts-tooltip-item-list",style:k},P)}return null},A=lf(lf({},Ws.contentStyle),r),E=lf({margin:0},u),N=!yn(x),T=N?x:"",R=Ct("recharts-default-tooltip",v),O=Ct("recharts-tooltip-label",p);N&&S&&f!==void 0&&f!==null&&(T=S(x,f));var D=j?{role:"status","aria-live":"assertive"}:{};return b.createElement("div",mb({className:R,style:A},D),b.createElement("p",{className:O,style:E},b.isValidElement(T)?T:"".concat(T)),C())},of="recharts-tooltip-wrapper",WG={visibility:"hidden"};function JG(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return Ct(of,{["".concat(of,"-right")]:Me(n)&&t&&Me(t.x)&&n>=t.x,["".concat(of,"-left")]:Me(n)&&t&&Me(t.x)&&n=t.y,["".concat(of,"-top")]:Me(r)&&t&&Me(t.y)&&r0?l:0),p=n[r]+l;if(t[r])return u[r]?v:p;var x=h[r];if(x==null)return 0;if(u[r]){var S=v,w=x;return SC?Math.max(v,x):Math.max(p,x)}function e7(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function t7(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTop,l=e.offsetLeft,o=e.position,u=e.reverseDirection,f=e.tooltipBox,h=e.useTranslate3d,m=e.viewBox,v,p,x;return f&&f.height>0&&f.width>0&&n?(p=FO({allowEscapeViewBox:t,coordinate:n,key:"x",offset:l,position:o,reverseDirection:u,tooltipDimension:f.width,viewBox:m,viewBoxDimension:m.width}),x=FO({allowEscapeViewBox:t,coordinate:n,key:"y",offset:r,position:o,reverseDirection:u,tooltipDimension:f.height,viewBox:m,viewBoxDimension:m.height}),v=e7({translateX:p,translateY:x,useTranslate3d:h})):v=WG,{cssProperties:v,cssClasses:JG({translateX:p,translateY:x,coordinate:n})}}var n7=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),ad={isSsr:n7()};function r7(e,t){return o7(e)||l7(e,t)||a7(e,t)||i7()}function i7(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a7(e,t){if(e){if(typeof e=="string")return VO(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)?VO(e,t):void 0}}function VO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nad.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=r7(e,2),n=t[0],r=t[1];return b.useEffect(()=>{if(window.matchMedia){var l=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{r(l.matches)};return l.addEventListener("change",o),()=>{l.removeEventListener("change",o)}}},[]),n}function GO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Js(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}})),m=f7(h,2),v=m[0],p=m[1];b.useEffect(()=>{var A=E=>{if(E.key==="Escape"){var N,T,R,O;p({dismissed:!0,dismissedAtCoordinate:{x:(N=(T=e.coordinate)===null||T===void 0?void 0:T.x)!==null&&N!==void 0?N:0,y:(R=(O=e.coordinate)===null||O===void 0?void 0:O.y)!==null&&R!==void 0?R:0}})}};return document.addEventListener("keydown",A),()=>{document.removeEventListener("keydown",A)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(n=e.coordinate)===null||n===void 0?void 0:n.y]),v.dismissed&&(((r=(l=e.coordinate)===null||l===void 0?void 0:l.x)!==null&&r!==void 0?r:0)!==v.dismissedAtCoordinate.x||((o=(u=e.coordinate)===null||u===void 0?void 0:u.y)!==null&&o!==void 0?o:0)!==v.dismissedAtCoordinate.y)&&p(Js(Js({},v),{},{dismissed:!1}));var x=t7({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}),S=x.cssClasses,w=x.cssProperties,j=e.hasPortalFromProps?{}:Js(Js({transition:g7({prefersReducedMotion:f,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},w),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),C=Js(Js({},j),{},{visibility:!v.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return b.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:S,style:C,ref:e.innerRef},e.children)}var y7=b.memo(p7),VP=()=>{var e;return(e=Ie(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function vb(){return vb=Object.assign?Object.assign.bind():function(e){for(var t=1;tat(e.x)&&at(e.y),QO=e=>e.base!=null&&rv(e.base)&&rv(e),sf=e=>e.x,uf=e=>e.y,w7=(e,t)=>{if(typeof e=="function")return e;var n="curve".concat(T1(e));if((n==="curveMonotone"||n==="curveBump")&&t){var r=XO["".concat(n).concat(t==="vertical"?"Y":"X")];if(r)return r}return XO[n]||$v},ZO={connectNulls:!1,type:"linear"},j7=e=>{var t=e.type,n=t===void 0?ZO.type:t,r=e.points,l=r===void 0?[]:r,o=e.baseLine,u=e.layout,f=e.connectNulls,h=f===void 0?ZO.connectNulls:f,m=w7(n,u),v=h?l.filter(rv):l;if(Array.isArray(o)){var p,x=l.map((A,E)=>YO(YO({},A),{},{base:o[E]}));u==="vertical"?p=rm().y(uf).x1(sf).x0(A=>A.base.x):p=rm().x(sf).y1(uf).y0(A=>A.base.y);var S=p.defined(QO).curve(m),w=h?x.filter(QO):x;return S(w)}var j;u==="vertical"&&Me(o)?j=rm().y(uf).x1(sf).x0(o):Me(o)?j=rm().x(sf).y1(uf).y0(o):j=fD().x(sf).y(uf);var C=j.defined(rv).curve(m);return C(v)},GP=e=>{var t=e.className,n=e.points,r=e.path,l=e.pathRef,o=Xu();if((!n||!n.length)&&!r)return null;var u={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},f=n&&n.length?j7(u):r;return b.createElement("path",vb({},Hi(e),z1(e),{className:Ct("recharts-curve",t),d:f===null?void 0:f,ref:l}))},C7=["x","y","top","left","width","height","className"];function gb(){return gb=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(l,"v").concat(r,"M").concat(o,",").concat(t,"h").concat(n),M7=e=>{var t=e.x,n=t===void 0?0:t,r=e.y,l=r===void 0?0:r,o=e.top,u=o===void 0?0:o,f=e.left,h=f===void 0?0:f,m=e.width,v=m===void 0?0:m,p=e.height,x=p===void 0?0:p,S=e.className,w=N7(e,C7),j=_7({x:n,y:l,top:u,left:h,width:v,height:x},w);return!Me(n)||!Me(l)||!Me(v)||!Me(x)||!Me(u)||!Me(h)?null:b.createElement("path",gb({},Qr(j),{className:Ct("recharts-cross",S),d:R7(n,l,v,x,u,h)}))};function D7(e,t,n,r){var l=r/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-l:n.left+.5,y:e==="horizontal"?n.top+.5:t.y-l,width:e==="horizontal"?r:n.width-1,height:e==="horizontal"?n.height-1:r}}var iv=1e-4,qP=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],KP=(e,t)=>e.map((n,r)=>n*t**r).reduce((n,r)=>n+r),JO=(e,t)=>n=>{var r=qP(e,t);return KP(r,n)},P7=(e,t)=>n=>{var r=qP(e,t),l=[...r.map((o,u)=>o*u).slice(1),0];return KP(l,n)},k7=e=>{var t,n=e.split("(");if(n.length!==2||n[0]!=="cubic-bezier")return null;var r=(t=n[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(r==null||r.length!==4)return null;var l=r.map(o=>parseFloat(o));return[l[0],l[1],l[2],l[3]]},I7=function(){for(var t=arguments.length,n=new Array(t),r=0;r{var l=JO(e,n),o=JO(t,r),u=P7(e,n),f=m=>m>1?1:m<0?0:m,h=m=>{for(var v=m>1?1:m,p=v,x=0;x<8;++x){var S=l(p)-v,w=u(p);if(Math.abs(S-v)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,l=t.damping,o=l===void 0?8:l,u=t.dt,f=u===void 0?16.67:u,h=1,m=[0],v=0,p=0,x=1e4,S=0;S{var E,N,T;if(A<=0)return 0;if(A>=1)return h;var R=A*C,O=Math.floor(R),D=R-O;return((E=m[O])!==null&&E!==void 0?E:0)+(((N=m[O+1])!==null&&N!==void 0?N:0)-((T=m[O])!==null&&T!==void 0?T:0))*D}},U7=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return eN(e);case"spring":return L7();default:if(e.split("(")[0]==="cubic-bezier")return eN(e)}return typeof e=="function"?e:null},$7=(e,t,n)=>{var r,l=o=>{var u=t.tick(o);if(t.getState()==="active"){if(n(t.getInterpolated()),t.getProgress()===1){t.complete(),r=void 0;return}r=e.setTimeout(l,u);return}r=e.setTimeout(l,u)};return r=e.setTimeout(l,0),()=>{var o;return(o=r)===null||o===void 0?void 0:o()}},YP=b.createContext($7);YP.Provider;function B7(e){var t=b.useContext(YP);return b.useMemo(()=>e??t,[e,t])}function H7(e,t,n){return(t=F7(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F7(e){var t=V7(e,"string");return typeof t=="symbol"?t:t+""}function V7(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var tN="init",nN="pending",rN="active",G7="completed";function $x(e){return Math.max(0,e)}class q7{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var n;H7(this,"state",tN),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=$x(t.animationDuration),this.animationBegin=$x(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(n=t.onAnimationStart)===null||n===void 0||n.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===tN)return this.state=nN,this.beginStartedTime=t,this.animationBegin;if(this.getState()===nN){if(this.beginStartedTime==null)throw new Error;var n=t-this.beginStartedTime;return n>=this.animationBegin?(this.state=rN,this.animationStartedTime=t,this.nextAnimationUpdate(0)):$x(this.animationBegin-n)}if(this.getState()===rN){if(this.animationStartedTime==null)throw new Error;var r=t-this.animationStartedTime;return this.setProgress(r/this.animationDuration),this.nextAnimationUpdate(r)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=G7}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class K7 extends q7{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(ya(this.getFrom(),this.getTo(),this.getProgress()))}}class Y7{setTimeout(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=performance.now(),l=null,o=u=>{u-r>=n?t(u):l=requestAnimationFrame(o)};return l=requestAnimationFrame(o),()=>{l!=null&&cancelAnimationFrame(l)}}}function X7(e,t){return J7(e)||W7(e,t)||Z7(e,t)||Q7()}function Q7(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Z7(e,t){if(e){if(typeof e=="string")return iN(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)?iN(e,t):void 0}}function iN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{},onAnimationStart:()=>{}},aN=0,Bx=1;function XP(e){var t=Rr(e,eq),n=t.animationId,r=t.isActive,l=t.canBegin,o=t.duration,u=t.easing,f=t.begin,h=t.onAnimationEnd,m=t.onAnimationStart,v=t.children,p=FP(),x=r==="auto"?!ad.isSsr&&!p:r,S=B7(t.animationController),w=b.useState(x?aN:Bx),j=X7(w,2),C=j[0],A=j[1];return b.useEffect(()=>{x||A(Bx)},[x]),b.useEffect(()=>{var E=U7(u);if(!x||!l||E==null)return Yu;var N=new Y7,T=new K7({animationId:n,easing:E,animationDuration:o,animationBegin:f,onAnimationStart:m,onAnimationEnd:h,from:aN,to:Bx});return S(N,T,A)},[S,n,x,l,o,u,f,m,h]),v(Number(C))}function QP(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",n=b.useRef(Rf(t)),r=b.useRef(e);return r.current!==e&&(n.current=Rf(t),r.current=e),n.current}var tq=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),nq=(e,t,n)=>e.map(r=>"".concat(tq(r)," ").concat(t,"ms ").concat(n)).join(","),rq=["radius"],iq=["radius"],lN,oN,sN,uN,cN,fN,dN,hN,mN,vN;function gN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function pN(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var o=pa(n),u=pa(r),f=Math.min(Math.abs(o)/2,Math.abs(u)/2),h=u>=0?1:-1,m=o>=0?1:-1,v=u>=0&&o>=0||u<0&&o<0?1:0,p;if(f>0&&Array.isArray(l)){for(var x=[0,0,0,0],S=0,w=4;Sf?f:C}p=Tn(lN||(lN=Oi(["M",",",""])),e,t+h*x[0]),x[0]>0&&(p+=Tn(oN||(oN=Oi(["A ",",",",0,0,",",",",",""])),x[0],x[0],v,e+m*x[0],t)),p+=Tn(sN||(sN=Oi(["L ",",",""])),e+n-m*x[1],t),x[1]>0&&(p+=Tn(uN||(uN=Oi(["A ",",",",0,0,",`, + `,",",""])),x[1],x[1],v,e+n,t+h*x[1])),p+=Tn(cN||(cN=Oi(["L ",",",""])),e+n,t+r-h*x[2]),x[2]>0&&(p+=Tn(fN||(fN=Oi(["A ",",",",0,0,",`, + `,",",""])),x[2],x[2],v,e+n-m*x[2],t+r)),p+=Tn(dN||(dN=Oi(["L ",",",""])),e+m*x[3],t+r),x[3]>0&&(p+=Tn(hN||(hN=Oi(["A ",",",",0,0,",`, + `,",",""])),x[3],x[3],v,e,t+r-h*x[3])),p+="Z"}else if(f>0&&l===+l&&l>0){var A=Math.min(f,l);p=Tn(mN||(mN=Oi(["M ",",",` + A `,",",",0,0,",",",",",` + L `,",",` + A `,",",",0,0,",",",",",` + L `,",",` + A `,",",",0,0,",",",",",` + L `,",",` + A `,",",",0,0,",",",","," Z"])),e,t+h*A,A,A,v,e+m*A,t,e+n-m*A,t,A,A,v,e+n,t+h*A,e+n,t+r-h*A,A,A,v,e+n-m*A,t+r,e+m*A,t+r,A,A,v,e,t+r-h*A)}else p=Tn(vN||(vN=Oi(["M ",","," h "," v "," h "," Z"])),e,t,n,r,-n);return p},SN={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},mq=e=>{var t=Rr(e,SN),n=b.useRef(null),r=b.useState(-1),l=uq(r,2),o=l[0],u=l[1];b.useEffect(()=>{if(n.current&&n.current.getTotalLength)try{var ie=n.current.getTotalLength();ie&&u(ie)}catch{}},[]);var f=t.x,h=t.y,m=t.width,v=t.height,p=t.radius,x=t.className,S=t.animationEasing,w=t.animationDuration,j=t.animationBegin,C=t.isAnimationActive,A=t.isUpdateAnimationActive,E=b.useRef(m),N=b.useRef(v),T=b.useRef(f),R=b.useRef(h),O=b.useMemo(()=>({x:f,y:h,width:m,height:v,radius:p}),[f,h,m,v,p]),D=QP(O,"rectangle-");if(f!==+f||h!==+h||m!==+m||v!==+v||m===0||v===0)return null;var k=Ct("recharts-rectangle",x);if(!A){var I=Qr(t);I.radius;var P=yN(I,rq);return b.createElement("path",av({},P,{x:pa(f),y:pa(h),width:pa(m),height:pa(v),radius:typeof p=="number"?p:void 0,className:k,d:bN(f,h,m,v,p)}))}var B=E.current,F=N.current,se=T.current,ue=R.current,he="0px ".concat(o===-1?1:o,"px"),G="".concat(o,"px ").concat(o,"px"),ne=nq(["strokeDasharray"],w,typeof S=="string"?S:SN.animationEasing);return b.createElement(XP,{animationId:D,key:D,canBegin:o>0,duration:w,easing:S,isActive:A,begin:j},ie=>{var ce=ya(B,m,ie),U=ya(F,v,ie),Ee=ya(se,f,ie),ee=ya(ue,h,ie);n.current&&(E.current=ce,N.current=U,T.current=Ee,R.current=ee);var ve;C?ie>0?ve={transition:ne,strokeDasharray:G}:ve={strokeDasharray:he}:ve={strokeDasharray:G};var z=Qr(t);z.radius;var Y=yN(z,iq);return b.createElement("path",av({},Y,{radius:typeof p=="number"?p:void 0,className:k,d:bN(Ee,ee,ce,U,p),ref:n,style:pN(pN({},ve),t.style)}))})};function wN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function jN(e){for(var t=1;te*180/Math.PI,Dn=(e,t,n,r)=>({x:e+Math.cos(-lv*r)*n,y:t+Math.sin(-lv*r)*n}),xq=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},bq=(e,t)=>{var n=e.x,r=e.y,l=t.x,o=t.y;return Math.sqrt((n-l)**2+(r-o)**2)},Sq=(e,t)=>{var n=e.x,r=e.y,l=t.cx,o=t.cy,u=bq({x:n,y:r},{x:l,y:o});if(u<=0)return{radius:u,angle:0};var f=(n-l)/u,h=Math.acos(f);return r>o&&(h=2*Math.PI-h),{radius:u,angle:yq(h),angleInRadian:h}},wq=e=>{var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),l=Math.floor(n/360),o=Math.min(r,l);return{startAngle:t-o*360,endAngle:n-o*360}},jq=(e,t)=>{var n=t.startAngle,r=t.endAngle,l=Math.floor(n/360),o=Math.floor(r/360),u=Math.min(l,o);return e+u*360},Cq=(e,t)=>{var n=e.relativeX,r=e.relativeY,l=Sq({x:n,y:r},t),o=l.radius,u=l.angle,f=t.innerRadius,h=t.outerRadius;if(oh||o===0)return null;var m=wq(t),v=m.startAngle,p=m.endAngle,x=u,S;if(v<=p){for(;x>p;)x-=360;for(;x=v&&x<=p}else{for(;x>v;)x-=360;for(;x=p&&x<=v}return S?jN(jN({},t),{},{radius:o,angle:jq(x,t)}):null};function ZP(e){var t=e.cx,n=e.cy,r=e.radius,l=e.startAngle,o=e.endAngle,u=Dn(t,n,r,l),f=Dn(t,n,r,o);return{points:[u,f],cx:t,cy:n,radius:r,startAngle:l,endAngle:o}}var CN,_N,AN,EN,ON,NN,TN;function pb(){return pb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=Gr(t-e),r=Math.min(Math.abs(t-e),359.999);return n*r},cm=e=>{var t=e.cx,n=e.cy,r=e.radius,l=e.angle,o=e.sign,u=e.isExternal,f=e.cornerRadius,h=e.cornerIsExternal,m=f*(u?1:-1)+r,v=Math.asin(f/m)/lv,p=h?l:l+o*v,x=Dn(t,n,m,p),S=Dn(t,n,r,p),w=h?l-o*v:l,j=Dn(t,n,m*Math.cos(v*lv),w);return{center:x,circleTangency:S,lineTangency:j,theta:v}},WP=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,l=e.outerRadius,o=e.startAngle,u=e.endAngle,f=_q(o,u),h=o+f,m=Dn(t,n,l,o),v=Dn(t,n,l,h),p=Tn(CN||(CN=jo(["M ",",",` + A `,",",`,0, + `,",",`, + `,",",` + `])),m.x,m.y,l,l,+(Math.abs(f)>180),+(o>h),v.x,v.y);if(r>0){var x=Dn(t,n,r,o),S=Dn(t,n,r,h);p+=Tn(_N||(_N=jo(["L ",",",` + A `,",",`,0, + `,",",`, + `,","," Z"])),S.x,S.y,r,r,+(Math.abs(f)>180),+(o<=h),x.x,x.y)}else p+=Tn(AN||(AN=jo(["L ",","," Z"])),t,n);return p},Aq=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,l=e.outerRadius,o=e.cornerRadius,u=e.forceCornerRadius,f=e.cornerIsExternal,h=e.startAngle,m=e.endAngle,v=Gr(m-h),p=cm({cx:t,cy:n,radius:l,angle:h,sign:v,cornerRadius:o,cornerIsExternal:f}),x=p.circleTangency,S=p.lineTangency,w=p.theta,j=cm({cx:t,cy:n,radius:l,angle:m,sign:-v,cornerRadius:o,cornerIsExternal:f}),C=j.circleTangency,A=j.lineTangency,E=j.theta,N=f?Math.abs(h-m):Math.abs(h-m)-w-E;if(N<0)return u?Tn(EN||(EN=jo(["M ",",",` + a`,",",",0,0,1,",`,0 + a`,",",",0,0,1,",`,0 + `])),S.x,S.y,o,o,o*2,o,o,-o*2):WP({cx:t,cy:n,innerRadius:r,outerRadius:l,startAngle:h,endAngle:m});var T=Tn(ON||(ON=jo(["M ",",",` + A`,",",",0,0,",",",",",` + A`,",",",0,",",",",",",",` + A`,",",",0,0,",",",",",` + `])),S.x,S.y,o,o,+(v<0),x.x,x.y,l,l,+(N>180),+(v<0),C.x,C.y,o,o,+(v<0),A.x,A.y);if(r>0){var R=cm({cx:t,cy:n,radius:r,angle:h,sign:v,isExternal:!0,cornerRadius:o,cornerIsExternal:f}),O=R.circleTangency,D=R.lineTangency,k=R.theta,I=cm({cx:t,cy:n,radius:r,angle:m,sign:-v,isExternal:!0,cornerRadius:o,cornerIsExternal:f}),P=I.circleTangency,B=I.lineTangency,F=I.theta,se=f?Math.abs(h-m):Math.abs(h-m)-k-F;if(se<0&&o===0)return"".concat(T,"L").concat(t,",").concat(n,"Z");T+=Tn(NN||(NN=jo(["L",",",` + A`,",",",0,0,",",",",",` + A`,",",",0,",",",",",",",` + A`,",",",0,0,",",",",","Z"])),B.x,B.y,o,o,+(v<0),P.x,P.y,r,r,+(se>180),+(v>0),O.x,O.y,o,o,+(v<0),D.x,D.y)}else T+=Tn(TN||(TN=jo(["L",",","Z"])),t,n);return T},Eq={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},Oq=e=>{var t=Rr(e,Eq),n=t.cx,r=t.cy,l=t.innerRadius,o=t.outerRadius,u=t.cornerRadius,f=t.forceCornerRadius,h=t.cornerIsExternal,m=t.startAngle,v=t.endAngle,p=t.className;if(o0&&Math.abs(m-v)<360?j=Aq({cx:n,cy:r,innerRadius:l,outerRadius:o,cornerRadius:Math.min(w,S/2),forceCornerRadius:f,cornerIsExternal:h,startAngle:m,endAngle:v}):j=WP({cx:n,cy:r,innerRadius:l,outerRadius:o,startAngle:m,endAngle:v}),b.createElement("path",pb({},Qr(t),{className:x,d:j}))};function Nq(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(jD(t)){if(e==="centric"){var r=t.cx,l=t.cy,o=t.innerRadius,u=t.outerRadius,f=t.angle,h=Dn(r,l,o,f),m=Dn(r,l,u,f);return[{x:h.x,y:h.y},{x:m.x,y:m.y}]}return ZP(t)}}function Tq(e){return O1(e)?NaN:Number(e)}function Hx(e){return e?(e=Tq(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function JP(e,t,n){n&&typeof n!="number"&&rb(e,t,n)&&(t=n=void 0),e=Hx(e),t===void 0?(t=e,e=0):t=Hx(t),n=n===void 0?ee.chartData,ek=W([qi],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),ld=(e,t,n,r)=>r?ek(e):qi(e),Rq=W([ld],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t!=null?t.slice(n,r+1):[]});W([ek],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t!=null?t.slice(n,r+1):[]});var Mq=W([qi],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t!=null?t.slice(n,r+1):[]});function W1(e,t){return Iq(e)||kq(e,t)||Pq(e,t)||Dq()}function Dq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Pq(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);ne.e^o.s<0?1:-1;for(r=o.d.length,l=e.d.length,t=0,n=re.d[t]^o.s<0?1:-1;return r===l?0:r>l^o.s<0?1:-1};_e.decimalPlaces=_e.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*Nt;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};_e.dividedBy=_e.div=function(e){return wa(this,new this.constructor(e))};_e.dividedToIntegerBy=_e.idiv=function(e){var t=this,n=t.constructor;return jt(wa(t,new n(e),0,1),n.precision)};_e.equals=_e.eq=function(e){return!this.cmp(e)};_e.exponent=function(){return Zt(this)};_e.greaterThan=_e.gt=function(e){return this.cmp(e)>0};_e.greaterThanOrEqualTo=_e.gte=function(e){return this.cmp(e)>=0};_e.isInteger=_e.isint=function(){return this.e>this.d.length-2};_e.isNegative=_e.isneg=function(){return this.s<0};_e.isPositive=_e.ispos=function(){return this.s>0};_e.isZero=function(){return this.s===0};_e.lessThan=_e.lt=function(e){return this.cmp(e)<0};_e.lessThanOrEqualTo=_e.lte=function(e){return this.cmp(e)<1};_e.logarithm=_e.log=function(e){var t,n=this,r=n.constructor,l=r.precision,o=l+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(_r))throw Error(Wr+"NaN");if(n.s<1)throw Error(Wr+(n.s?"NaN":"-Infinity"));return n.eq(_r)?new r(0):(Dt=!1,t=wa(kf(n,o),kf(e,o),o),Dt=!0,jt(t,l))};_e.minus=_e.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?ak(t,e):rk(t,(e.s=-e.s,e))};_e.modulo=_e.mod=function(e){var t,n=this,r=n.constructor,l=r.precision;if(e=new r(e),!e.s)throw Error(Wr+"NaN");return n.s?(Dt=!1,t=wa(n,e,0,1).times(e),Dt=!0,n.minus(t)):jt(new r(n),l)};_e.naturalExponential=_e.exp=function(){return ik(this)};_e.naturalLogarithm=_e.ln=function(){return kf(this)};_e.negated=_e.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};_e.plus=_e.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?rk(t,e):ak(t,(e.s=-e.s,e))};_e.precision=_e.sd=function(e){var t,n,r,l=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Uo+e);if(t=Zt(l)+1,r=l.d.length-1,n=r*Nt+1,r=l.d[r],r){for(;r%10==0;r/=10)n--;for(r=l.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};_e.squareRoot=_e.sqrt=function(){var e,t,n,r,l,o,u,f=this,h=f.constructor;if(f.s<1){if(!f.s)return new h(0);throw Error(Wr+"NaN")}for(e=Zt(f),Dt=!1,l=Math.sqrt(+f),l==0||l==1/0?(t=zi(f.d),(t.length+e)%2==0&&(t+="0"),l=Math.sqrt(t),e=Zu((e+1)/2)-(e<0||e%2),l==1/0?t="5e"+e:(t=l.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new h(t)):r=new h(l.toString()),n=h.precision,l=u=n+3;;)if(o=r,r=o.plus(wa(f,o,u+2)).times(.5),zi(o.d).slice(0,u)===(t=zi(r.d)).slice(0,u)){if(t=t.slice(u-3,u+1),l==u&&t=="4999"){if(jt(o,n+1,0),o.times(o).eq(f)){r=o;break}}else if(t!="9999")break;u+=4}return Dt=!0,jt(r,n)};_e.times=_e.mul=function(e){var t,n,r,l,o,u,f,h,m,v=this,p=v.constructor,x=v.d,S=(e=new p(e)).d;if(!v.s||!e.s)return new p(0);for(e.s*=v.s,n=v.e+e.e,h=x.length,m=S.length,h=0;){for(t=0,l=h+r;l>r;)f=o[l]+S[r]*x[l-r-1]+t,o[l--]=f%mn|0,t=f/mn|0;o[l]=(o[l]+t)%mn|0}for(;!o[--u];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,Dt?jt(e,p.precision):e};_e.toDecimalPlaces=_e.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Gi(e,0,Qu),t===void 0?t=r.rounding:Gi(t,0,8),jt(n,e+Zt(n)+1,t))};_e.toExponential=function(e,t){var n,r=this,l=r.constructor;return e===void 0?n=Yo(r,!0):(Gi(e,0,Qu),t===void 0?t=l.rounding:Gi(t,0,8),r=jt(new l(r),e+1,t),n=Yo(r,!0,e+1)),n};_e.toFixed=function(e,t){var n,r,l=this,o=l.constructor;return e===void 0?Yo(l):(Gi(e,0,Qu),t===void 0?t=o.rounding:Gi(t,0,8),r=jt(new o(l),e+Zt(l)+1,t),n=Yo(r.abs(),!1,e+Zt(r)+1),l.isneg()&&!l.isZero()?"-"+n:n)};_e.toInteger=_e.toint=function(){var e=this,t=e.constructor;return jt(new t(e),Zt(e)+1,t.rounding)};_e.toNumber=function(){return+this};_e.toPower=_e.pow=function(e){var t,n,r,l,o,u,f=this,h=f.constructor,m=12,v=+(e=new h(e));if(!e.s)return new h(_r);if(f=new h(f),!f.s){if(e.s<1)throw Error(Wr+"Infinity");return f}if(f.eq(_r))return f;if(r=h.precision,e.eq(_r))return jt(f,r);if(t=e.e,n=e.d.length-1,u=t>=n,o=f.s,u){if((n=v<0?-v:v)<=nk){for(l=new h(_r),t=Math.ceil(r/Nt+4),Dt=!1;n%2&&(l=l.times(f),PN(l.d,t)),n=Zu(n/2),n!==0;)f=f.times(f),PN(f.d,t);return Dt=!0,e.s<0?new h(_r).div(l):jt(l,r)}}else if(o<0)throw Error(Wr+"NaN");return o=o<0&&e.d[Math.max(t,n)]&1?-1:1,f.s=1,Dt=!1,l=e.times(kf(f,r+m)),Dt=!0,l=ik(l),l.s=o,l};_e.toPrecision=function(e,t){var n,r,l=this,o=l.constructor;return e===void 0?(n=Zt(l),r=Yo(l,n<=o.toExpNeg||n>=o.toExpPos)):(Gi(e,1,Qu),t===void 0?t=o.rounding:Gi(t,0,8),l=jt(new o(l),e,t),n=Zt(l),r=Yo(l,e<=n||n<=o.toExpNeg,e)),r};_e.toSignificantDigits=_e.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Gi(e,1,Qu),t===void 0?t=r.rounding:Gi(t,0,8)),jt(new r(n),e,t)};_e.toString=_e.valueOf=_e.val=_e.toJSON=_e[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Zt(e),n=e.constructor;return Yo(e,t<=n.toExpNeg||t>=n.toExpPos)};function rk(e,t){var n,r,l,o,u,f,h,m,v=e.constructor,p=v.precision;if(!e.s||!t.s)return t.s||(t=new v(e)),Dt?jt(t,p):t;if(h=e.d,m=t.d,u=e.e,l=t.e,h=h.slice(),o=u-l,o){for(o<0?(r=h,o=-o,f=m.length):(r=m,l=u,f=h.length),u=Math.ceil(p/Nt),f=u>f?u+1:f+1,o>f&&(o=f,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(f=h.length,o=m.length,f-o<0&&(o=f,r=m,m=h,h=r),n=0;o;)n=(h[--o]=h[o]+m[o]+n)/mn|0,h[o]%=mn;for(n&&(h.unshift(n),++l),f=h.length;h[--f]==0;)h.pop();return t.d=h,t.e=l,Dt?jt(t,p):t}function Gi(e,t,n){if(e!==~~e||en)throw Error(Uo+e)}function zi(e){var t,n,r,l=e.length-1,o="",u=e[0];if(l>0){for(o+=u,t=1;tu?1:-1;else for(f=h=0;fl[f]?1:-1;break}return h}function n(r,l,o){for(var u=0;o--;)r[o]-=u,u=r[o]1;)r.shift()}return function(r,l,o,u){var f,h,m,v,p,x,S,w,j,C,A,E,N,T,R,O,D,k,I=r.constructor,P=r.s==l.s?1:-1,B=r.d,F=l.d;if(!r.s)return new I(r);if(!l.s)throw Error(Wr+"Division by zero");for(h=r.e-l.e,D=F.length,R=B.length,S=new I(P),w=S.d=[],m=0;F[m]==(B[m]||0);)++m;if(F[m]>(B[m]||0)&&--h,o==null?E=o=I.precision:u?E=o+(Zt(r)-Zt(l))+1:E=o,E<0)return new I(0);if(E=E/Nt+2|0,m=0,D==1)for(v=0,F=F[0],E++;(m1&&(F=e(F,v),B=e(B,v),D=F.length,R=B.length),T=D,j=B.slice(0,D),C=j.length;C=mn/2&&++O;do v=0,f=t(F,j,D,C),f<0?(A=j[0],D!=C&&(A=A*mn+(j[1]||0)),v=A/O|0,v>1?(v>=mn&&(v=mn-1),p=e(F,v),x=p.length,C=j.length,f=t(p,j,x,C),f==1&&(v--,n(p,D16)throw Error(J1+Zt(e));if(!e.s)return new v(_r);for(Dt=!1,f=p,u=new v(.03125);e.abs().gte(.1);)e=e.times(u),m+=5;for(r=Math.log(bo(2,m))/Math.LN10*2+5|0,f+=r,n=l=o=new v(_r),v.precision=f;;){if(l=jt(l.times(e),f),n=n.times(++h),u=o.plus(wa(l,n,f)),zi(u.d).slice(0,f)===zi(o.d).slice(0,f)){for(;m--;)o=jt(o.times(o),f);return v.precision=p,t==null?(Dt=!0,jt(o,p)):o}o=u}}function Zt(e){for(var t=e.e*Nt,n=e.d[0];n>=10;n/=10)t++;return t}function Fx(e,t,n){if(t>e.LN10.sd())throw Dt=!0,n&&(e.precision=n),Error(Wr+"LN10 precision limit exceeded");return jt(new e(e.LN10),t)}function xl(e){for(var t="";e--;)t+="0";return t}function kf(e,t){var n,r,l,o,u,f,h,m,v,p=1,x=10,S=e,w=S.d,j=S.constructor,C=j.precision;if(S.s<1)throw Error(Wr+(S.s?"NaN":"-Infinity"));if(S.eq(_r))return new j(0);if(t==null?(Dt=!1,m=C):m=t,S.eq(10))return t==null&&(Dt=!0),Fx(j,m);if(m+=x,j.precision=m,n=zi(w),r=n.charAt(0),o=Zt(S),Math.abs(o)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)S=S.times(e),n=zi(S.d),r=n.charAt(0),p++;o=Zt(S),r>1?(S=new j("0."+n),o++):S=new j(r+"."+n.slice(1))}else return h=Fx(j,m+2,C).times(o+""),S=kf(new j(r+"."+n.slice(1)),m-x).plus(h),j.precision=C,t==null?(Dt=!0,jt(S,C)):S;for(f=u=S=wa(S.minus(_r),S.plus(_r),m),v=jt(S.times(S),m),l=3;;){if(u=jt(u.times(v),m),h=f.plus(wa(u,new j(l),m)),zi(h.d).slice(0,m)===zi(f.d).slice(0,m))return f=f.times(2),o!==0&&(f=f.plus(Fx(j,m+2,C).times(o+""))),f=wa(f,new j(p),m),j.precision=C,t==null?(Dt=!0,jt(f,C)):f;f=h,l+=2}}function DN(e,t){var n,r,l;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(l=t.length;t.charCodeAt(l-1)===48;)--l;if(t=t.slice(r,l),t){if(l-=r,n=n-r-1,e.e=Zu(n/Nt),e.d=[],r=(n+1)%Nt,n<0&&(r+=Nt),rov||e.e<-ov))throw Error(J1+n)}else e.s=0,e.e=0,e.d=[0];return e}function jt(e,t,n){var r,l,o,u,f,h,m,v,p=e.d;for(u=1,o=p[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=Nt,l=t,m=p[v=0];else{if(v=Math.ceil((r+1)/Nt),o=p.length,v>=o)return e;for(m=o=p[v],u=1;o>=10;o/=10)u++;r%=Nt,l=r-Nt+u}if(n!==void 0&&(o=bo(10,u-l-1),f=m/o%10|0,h=t<0||p[v+1]!==void 0||m%o,h=n<4?(f||h)&&(n==0||n==(e.s<0?3:2)):f>5||f==5&&(n==4||h||n==6&&(r>0?l>0?m/bo(10,u-l):0:p[v-1])%10&1||n==(e.s<0?8:7))),t<1||!p[0])return h?(o=Zt(e),p.length=1,t=t-o-1,p[0]=bo(10,(Nt-t%Nt)%Nt),e.e=Zu(-t/Nt)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(r==0?(p.length=v,o=1,v--):(p.length=v+1,o=bo(10,Nt-r),p[v]=l>0?(m/bo(10,u-l)%bo(10,l)|0)*o:0),h)for(;;)if(v==0){(p[0]+=o)==mn&&(p[0]=1,++e.e);break}else{if(p[v]+=o,p[v]!=mn)break;p[v--]=0,o=1}for(r=p.length;p[--r]===0;)p.pop();if(Dt&&(e.e>ov||e.e<-ov))throw Error(J1+Zt(e));return e}function ak(e,t){var n,r,l,o,u,f,h,m,v,p,x=e.constructor,S=x.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new x(e),Dt?jt(t,S):t;if(h=e.d,p=t.d,r=t.e,m=e.e,h=h.slice(),u=m-r,u){for(v=u<0,v?(n=h,u=-u,f=p.length):(n=p,r=m,f=h.length),l=Math.max(Math.ceil(S/Nt),f)+2,u>l&&(u=l,n.length=1),n.reverse(),l=u;l--;)n.push(0);n.reverse()}else{for(l=h.length,f=p.length,v=l0;--l)h[f++]=0;for(l=p.length;l>u;){if(h[--l]0?o=o.charAt(0)+"."+o.slice(1)+xl(r):u>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(l<0?"e":"e+")+l):l<0?(o="0."+xl(-l-1)+o,n&&(r=n-u)>0&&(o+=xl(r))):l>=u?(o+=xl(l+1-u),n&&(r=n-l-1)>0&&(o=o+"."+xl(r))):((r=l+1)0&&(l+1===u&&(o+="."),o+=xl(r))),e.s<0?"-"+o:o}function PN(e,t){if(e.length>t)return e.length=t,!0}function lk(e){var t,n,r;function l(o){var u=this;if(!(u instanceof l))return new l(o);if(u.constructor=l,o instanceof l){u.s=o.s,u.e=o.e,u.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Uo+o);if(o>0)u.s=1;else if(o<0)o=-o,u.s=-1;else{u.s=0,u.e=0,u.d=[0];return}if(o===~~o&&o<1e7){u.e=0,u.d=[o];return}return DN(u,o.toString())}else if(typeof o!="string")throw Error(Uo+o);if(o.charCodeAt(0)===45?(o=o.slice(1),u.s=-1):u.s=1,Uq.test(o))DN(u,o);else throw Error(Uo+o)}if(l.prototype=_e,l.ROUND_UP=0,l.ROUND_DOWN=1,l.ROUND_CEIL=2,l.ROUND_FLOOR=3,l.ROUND_HALF_UP=4,l.ROUND_HALF_DOWN=5,l.ROUND_HALF_EVEN=6,l.ROUND_HALF_CEIL=7,l.ROUND_HALF_FLOOR=8,l.clone=lk,l.config=l.set=$q,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=l[t+1]&&r<=l[t+2])this[n]=r;else throw Error(Uo+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(Uo+n+": "+r);return this}var eS=lk(Lq);_r=new eS(1);const tt=eS;function ok(e){var t;return e===0?t=1:t=Math.floor(new tt(e).abs().log(10).toNumber())+1,t}function sk(e,t,n){for(var r=new tt(e),l=0,o=[];r.lt(t)&&l<1e5;)o.push(r.toNumber()),r=r.add(n),l++;return o}function If(e,t){return Vq(e)||Fq(e,t)||Hq(e,t)||Bq()}function Bq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hq(e,t){if(e){if(typeof e=="string")return kN(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)?kN(e,t):void 0}}function kN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=If(e,2),n=t[0],r=t[1],l=n,o=r;return n>r&&(l=r,o=n),[l,o]},tS=(e,t,n)=>{if(e.lte(0))return new tt(0);var r=ok(e.toNumber()),l=new tt(10).pow(r),o=e.div(l),u=r!==1?.05:.1,f=new tt(Math.ceil(o.div(u).toNumber())).add(n).mul(u),h=f.mul(l);return t?new tt(h.toNumber()):new tt(Math.ceil(h.toNumber()))},ck=(e,t,n)=>{var r;if(e.lte(0))return new tt(0);var l=[1,2,2.5,5],o=e.toNumber(),u=Math.floor(new tt(o).abs().log(10).toNumber()),f=new tt(10).pow(u),h=e.div(f).toNumber(),m=l.findIndex(S=>S>=h-1e-10);if(m===-1&&(f=f.mul(10),m=0),m+=n,m>=l.length){var v=Math.floor(m/l.length);m%=l.length,f=f.mul(new tt(10).pow(v))}var p=(r=l[m])!==null&&r!==void 0?r:1,x=new tt(p).mul(f);return t?x:new tt(Math.ceil(x.toNumber()))},Gq=(e,t,n)=>{var r=new tt(1),l=new tt(e);if(!l.isint()&&n){var o=Math.abs(e);o<1?(r=new tt(10).pow(ok(e)-1),l=new tt(Math.floor(l.div(r).toNumber())).mul(r)):o>1&&(l=new tt(Math.floor(e)))}else e===0?l=new tt(Math.floor((t-1)/2)):n||(l=new tt(Math.floor(e)));for(var u=Math.floor((t-1)/2),f=[],h=0;h4&&arguments[4]!==void 0?arguments[4]:0,u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:tS;if(!Number.isFinite((n-t)/(r-1)))return{step:new tt(0),tickMin:new tt(0),tickMax:new tt(0)};var f=u(new tt(n).sub(t).div(r-1),l,o),h;t<=0&&n>=0?h=new tt(0):(h=new tt(t).add(n).div(2),h=h.sub(new tt(h).mod(f)));var m=Math.ceil(h.sub(t).div(f).toNumber()),v=Math.ceil(new tt(n).sub(h).div(f).toNumber()),p=m+v+1;return p>r?fk(t,n,r,l,o+1,u):(p0?v+(r-p):v,m=n>0?m:m+(r-p)),{step:f,tickMin:h.sub(new tt(m).mul(f)),tickMax:h.add(new tt(v).mul(f))})},IN=function(t){var n=If(t,2),r=n[0],l=n[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",h=Math.max(o,2),m=uk([r,l]),v=If(m,2),p=v[0],x=v[1];if(p===-1/0||x===1/0){var S=x===1/0?[p,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),x];return r>l?S.reverse():S}if(p===x)return Gq(p,o,u);var w=f==="snap125"?ck:tS,j=fk(p,x,h,u,0,w),C=j.step,A=j.tickMin,E=j.tickMax,N=sk(A,E.add(new tt(.1).mul(C)),C);return r>l?N.reverse():N},zN=function(t,n){var r=If(t,2),l=r[0],o=r[1],u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",h=uk([l,o]),m=If(h,2),v=m[0],p=m[1];if(v===-1/0||p===1/0)return[l,o];if(v===p)return[v];var x=f==="snap125"?ck:tS,S=Math.max(n,2),w=x(new tt(p).sub(v).div(S-1),u,0),j=[...sk(new tt(v),new tt(p),w),p];if(u===!1){j=j.map(A=>Math.round(A));var C=j.length-1;C>0&&j[C]===j[C-1]&&(j=j.slice(0,C))}return l>o?j.reverse():j},qq=e=>e.rootProps.barCategoryGap,ag=e=>e.rootProps.stackOffset,dk=e=>e.rootProps.reverseStackOrder,nS=e=>e.options.chartName,rS=e=>e.rootProps.syncId,hk=e=>e.rootProps.syncMethod,iS=e=>e.options.eventEmitter,Zn={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},vo={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},Ni={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},lg=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function og(e,t,n){if(n!=="auto")return n;if(e!=null)return Ma(e,t)?"category":"number"}function LN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function sv(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},aS=W([Qq,BP],(e,t)=>{var n;if(e!=null)return e;var r=(n=og(t,"angleAxis",UN.type))!==null&&n!==void 0?n:"category";return sv(sv({},UN),{},{type:r})}),Zq=(e,t)=>e.polarAxis.radiusAxis[t],lS=W([Zq,BP],(e,t)=>{var n;if(e!=null)return e;var r=(n=og(t,"radiusAxis",$N.type))!==null&&n!==void 0?n:"category";return sv(sv({},$N),{},{type:r})}),sg=e=>e.polarOptions,oS=W([Da,Pa,Pn],xq),mk=W([sg,oS],(e,t)=>{if(e!=null)return kl(e.innerRadius,t,0)}),vk=W([sg,oS],(e,t)=>{if(e!=null)return kl(e.outerRadius,t,t*.8)}),Wq=e=>{if(e==null)return[0,0];var t=e.startAngle,n=e.endAngle;return[t,n]},gk=W([sg],Wq);W([aS,gk],lg);var pk=W([oS,mk,vk],(e,t,n)=>{if(!(e==null||t==null||n==null))return[t,n]});W([lS,pk],lg);var yk=W([It,sg,mk,vk,Da,Pa],(e,t,n,r,l,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||n==null||r==null)){var u=t.cx,f=t.cy,h=t.startAngle,m=t.endAngle;return{cx:kl(u,l,l/2),cy:kl(f,o,o/2),innerRadius:n,outerRadius:r,startAngle:h,endAngle:m,clockWise:!1}}}),xn=(e,t)=>t,ug=(e,t,n)=>n;function xk(e){return e==null?void 0:e.id}function bk(e,t,n){var r=t.chartData,l=r===void 0?[]:r,o=n.allowDuplicatedCategory,u=n.dataKey,f=new Map;return e.forEach(h=>{var m,v=(m=h.data)!==null&&m!==void 0?m:l;if(!(v==null||v.length===0)){var p=xk(h);v.forEach((x,S)=>{var w=u==null||o?S:String(pn(x,u,null)),j=pn(x,h.dataKey,0),C;f.has(w)?C=f.get(w):C={},Object.assign(C,{[p]:j}),f.set(w,C)})}}),Array.from(f.values())}function sS(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var od=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function cg(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function Jq(e,t){if(e.length===t.length){for(var n=0;n{var t=It(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Wu=e=>e.tooltip.settings.axisId;function uS(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),l=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:(function(o){function u(){return o.apply(this,arguments)}return u.toString=function(){return o.toString()},u})(()=>l),rangeMin:()=>l[0],rangeMax:()=>l[1],isInRange(o){var u=l[0],f=l[1];return u<=f?o>=u&&o<=f:o>=f&&o<=u},bandwidth:n?()=>n.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,u)=>{var f=e(o);if(f!=null){if(e.bandwidth&&u!==null&&u!==void 0&&u.position){var h=e.bandwidth();switch(u.position){case"middle":f+=h/2;break;case"end":f+=h;break}}return f}}}}}var eK=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Ui(t)){for(var n,r,l=0;lr)&&(r=o))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t}default:return t}};function Rl(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function tK(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function cS(e){let t,n,r;e.length!==2?(t=Rl,n=(f,h)=>Rl(e(f),h),r=(f,h)=>e(f)-h):(t=e===Rl||e===tK?e:nK,n=e,r=e);function l(f,h,m=0,v=f.length){if(m>>1;n(f[p],h)<0?m=p+1:v=p}while(m>>1;n(f[p],h)<=0?m=p+1:v=p}while(mm&&r(f[p-1],h)>-r(f[p],h)?p-1:p}return{left:l,center:u,right:o}}function nK(){return 0}function Sk(e){return e===null?NaN:+e}function*rK(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const iK=cS(Rl),sd=iK.right;cS(Sk).center;class BN extends Map{constructor(t,n=oK){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,l]of t)this.set(r,l)}get(t){return super.get(HN(this,t))}has(t){return super.has(HN(this,t))}set(t,n){return super.set(aK(this,t),n)}delete(t){return super.delete(lK(this,t))}}function HN({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function aK({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function lK({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function oK(e){return e!==null&&typeof e=="object"?e.valueOf():e}function sK(e=Rl){if(e===Rl)return wk;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function wk(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const uK=Math.sqrt(50),cK=Math.sqrt(10),fK=Math.sqrt(2);function uv(e,t,n){const r=(t-e)/Math.max(0,n),l=Math.floor(Math.log10(r)),o=r/Math.pow(10,l),u=o>=uK?10:o>=cK?5:o>=fK?2:1;let f,h,m;return l<0?(m=Math.pow(10,-l)/u,f=Math.round(e*m),h=Math.round(t*m),f/mt&&--h,m=-m):(m=Math.pow(10,l)*u,f=Math.round(e/m),h=Math.round(t/m),f*mt&&--h),h0))return[];if(e===t)return[e];const r=t=l))return[];const f=o-l+1,h=new Array(f);if(r)if(u<0)for(let m=0;m=r)&&(n=r);return n}function VN(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function jk(e,t,n=0,r=1/0,l){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(l=l===void 0?wk:sK(l);r>n;){if(r-n>600){const h=r-n+1,m=t-n+1,v=Math.log(h),p=.5*Math.exp(2*v/3),x=.5*Math.sqrt(v*p*(h-p)/h)*(m-h/2<0?-1:1),S=Math.max(n,Math.floor(t-m*p/h+x)),w=Math.min(r,Math.floor(t+(h-m)*p/h+x));jk(e,t,S,w,l)}const o=e[t];let u=n,f=r;for(cf(e,n,t),l(e[r],o)>0&&cf(e,n,r);u0;)--f}l(e[n],o)===0?cf(e,n,f):(++f,cf(e,f,r)),f<=t&&(n=f+1),t<=f&&(r=f-1)}return e}function cf(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function dK(e,t,n){if(e=Float64Array.from(rK(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return VN(e);if(t>=1)return FN(e);var r,l=(r-1)*t,o=Math.floor(l),u=FN(jk(e,o).subarray(0,o+1)),f=VN(e.subarray(o+1));return u+(f-u)*(l-o)}}function hK(e,t,n=Sk){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,l=(r-1)*t,o=Math.floor(l),u=+n(e[o],o,e),f=+n(e[o+1],o+1,e);return u+(f-u)*(l-o)}}function mK(e,t,n){e=+e,t=+t,n=(l=arguments.length)<2?(t=e,e=0,1):l<3?1:+n;for(var r=-1,l=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(l);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?fm(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?fm(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=gK.exec(e))?new gn(t[1],t[2],t[3],1):(t=pK.exec(e))?new gn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=yK.exec(e))?fm(t[1],t[2],t[3],t[4]):(t=xK.exec(e))?fm(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=bK.exec(e))?ZN(t[1],t[2]/100,t[3]/100,1):(t=SK.exec(e))?ZN(t[1],t[2]/100,t[3]/100,t[4]):GN.hasOwnProperty(e)?YN(GN[e]):e==="transparent"?new gn(NaN,NaN,NaN,0):null}function YN(e){return new gn(e>>16&255,e>>8&255,e&255,1)}function fm(e,t,n,r){return r<=0&&(e=t=n=NaN),new gn(e,t,n,r)}function fS(e){return e instanceof Bl||(e=Lf(e)),e?(e=e.rgb(),new gn(e.r,e.g,e.b,e.opacity)):new gn}function Sb(e,t,n,r){return arguments.length===1?fS(e):new gn(e,t,n,r??1)}function gn(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ju(gn,Sb,ud(Bl,{brighter(e){return e=e==null?zu:Math.pow(zu,e),new gn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Xo:Math.pow(Xo,e),new gn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gn($o(this.r),$o(this.g),$o(this.b),cv(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:XN,formatHex:XN,formatHex8:CK,formatRgb:QN,toString:QN}));function XN(){return`#${Co(this.r)}${Co(this.g)}${Co(this.b)}`}function CK(){return`#${Co(this.r)}${Co(this.g)}${Co(this.b)}${Co((isNaN(this.opacity)?1:this.opacity)*255)}`}function QN(){const e=cv(this.opacity);return`${e===1?"rgb(":"rgba("}${$o(this.r)}, ${$o(this.g)}, ${$o(this.b)}${e===1?")":`, ${e})`}`}function cv(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function $o(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Co(e){return e=$o(e),(e<16?"0":"")+e.toString(16)}function ZN(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ci(e,t,n,r)}function Ck(e){if(e instanceof ci)return new ci(e.h,e.s,e.l,e.opacity);if(e instanceof Bl||(e=Lf(e)),!e)return new ci;if(e instanceof ci)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,l=Math.min(t,n,r),o=Math.max(t,n,r),u=NaN,f=o-l,h=(o+l)/2;return f?(t===o?u=(n-r)/f+(n0&&h<1?0:u,new ci(u,f,h,e.opacity)}function _K(e,t,n,r){return arguments.length===1?Ck(e):new ci(e,t,n,r??1)}function ci(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ju(ci,_K,ud(Bl,{brighter(e){return e=e==null?zu:Math.pow(zu,e),new ci(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Xo:Math.pow(Xo,e),new ci(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,l=2*n-r;return new gn(Vx(e>=240?e-240:e+120,l,r),Vx(e,l,r),Vx(e<120?e+240:e-120,l,r),this.opacity)},clamp(){return new ci(WN(this.h),dm(this.s),dm(this.l),cv(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(){const e=cv(this.opacity);return`${e===1?"hsl(":"hsla("}${WN(this.h)}, ${dm(this.s)*100}%, ${dm(this.l)*100}%${e===1?")":`, ${e})`}`}}));function WN(e){return e=(e||0)%360,e<0?e+360:e}function dm(e){return Math.max(0,Math.min(1,e||0))}function Vx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const _k=Math.PI/180,Ak=180/Math.PI,fv=18,Ek=.96422,Ok=1,Nk=.82521,Tk=4/29,pu=6/29,Rk=3*pu*pu,AK=pu*pu*pu;function Mk(e){if(e instanceof Bi)return new Bi(e.l,e.a,e.b,e.opacity);if(e instanceof xa)return Dk(e);e instanceof gn||(e=fS(e));var t=Yx(e.r),n=Yx(e.g),r=Yx(e.b),l=Gx((.2225045*t+.7168786*n+.0606169*r)/Ok),o,u;return t===n&&n===r?o=u=l:(o=Gx((.4360747*t+.3850649*n+.1430804*r)/Ek),u=Gx((.0139322*t+.0971045*n+.7141733*r)/Nk)),new Bi(116*l-16,500*(o-l),200*(l-u),e.opacity)}function EK(e,t,n,r){return arguments.length===1?Mk(e):new Bi(e,t,n,r??1)}function Bi(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}Ju(Bi,EK,ud(Bl,{brighter(e){return new Bi(this.l+fv*(e??1),this.a,this.b,this.opacity)},darker(e){return new Bi(this.l-fv*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=Ek*qx(t),e=Ok*qx(e),n=Nk*qx(n),new gn(Kx(3.1338561*t-1.6168667*e-.4906146*n),Kx(-.9787684*t+1.9161415*e+.033454*n),Kx(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function Gx(e){return e>AK?Math.pow(e,1/3):e/Rk+Tk}function qx(e){return e>pu?e*e*e:Rk*(e-Tk)}function Kx(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Yx(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function OK(e){if(e instanceof xa)return new xa(e.h,e.c,e.l,e.opacity);if(e instanceof Bi||(e=Mk(e)),e.a===0&&e.b===0)return new xa(NaN,0()=>e;function kk(e,t){return function(n){return e+n*t}}function RK(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function MK(e,t){var n=t-e;return n?kk(e,n>180||n<-180?n-360*Math.round(n/360):n):dg(isNaN(e)?t:e)}function DK(e){return(e=+e)==1?yu:function(t,n){return n-t?RK(t,n,e):dg(isNaN(t)?n:t)}}function yu(e,t){var n=t-e;return n?kk(e,n):dg(isNaN(e)?t:e)}var n2=(function e(t){var n=DK(t);function r(l,o){var u=n((l=Sb(l)).r,(o=Sb(o)).r),f=n(l.g,o.g),h=n(l.b,o.b),m=yu(l.opacity,o.opacity);return function(v){return l.r=u(v),l.g=f(v),l.b=h(v),l.opacity=m(v),l+""}}return r.gamma=e,r})(1);function PK(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),l;return function(o){for(l=0;ln&&(o=t.slice(n,o),f[u]?f[u]+=o:f[++u]=o),(r=r[0])===(l=l[0])?f[u]?f[u]+=l:f[++u]=l:(f[++u]=null,h.push({i:u,x:dv(r,l)})),n=Xx.lastIndex;return n=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function hv(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 Lu(e){return e=hv(Math.abs(e)),e?e[1]:NaN}function KK(e,t){return function(n,r){for(var l=n.length,o=[],u=0,f=e[0],h=0;l>0&&f>0&&(h+f+1>r&&(f=Math.max(1,r-h)),o.push(n.substring(l-=f,l+f)),!((h+=f+1)>r));)f=e[u=(u+1)%e.length];return o.reverse().join(t)}}function YK(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var XK=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $f(e){if(!(t=XK.exec(e)))throw new Error("invalid format: "+e);var t;return new vS({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]})}$f.prototype=vS.prototype;function vS(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+""}vS.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 QK(e){e:for(var t=e.length,n=1,r=-1,l;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(l+1):e}var mv;function ZK(e,t){var n=hv(e,t);if(!n)return mv=void 0,e.toPrecision(t);var r=n[0],l=n[1],o=l-(mv=Math.max(-8,Math.min(8,Math.floor(l/3)))*3)+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+hv(e,Math.max(0,t+o-1))[0]}function i2(e,t){var n=hv(e,t);if(!n)return e+"";var r=n[0],l=n[1];return l<0?"0."+new Array(-l).join("0")+r:r.length>l+1?r.slice(0,l+1)+"."+r.slice(l+1):r+new Array(l-r.length+2).join("0")}var a2={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:qK,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)=>i2(e*100,t),r:i2,s:ZK,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function l2(e){return e}var o2=Array.prototype.map,s2=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function WK(e){var t=e.grouping===void 0||e.thousands===void 0?l2:KK(o2.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",l=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?l2:YK(o2.call(e.numerals,String)),u=e.percent===void 0?"%":e.percent+"",f=e.minus===void 0?"−":e.minus+"",h=e.nan===void 0?"NaN":e.nan+"";function m(p,x){p=$f(p);var S=p.fill,w=p.align,j=p.sign,C=p.symbol,A=p.zero,E=p.width,N=p.comma,T=p.precision,R=p.trim,O=p.type;O==="n"?(N=!0,O="g"):a2[O]||(T===void 0&&(T=12),R=!0,O="g"),(A||S==="0"&&w==="=")&&(A=!0,S="0",w="=");var D=(x&&x.prefix!==void 0?x.prefix:"")+(C==="$"?n:C==="#"&&/[boxX]/.test(O)?"0"+O.toLowerCase():""),k=(C==="$"?r:/[%p]/.test(O)?u:"")+(x&&x.suffix!==void 0?x.suffix:""),I=a2[O],P=/[defgprs%]/.test(O);T=T===void 0?6:/[gprs]/.test(O)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function B(F){var se=D,ue=k,he,G,ne;if(O==="c")ue=I(F)+ue,F="";else{F=+F;var ie=F<0||1/F<0;if(F=isNaN(F)?h:I(Math.abs(F),T),R&&(F=QK(F)),ie&&+F==0&&j!=="+"&&(ie=!1),se=(ie?j==="("?j:f:j==="-"||j==="("?"":j)+se,ue=(O==="s"&&!isNaN(F)&&mv!==void 0?s2[8+mv/3]:"")+ue+(ie&&j==="("?")":""),P){for(he=-1,G=F.length;++hene||ne>57){ue=(ne===46?l+F.slice(he+1):F.slice(he))+ue,F=F.slice(0,he);break}}}N&&!A&&(F=t(F,1/0));var ce=se.length+F.length+ue.length,U=ce>1)+se+F+ue+U.slice(ce);break;default:F=U+se+F+ue;break}return o(F)}return B.toString=function(){return p+""},B}function v(p,x){var S=Math.max(-8,Math.min(8,Math.floor(Lu(x)/3)))*3,w=Math.pow(10,-S),j=m((p=$f(p),p.type="f",p),{suffix:s2[8+S/3]});return function(C){return j(w*C)}}return{format:m,formatPrefix:v}}var hm,gS,zk;JK({thousands:",",grouping:[3],currency:["$",""]});function JK(e){return hm=WK(e),gS=hm.format,zk=hm.formatPrefix,hm}function eY(e){return Math.max(0,-Lu(Math.abs(e)))}function tY(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Lu(t)/3)))*3-Lu(Math.abs(e)))}function nY(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Lu(t)-Lu(e))+1}const Qx=new Date,Zx=new Date;function on(e,t,n,r){function l(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return l.floor=o=>(e(o=new Date(+o)),o),l.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),l.round=o=>{const u=l(o),f=l.ceil(o);return o-u(t(o=new Date(+o),u==null?1:Math.floor(u)),o),l.range=(o,u,f)=>{const h=[];if(o=l.ceil(o),f=f==null?1:Math.floor(f),!(o0))return h;let m;do h.push(m=new Date(+o)),t(o,f),e(o);while(mon(u=>{if(u>=u)for(;e(u),!o(u);)u.setTime(u-1)},(u,f)=>{if(u>=u)if(f<0)for(;++f<=0;)for(;t(u,-1),!o(u););else for(;--f>=0;)for(;t(u,1),!o(u););}),n&&(l.count=(o,u)=>(Qx.setTime(+o),Zx.setTime(+u),e(Qx),e(Zx),Math.floor(n(Qx,Zx))),l.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?l.filter(r?u=>r(u)%o===0:u=>l.count(0,u)%o===0):l)),l}const vv=on(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);vv.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?on(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):vv);vv.range;const ba=1e3,Kr=ba*60,Sa=Kr*60,Na=Sa*24,pS=Na*7,u2=Na*30,Wx=Na*365,_o=on(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*ba)},(e,t)=>(t-e)/ba,e=>e.getUTCSeconds());_o.range;const yS=on(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ba)},(e,t)=>{e.setTime(+e+t*Kr)},(e,t)=>(t-e)/Kr,e=>e.getMinutes());yS.range;const xS=on(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Kr)},(e,t)=>(t-e)/Kr,e=>e.getUTCMinutes());xS.range;const bS=on(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ba-e.getMinutes()*Kr)},(e,t)=>{e.setTime(+e+t*Sa)},(e,t)=>(t-e)/Sa,e=>e.getHours());bS.range;const SS=on(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Sa)},(e,t)=>(t-e)/Sa,e=>e.getUTCHours());SS.range;const cd=on(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Kr)/Na,e=>e.getDate()-1);cd.range;const hg=on(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Na,e=>e.getUTCDate()-1);hg.range;const Lk=on(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Na,e=>Math.floor(e/Na));Lk.range;function ns(e){return on(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Kr)/pS)}const mg=ns(0),gv=ns(1),rY=ns(2),iY=ns(3),Uu=ns(4),aY=ns(5),lY=ns(6);mg.range;gv.range;rY.range;iY.range;Uu.range;aY.range;lY.range;function rs(e){return on(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/pS)}const vg=rs(0),pv=rs(1),oY=rs(2),sY=rs(3),$u=rs(4),uY=rs(5),cY=rs(6);vg.range;pv.range;oY.range;sY.range;$u.range;uY.range;cY.range;const wS=on(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());wS.range;const jS=on(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());jS.range;const Ta=on(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());Ta.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:on(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)});Ta.range;const Ra=on(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());Ra.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:on(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)});Ra.range;function Uk(e,t,n,r,l,o){const u=[[_o,1,ba],[_o,5,5*ba],[_o,15,15*ba],[_o,30,30*ba],[o,1,Kr],[o,5,5*Kr],[o,15,15*Kr],[o,30,30*Kr],[l,1,Sa],[l,3,3*Sa],[l,6,6*Sa],[l,12,12*Sa],[r,1,Na],[r,2,2*Na],[n,1,pS],[t,1,u2],[t,3,3*u2],[e,1,Wx]];function f(m,v,p){const x=vC).right(u,x);if(S===u.length)return e.every(bb(m/Wx,v/Wx,p));if(S===0)return vv.every(Math.max(bb(m,v,p),1));const[w,j]=u[x/u[S-1][2]53)return null;"w"in J||(J.w=1),"Z"in J?(Ye=e0(ff(J.y,0,1)),ke=Ye.getUTCDay(),Ye=ke>4||ke===0?pv.ceil(Ye):pv(Ye),Ye=hg.offset(Ye,(J.V-1)*7),J.y=Ye.getUTCFullYear(),J.m=Ye.getUTCMonth(),J.d=Ye.getUTCDate()+(J.w+6)%7):(Ye=Jx(ff(J.y,0,1)),ke=Ye.getDay(),Ye=ke>4||ke===0?gv.ceil(Ye):gv(Ye),Ye=cd.offset(Ye,(J.V-1)*7),J.y=Ye.getFullYear(),J.m=Ye.getMonth(),J.d=Ye.getDate()+(J.w+6)%7)}else("W"in J||"U"in J)&&("w"in J||(J.w="u"in J?J.u%7:"W"in J?1:0),ke="Z"in J?e0(ff(J.y,0,1)).getUTCDay():Jx(ff(J.y,0,1)).getDay(),J.m=0,J.d="W"in J?(J.w+6)%7+J.W*7-(ke+5)%7:J.w+J.U*7-(ke+6)%7);return"Z"in J?(J.H+=J.Z/100|0,J.M+=J.Z%100,e0(J)):Jx(J)}}function k(te,ge,oe,J){for(var ct=0,Ye=ge.length,ke=oe.length,Tt,Et;ct=ke)return-1;if(Tt=ge.charCodeAt(ct++),Tt===37){if(Tt=ge.charAt(ct++),Et=R[Tt in c2?ge.charAt(ct++):Tt],!Et||(J=Et(te,oe,J))<0)return-1}else if(Tt!=oe.charCodeAt(J++))return-1}return J}function I(te,ge,oe){var J=m.exec(ge.slice(oe));return J?(te.p=v.get(J[0].toLowerCase()),oe+J[0].length):-1}function P(te,ge,oe){var J=S.exec(ge.slice(oe));return J?(te.w=w.get(J[0].toLowerCase()),oe+J[0].length):-1}function B(te,ge,oe){var J=p.exec(ge.slice(oe));return J?(te.w=x.get(J[0].toLowerCase()),oe+J[0].length):-1}function F(te,ge,oe){var J=A.exec(ge.slice(oe));return J?(te.m=E.get(J[0].toLowerCase()),oe+J[0].length):-1}function se(te,ge,oe){var J=j.exec(ge.slice(oe));return J?(te.m=C.get(J[0].toLowerCase()),oe+J[0].length):-1}function ue(te,ge,oe){return k(te,t,ge,oe)}function he(te,ge,oe){return k(te,n,ge,oe)}function G(te,ge,oe){return k(te,r,ge,oe)}function ne(te){return u[te.getDay()]}function ie(te){return o[te.getDay()]}function ce(te){return h[te.getMonth()]}function U(te){return f[te.getMonth()]}function Ee(te){return l[+(te.getHours()>=12)]}function ee(te){return 1+~~(te.getMonth()/3)}function ve(te){return u[te.getUTCDay()]}function z(te){return o[te.getUTCDay()]}function Y(te){return h[te.getUTCMonth()]}function le(te){return f[te.getUTCMonth()]}function fe(te){return l[+(te.getUTCHours()>=12)]}function Pe(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ge=O(te+="",N);return ge.toString=function(){return te},ge},parse:function(te){var ge=D(te+="",!1);return ge.toString=function(){return te},ge},utcFormat:function(te){var ge=O(te+="",T);return ge.toString=function(){return te},ge},utcParse:function(te){var ge=D(te+="",!0);return ge.toString=function(){return te},ge}}}var c2={"-":"",_:" ",0:"0"},Sn=/^\s*\d+/,gY=/^%/,pY=/[\\^$*+?|[\]().{}]/g;function lt(e,t,n){var r=e<0?"-":"",l=(r?-e:e)+"",o=l.length;return r+(o[t.toLowerCase(),n]))}function xY(e,t,n){var r=Sn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function bY(e,t,n){var r=Sn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function SY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function wY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function jY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function f2(e,t,n){var r=Sn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function d2(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function CY(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 _Y(e,t,n){var r=Sn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function AY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function h2(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function EY(e,t,n){var r=Sn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function m2(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function OY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function NY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function TY(e,t,n){var r=Sn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function RY(e,t,n){var r=Sn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function MY(e,t,n){var r=gY.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function DY(e,t,n){var r=Sn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function PY(e,t,n){var r=Sn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function v2(e,t){return lt(e.getDate(),t,2)}function kY(e,t){return lt(e.getHours(),t,2)}function IY(e,t){return lt(e.getHours()%12||12,t,2)}function zY(e,t){return lt(1+cd.count(Ta(e),e),t,3)}function $k(e,t){return lt(e.getMilliseconds(),t,3)}function LY(e,t){return $k(e,t)+"000"}function UY(e,t){return lt(e.getMonth()+1,t,2)}function $Y(e,t){return lt(e.getMinutes(),t,2)}function BY(e,t){return lt(e.getSeconds(),t,2)}function HY(e){var t=e.getDay();return t===0?7:t}function FY(e,t){return lt(mg.count(Ta(e)-1,e),t,2)}function Bk(e){var t=e.getDay();return t>=4||t===0?Uu(e):Uu.ceil(e)}function VY(e,t){return e=Bk(e),lt(Uu.count(Ta(e),e)+(Ta(e).getDay()===4),t,2)}function GY(e){return e.getDay()}function qY(e,t){return lt(gv.count(Ta(e)-1,e),t,2)}function KY(e,t){return lt(e.getFullYear()%100,t,2)}function YY(e,t){return e=Bk(e),lt(e.getFullYear()%100,t,2)}function XY(e,t){return lt(e.getFullYear()%1e4,t,4)}function QY(e,t){var n=e.getDay();return e=n>=4||n===0?Uu(e):Uu.ceil(e),lt(e.getFullYear()%1e4,t,4)}function ZY(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+lt(t/60|0,"0",2)+lt(t%60,"0",2)}function g2(e,t){return lt(e.getUTCDate(),t,2)}function WY(e,t){return lt(e.getUTCHours(),t,2)}function JY(e,t){return lt(e.getUTCHours()%12||12,t,2)}function eX(e,t){return lt(1+hg.count(Ra(e),e),t,3)}function Hk(e,t){return lt(e.getUTCMilliseconds(),t,3)}function tX(e,t){return Hk(e,t)+"000"}function nX(e,t){return lt(e.getUTCMonth()+1,t,2)}function rX(e,t){return lt(e.getUTCMinutes(),t,2)}function iX(e,t){return lt(e.getUTCSeconds(),t,2)}function aX(e){var t=e.getUTCDay();return t===0?7:t}function lX(e,t){return lt(vg.count(Ra(e)-1,e),t,2)}function Fk(e){var t=e.getUTCDay();return t>=4||t===0?$u(e):$u.ceil(e)}function oX(e,t){return e=Fk(e),lt($u.count(Ra(e),e)+(Ra(e).getUTCDay()===4),t,2)}function sX(e){return e.getUTCDay()}function uX(e,t){return lt(pv.count(Ra(e)-1,e),t,2)}function cX(e,t){return lt(e.getUTCFullYear()%100,t,2)}function fX(e,t){return e=Fk(e),lt(e.getUTCFullYear()%100,t,2)}function dX(e,t){return lt(e.getUTCFullYear()%1e4,t,4)}function hX(e,t){var n=e.getUTCDay();return e=n>=4||n===0?$u(e):$u.ceil(e),lt(e.getUTCFullYear()%1e4,t,4)}function mX(){return"+0000"}function p2(){return"%"}function y2(e){return+e}function x2(e){return Math.floor(+e/1e3)}var eu,Vk,CS,Gk;vX({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 vX(e){return eu=vY(e),Vk=eu.format,eu.parse,CS=eu.utcFormat,Gk=eu.utcParse,eu}var qk="%Y-%m-%dT%H:%M:%S.%LZ";function gX(e){return e.toISOString()}Date.prototype.toISOString||CS(qk);function pX(e){var t=new Date(e);return isNaN(t)?null:t}+new Date("2000-01-01T00:00:00.000Z")||Gk(qk);function Jr(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function ka(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}const Cb=Symbol("implicit");function _S(){var e=new BN,t=[],n=[],r=Cb;function l(o){let u=e.get(o);if(u===void 0){if(r!==Cb)return r;e.set(o,u=t.push(o)-1)}return n[u%n.length]}return l.domain=function(o){if(!arguments.length)return t.slice();t=[],e=new BN;for(const u of o)e.has(u)||e.set(u,t.push(u)-1);return l},l.range=function(o){return arguments.length?(n=Array.from(o),l):n.slice()},l.unknown=function(o){return arguments.length?(r=o,l):r},l.copy=function(){return _S(t,n).unknown(r)},Jr.apply(l,arguments),l}function AS(){var e=_S().unknown(void 0),t=e.domain,n=e.range,r=0,l=1,o,u,f=!1,h=0,m=0,v=.5;delete e.unknown;function p(){var x=t().length,S=lt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function SX(e,t,n){var r=e[0],l=e[1],o=t[0],u=t[1];return l2?wX:SX,h=m=null,p}function p(x){return x==null||isNaN(x=+x)?o:(h||(h=f(e.map(r),t,n)))(r(u(x)))}return p.invert=function(x){return u(l((m||(m=f(t,e.map(r),dv)))(x)))},p.domain=function(x){return arguments.length?(e=Array.from(x,yv),v()):e.slice()},p.range=function(x){return arguments.length?(t=Array.from(x),v()):t.slice()},p.rangeRound=function(x){return t=Array.from(x),n=mS,v()},p.clamp=function(x){return arguments.length?(u=x?!0:Wn,v()):u!==Wn},p.interpolate=function(x){return arguments.length?(n=x,v()):n},p.unknown=function(x){return arguments.length?(o=x,p):o},function(x,S){return r=x,l=S,v()}}function ES(){return gg()(Wn,Wn)}function Yk(e,t,n,r){var l=bb(e,t,n),o;switch(r=$f(r??",f"),r.type){case"s":{var u=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=tY(l,u))&&(r.precision=o),zk(r,u)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=nY(l,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=eY(l))&&(r.precision=o-(r.type==="%")*2);break}}return gS(r)}function Hl(e){var t=e.domain;return e.ticks=function(n){var r=t();return yb(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var l=t();return Yk(l[0],l[l.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),l=0,o=r.length-1,u=r[l],f=r[o],h,m,v=10;for(f0;){if(m=xb(u,f,n),m===h)return r[l]=u,r[o]=f,t(r);if(m>0)u=Math.floor(u/m)*m,f=Math.ceil(f/m)*m;else if(m<0)u=Math.ceil(u*m)/m,f=Math.floor(f*m)/m;else break;h=m}return e},e}function Xk(){var e=ES();return e.copy=function(){return fd(e,Xk())},Jr.apply(e,arguments),Hl(e)}function Qk(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,yv),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return Qk(e).unknown(t)},e=arguments.length?Array.from(e,yv):[0,1],Hl(n)}function Zk(e,t){e=e.slice();var n=0,r=e.length-1,l=e[n],o=e[r],u;return oMath.pow(e,t)}function EX(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 j2(e){return(t,n)=>-e(-t,n)}function OS(e){const t=e(S2,w2),n=t.domain;let r=10,l,o;function u(){return l=EX(r),o=AX(r),n()[0]<0?(l=j2(l),o=j2(o),e(jX,CX)):e(S2,w2),t}return t.base=function(f){return arguments.length?(r=+f,u()):r},t.domain=function(f){return arguments.length?(n(f),u()):n()},t.ticks=f=>{const h=n();let m=h[0],v=h[h.length-1];const p=v0){for(;x<=S;++x)for(w=1;wv)break;A.push(j)}}else for(;x<=S;++x)for(w=r-1;w>=1;--w)if(j=x>0?w/o(-x):w*o(x),!(jv)break;A.push(j)}A.length*2{if(f==null&&(f=10),h==null&&(h=r===10?"s":","),typeof h!="function"&&(!(r%1)&&(h=$f(h)).precision==null&&(h.trim=!0),h=gS(h)),f===1/0)return h;const m=Math.max(1,r*f/t.ticks().length);return v=>{let p=v/o(Math.round(l(v)));return p*rn(Zk(n(),{floor:f=>o(Math.floor(l(f))),ceil:f=>o(Math.ceil(l(f)))})),t}function Wk(){const e=OS(gg()).domain([1,10]);return e.copy=()=>fd(e,Wk()).base(e.base()),Jr.apply(e,arguments),e}function C2(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function _2(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function NS(e){var t=1,n=e(C2(t),_2(t));return n.constant=function(r){return arguments.length?e(C2(t=+r),_2(t)):t},Hl(n)}function Jk(){var e=NS(gg());return e.copy=function(){return fd(e,Jk()).constant(e.constant())},Jr.apply(e,arguments)}function A2(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function OX(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function NX(e){return e<0?-e*e:e*e}function TS(e){var t=e(Wn,Wn),n=1;function r(){return n===1?e(Wn,Wn):n===.5?e(OX,NX):e(A2(n),A2(1/n))}return t.exponent=function(l){return arguments.length?(n=+l,r()):n},Hl(t)}function RS(){var e=TS(gg());return e.copy=function(){return fd(e,RS()).exponent(e.exponent())},Jr.apply(e,arguments),e}function TX(){return RS.apply(null,arguments).exponent(.5)}function E2(e){return Math.sign(e)*e*e}function RX(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function eI(){var e=ES(),t=[0,1],n=!1,r;function l(o){var u=RX(e(o));return isNaN(u)?r:n?Math.round(u):u}return l.invert=function(o){return e.invert(E2(o))},l.domain=function(o){return arguments.length?(e.domain(o),l):e.domain()},l.range=function(o){return arguments.length?(e.range((t=Array.from(o,yv)).map(E2)),l):t.slice()},l.rangeRound=function(o){return l.range(o).round(!0)},l.round=function(o){return arguments.length?(n=!!o,l):n},l.clamp=function(o){return arguments.length?(e.clamp(o),l):e.clamp()},l.unknown=function(o){return arguments.length?(r=o,l):r},l.copy=function(){return eI(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Jr.apply(l,arguments),Hl(l)}function tI(){var e=[],t=[],n=[],r;function l(){var u=0,f=Math.max(1,t.length);for(n=new Array(f-1);++u0?n[f-1]:e[0],f=n?[r[n-1],t]:[r[m-1],r[m]]},u.unknown=function(h){return arguments.length&&(o=h),u},u.thresholds=function(){return r.slice()},u.copy=function(){return nI().domain([e,t]).range(l).unknown(o)},Jr.apply(Hl(u),arguments)}function rI(){var e=[.5],t=[0,1],n,r=1;function l(o){return o!=null&&o<=o?t[sd(e,o,0,r)]:n}return l.domain=function(o){return arguments.length?(e=Array.from(o),r=Math.min(e.length,t.length-1),l):e.slice()},l.range=function(o){return arguments.length?(t=Array.from(o),r=Math.min(e.length,t.length-1),l):t.slice()},l.invertExtent=function(o){var u=t.indexOf(o);return[e[u-1],e[u]]},l.unknown=function(o){return arguments.length?(n=o,l):n},l.copy=function(){return rI().domain(e).range(t).unknown(n)},Jr.apply(l,arguments)}function MX(e){return new Date(e)}function DX(e){return e instanceof Date?+e:Math.round(e)}function MS(e,t,n,r,l,o,u,f,h,m){var v=ES(),p=v.invert,x=v.domain,S=m(".%L"),w=m(":%S"),j=m("%I:%M"),C=m("%I %p"),A=m("%a %d"),E=m("%b %d"),N=m("%B"),T=m("%Y");function R(O){return(h(O)t(l/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(l,o)=>dK(e,o/r))},n.copy=function(){return oI(t).domain(e)},ka.apply(n,arguments)}function yg(){var e=0,t=.5,n=1,r=1,l,o,u,f,h,m=Wn,v,p=!1,x;function S(j){return j==null||isNaN(j=+j)?x:(j=.5+((j=+v(j))-o)*(r*j{if(e!=null){var r=e.scale,l=e.type;if(r==="auto")return l==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!t)?"point":l==="category"?"band":"linear";if(typeof r=="string")return $X(r)?r:"point"}};function BX(e,t){for(var n=0,r=e.length,l=e[0]t)?n=o+1:r=o}return n}function hI(e,t){if(e){var n=t??e.domain(),r=n.map(o=>{var u;return(u=e(o))!==null&&u!==void 0?u:0}),l=e.range();if(!(n.length===0||l.length<2))return o=>{var u,f,h=BX(r,o);if(h<=0)return n[0];if(h>=n.length)return n[n.length-1];var m=(u=r[h-1])!==null&&u!==void 0?u:0,v=(f=r[h])!==null&&f!==void 0?f:0;return Math.abs(o-m)<=Math.abs(o-v)?n[h-1]:n[h]}}}function HX(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):hI(e,void 0)}function N2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function xv(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.cartesianAxis.xAxis[t],Ia=(e,t)=>{var n=vI(e,t);return n??tn},nn={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:Ab,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:nd},gI=(e,t)=>e.cartesianAxis.yAxis[t],za=(e,t)=>{var n=gI(e,t);return n??nn},QX={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:""},IS=(e,t)=>{var n=e.cartesianAxis.zAxis[t];return n??QX},Fn=(e,t,n)=>{switch(t){case"xAxis":return Ia(e,n);case"yAxis":return za(e,n);case"zAxis":return IS(e,n);case"angleAxis":return aS(e,n);case"radiusAxis":return lS(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},ZX=(e,t,n)=>{switch(t){case"xAxis":return Ia(e,n);case"yAxis":return za(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},dd=(e,t,n)=>{switch(t){case"xAxis":return Ia(e,n);case"yAxis":return za(e,n);case"angleAxis":return aS(e,n);case"radiusAxis":return lS(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},pI=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function yI(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 xI=e=>e.graphicalItems.cartesianItems,WX=W([xn,ug],yI),bI=(e,t,n)=>e.filter(n).filter(r=>(t==null?void 0:t.includeHidden)===!0?!0:!r.hide),tc=W([xI,Fn,WX],bI,{memoizeOptions:{resultEqualityCheck:cg}}),SI=W([tc],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(sS)),wI=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),JX=W([tc],wI),jI=e=>e.map(t=>t.data).filter(Boolean).flat(1),eQ=W([tc],e=>e.some(t=>!t.data)),CI=W([tc],jI,{memoizeOptions:{resultEqualityCheck:cg}}),_I=(e,t)=>{var n=t.chartData,r=n===void 0?[]:n,l=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:r.slice(l,o+1)},zS=W([CI,ld],_I),tQ=(e,t,n)=>(t==null?void 0:t.dataKey)!=null?e.map(r=>({value:pn(r,t.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>e.map(l=>({value:pn(l,r)}))):e.map(r=>({value:r})),AI=(e,t,n,r,l,o)=>{var u=r.chartData,f=u===void 0?[]:u,h=r.dataStartIndex,m=r.dataEndIndex,v=tQ(e,t,n);if(l&&(t==null?void 0:t.dataKey)!=null&&o.length>0){var p=f.slice(h,m+1),x=p.map(S=>({value:pn(S,t.dataKey)})).filter(S=>S.value!=null);return[...x,...v]}return v},hd=W([zS,Fn,tc,ld,eQ,CI],AI);function xu(e){if(Fi(e)||e instanceof Date){var t=Number(e);if(at(t))return t}}function R2(e){if(Array.isArray(e)){var t=[xu(e[0]),xu(e[1])];return Ui(t)?t:void 0}var n=xu(e);if(n!=null)return[n,n]}function di(e){return e.map(xu).filter(cr)}function nQ(e,t){var n=xu(e),r=xu(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var rQ=W([hd],e=>e==null?void 0:e.map(t=>t.value).sort(nQ));function EI(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function iQ(e,t,n){if(!n)return[];if(!n.length)return[];var r;if(typeof t=="number"&&!Ea(t))r=t;else if(Array.isArray(t)){var l=di(t);l.length>0&&(r=Math.max(...l))}return r==null?[]:di(n.flatMap(o=>{var u=pn(e,o.dataKey),f,h;if(Array.isArray(u)){var m=mI(u,2);f=m[0],h=m[1]}else f=h=u;if(!(!at(f)||!at(h)))return[r-f,r+h]}))}var sn=e=>{var t=bn(e),n=Wu(e);return dd(e,t,n)},Bu=W([sn],e=>e==null?void 0:e.dataKey),aQ=W([SI,ld,sn],bk),OI=(e,t,n,r)=>{var l={},o=t.reduce((u,f)=>{if(f.stackId==null)return u;var h=u[f.stackId];return h==null&&(h=[]),h.push(f),u[f.stackId]=h,u},l);return Object.fromEntries(Object.entries(o).map(u=>{var f=mI(u,2),h=f[0],m=f[1],v=r?[...m].reverse():m,p=v.map(xk);return[h,{stackedData:T9(e,p,n),graphicalItems:v}]}))},lQ=W([aQ,SI,ag,dk],OI),NI=(e,t,n,r)=>{var l=t.dataStartIndex,o=t.dataEndIndex;if(r==null&&n!=="zAxis")return D9(e,l,o)},oQ=W([Fn],e=>e.allowDataOverflow),LS=e=>{var t;if(e==null||!("domain"in e))return Ab;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var n=di(e.ticks);return[Math.min(...n),Math.max(...n)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:Ab},TI=W([Fn],LS),RI=W([TI,oQ],tk),sQ=W([lQ,qi,xn,RI],NI,{memoizeOptions:{resultEqualityCheck:od}}),US=e=>e.errorBars,uQ=(e,t,n)=>e.flatMap(r=>t[r.id]).filter(Boolean).filter(r=>EI(n,r)),bv=function(){for(var t=arguments.length,n=new Array(t),r=0;r5&&arguments[5]!==void 0?arguments[5]:[],f,h;if(r.length>0&&r.forEach(m=>{var v,p=m.data!=null?[...m.data]:u,x=(v=l[m.id])===null||v===void 0?void 0:v.filter(S=>EI(o,S));p.forEach(S=>{var w,j=pn(S,(w=n.dataKey)!==null&&w!==void 0?w:m.dataKey),C=iQ(S,j,x);if(C.length>=2){var A=Math.min(...C),E=Math.max(...C);(f==null||Ah)&&(h=E)}var N=R2(j);N!=null&&(f=f==null?N[0]:Math.min(f,N[0]),h=h==null?N[1]:Math.max(h,N[1]))})}),(n==null?void 0:n.dataKey)!=null&&r.length===0&&t.forEach(m=>{var v=R2(pn(m,n.dataKey));v!=null&&(f=f==null?v[0]:Math.min(f,v[0]),h=h==null?v[1]:Math.max(h,v[1]))}),at(f)&&at(h))return[f,h]},cQ=W([zS,Fn,JX,US,xn,Rq],MI,{memoizeOptions:{resultEqualityCheck:od}});function fQ(e){var t=e.value;if(Fi(t)||t instanceof Date)return t}var dQ=(e,t,n)=>{var r=e.map(fQ).filter(l=>l!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&rD(r))?JP(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},DI=e=>e.referenceElements.dots,nc=(e,t,n)=>e.filter(r=>r.ifOverflow==="extendDomain").filter(r=>t==="xAxis"?r.xAxisId===n:r.yAxisId===n),hQ=W([DI,xn,ug],nc),PI=e=>e.referenceElements.areas,mQ=W([PI,xn,ug],nc),kI=e=>e.referenceElements.lines,vQ=W([kI,xn,ug],nc),II=(e,t)=>{if(e!=null){var n=di(e.map(r=>t==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},gQ=W(hQ,xn,II),zI=(e,t)=>{if(e!=null){var n=di(e.flatMap(r=>[t==="xAxis"?r.x1:r.y1,t==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},pQ=W([mQ,xn],zI);function yQ(e){var t;if(e.x!=null)return di([e.x]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.x);return n==null||n.length===0?[]:di(n)}function xQ(e){var t;if(e.y!=null)return di([e.y]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.y);return n==null||n.length===0?[]:di(n)}var LI=(e,t)=>{if(e!=null){var n=e.flatMap(r=>t==="xAxis"?yQ(r):xQ(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},bQ=W([vQ,xn],LI),SQ=W(gQ,bQ,pQ,(e,t,n)=>bv(e,n,t)),UI=(e,t,n,r,l,o,u,f,h)=>{if(n!=null)return n;var m=u==="vertical"&&f==="xAxis"||u==="horizontal"&&f==="yAxis",v=m?bv(r,o,l):bv(o,l),p=zq(t,v,e.allowDataOverflow);return p??(e.allowDataOverflow&&v==null&&h!=null?h:p)},wQ=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=di(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},jQ=W([Fn],wQ,{memoizeOptions:{resultEqualityCheck:od}}),CQ=W([Fn,TI,RI,sQ,cQ,SQ,It,xn,jQ],UI,{memoizeOptions:{resultEqualityCheck:od}}),_Q=[0,1],$I=(e,t,n,r,l,o,u)=>{if(!((e==null||n==null||n.length===0)&&u===void 0)){var f=e.dataKey,h=e.type,m=Ma(t,o);if(m&&f==null){var v;return JP(0,(v=n==null?void 0:n.length)!==null&&v!==void 0?v:0)}return h==="category"?dQ(r,e,m):l==="expand"&&!m?_Q:u}},$S=W([Fn,It,zS,hd,ag,xn,CQ],$I),rc=W([Fn,pI,nS],dI),BI=(e,t,n)=>{var r=t.niceTicks;if(r!=="none"){var l=LS(t),o=Array.isArray(l)&&(l[0]==="auto"||l[1]==="auto");if((r==="snap125"||r==="adaptive")&&t!=null&&t.tickCount&&Ui(e)){if(o)return IN(e,t.tickCount,t.allowDecimals,r);if(t.type==="number")return zN(e,t.tickCount,t.allowDecimals,r)}if(r==="auto"&&n==="linear"&&t!=null&&t.tickCount){if(o&&Ui(e))return IN(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Ui(e))return zN(e,t.tickCount,t.allowDecimals,"adaptive")}}},BS=W([$S,dd,rc],BI),HI=(e,t,n,r)=>{if(r!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&Ui(t)&&Array.isArray(n)&&n.length>0){var l,o,u=t[0],f=(l=n[0])!==null&&l!==void 0?l:0,h=t[1],m=(o=n[n.length-1])!==null&&o!==void 0?o:0;return[Math.min(u,f),Math.max(h,m)]}return t},AQ=W([Fn,$S,BS,xn],HI),EQ=W(hd,Fn,(e,t)=>{if(!(!t||t.type!=="number")){var n=1/0,r=Array.from(di(e.map(p=>p.value))).sort((p,x)=>p-x),l=r[0],o=r[r.length-1];if(l==null||o==null)return 1/0;var u=o-l;if(u===0)return 1/0;for(var f=0;fl,(e,t,n,r,l)=>{if(!at(e))return 0;var o=t==="vertical"?r.height:r.width;if(l==="gap")return e*o/2;if(l==="no-gap"){var u=kl(n,e*o),f=e*o/2;return f-u-(f-u)/o*u}return 0}),OQ=(e,t,n)=>{var r=Ia(e,t);return r==null||typeof r.padding!="string"?0:FI(e,"xAxis",t,n,r.padding)},NQ=(e,t,n)=>{var r=za(e,t);return r==null||typeof r.padding!="string"?0:FI(e,"yAxis",t,n,r.padding)},TQ=W(Ia,OQ,(e,t)=>{var n,r;if(e==null)return{left:0,right:0};var l=e.padding;return typeof l=="string"?{left:t,right:t}:{left:((n=l.left)!==null&&n!==void 0?n:0)+t,right:((r=l.right)!==null&&r!==void 0?r:0)+t}}),RQ=W(za,NQ,(e,t)=>{var n,r;if(e==null)return{top:0,bottom:0};var l=e.padding;return typeof l=="string"?{top:t,bottom:t}:{top:((n=l.top)!==null&&n!==void 0?n:0)+t,bottom:((r=l.bottom)!==null&&r!==void 0?r:0)+t}}),VI=W([Pn,TQ,ng,tg,(e,t,n)=>n],(e,t,n,r,l)=>{var o=r.padding;return l?[o.left,n.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),GI=W([Pn,It,RQ,ng,tg,(e,t,n)=>n],(e,t,n,r,l,o)=>{var u=l.padding;return o?[r.height-u.bottom,u.top]:t==="horizontal"?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),md=(e,t,n,r)=>{var l;switch(t){case"xAxis":return VI(e,n,r);case"yAxis":return GI(e,n,r);case"zAxis":return(l=IS(e,n))===null||l===void 0?void 0:l.range;case"angleAxis":return gk(e);case"radiusAxis":return pk(e,n);default:return}},qI=W([Fn,md],lg),MQ=W([rc,AQ],eK),HS=W([Fn,rc,MQ,qI],kS),KI=(e,t,n,r)=>{if(!(n==null||n.dataKey==null)){var l=n.type,o=n.scale,u=Ma(e,r);if(u&&(l==="number"||o!=="auto"))return t.map(f=>f.value)}},FS=W([It,hd,dd,xn],KI),xg=W([HS],uS);W([HS],HX);W([HS,rQ],hI);W([tc,US,xn],uQ);function YI(e,t){return e.idt.id?1:0}var bg=(e,t)=>t,Sg=(e,t,n)=>n,DQ=W(Jv,bg,Sg,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(YI)),PQ=W(eg,bg,Sg,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(YI)),XI=(e,t)=>{var n=typeof t.height=="number"?t.height:Q1;return{width:e.width,height:n}},kQ=(e,t)=>{var n=typeof t.width=="number"?t.width:nd;return{width:n,height:e.height}},IQ=W(Pn,Ia,XI),zQ=(e,t,n)=>{switch(t){case"top":return e.top;case"bottom":return n-e.bottom;default:return 0}},LQ=(e,t,n)=>{switch(t){case"left":return e.left;case"right":return n-e.right;default:return 0}},UQ=W(Pa,Pn,DQ,bg,Sg,(e,t,n,r,l)=>{var o={},u;return n.forEach(f=>{var h=XI(t,f);u==null&&(u=zQ(t,r,e));var m=r==="top"&&!l||r==="bottom"&&l;o[f.id]=u-Number(m)*h.height,u+=(m?-1:1)*h.height}),o}),$Q=W(Da,Pn,PQ,bg,Sg,(e,t,n,r,l)=>{var o={},u;return n.forEach(f=>{var h=kQ(t,f);u==null&&(u=LQ(t,r,e));var m=r==="left"&&!l||r==="right"&&l;o[f.id]=u-Number(m)*h.width,u+=(m?-1:1)*h.width}),o}),BQ=(e,t)=>{var n=Ia(e,t);if(n!=null)return UQ(e,n.orientation,n.mirror)},HQ=W([Pn,Ia,BQ,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var l=n==null?void 0:n[r];return l==null?{x:e.left,y:0}:{x:e.left,y:l}}}),FQ=(e,t)=>{var n=za(e,t);if(n!=null)return $Q(e,n.orientation,n.mirror)},VQ=W([Pn,za,FQ,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var l=n==null?void 0:n[r];return l==null?{x:0,y:e.top}:{x:l,y:e.top}}}),GQ=W(Pn,za,(e,t)=>{var n=typeof t.width=="number"?t.width:nd;return{width:n,height:e.height}}),QI=(e,t,n,r)=>{if(n!=null){var l=n.allowDuplicatedCategory,o=n.type,u=n.dataKey,f=Ma(e,r),h=t.map(v=>v.value),m=h.filter(v=>v!=null);if(u&&f&&o==="category"&&l&&rD(m))return h}},VS=W([It,hd,Fn,xn],QI),M2=W([It,ZX,rc,xg,VS,FS,md,BS,xn],(e,t,n,r,l,o,u,f,h)=>{if(t!=null){var m=Ma(e,h);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:h,categoricalDomain:o,duplicateDomain:l,isCategorical:m,niceTicks:f,range:u,realScaleType:n,scale:r}}}),qQ=(e,t,n,r,l,o,u,f,h)=>{if(!(t==null||r==null)){var m=Ma(e,h),v=t.type,p=t.ticks,x=t.tickCount,S=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,w=v==="category"&&r.bandwidth?r.bandwidth()/S:0;w=h==="angleAxis"&&o!=null&&o.length>=2?Gr(o[0]-o[1])*2*w:w;var j=p||l;return j?j.map((C,A)=>{var E=u?u.indexOf(C):C,N=r.map(E);return at(N)?{index:A,coordinate:N+w,value:C,offset:w}:null}).filter(cr):m&&f?f.map((C,A)=>{var E=r.map(C);return at(E)?{coordinate:E+w,value:C,index:A,offset:w}:null}).filter(cr):r.ticks?r.ticks(x).map((C,A)=>{var E=r.map(C);return at(E)?{coordinate:E+w,value:C,index:A,offset:w}:null}).filter(cr):r.domain().map((C,A)=>{var E=r.map(C);return at(E)?{coordinate:E+w,value:u?u[C]:C,index:A,offset:w}:null}).filter(cr)}},ZI=W([It,dd,rc,xg,BS,md,VS,FS,xn],qQ),KQ=(e,t,n,r,l,o,u)=>{if(!(t==null||n==null||r==null||r[0]===r[1])){var f=Ma(e,u),h=t.tickCount,m=0;return m=u==="angleAxis"&&(r==null?void 0:r.length)>=2?Gr(r[0]-r[1])*2*m:m,f&&o?o.map((v,p)=>{var x=n.map(v);return at(x)?{coordinate:x+m,value:v,index:p,offset:m}:null}).filter(cr):n.ticks?n.ticks(h).map((v,p)=>{var x=n.map(v);return at(x)?{coordinate:x+m,value:v,index:p,offset:m}:null}).filter(cr):n.domain().map((v,p)=>{var x=n.map(v);return at(x)?{coordinate:x+m,value:l?l[v]:v,index:p,offset:m}:null}).filter(cr)}},WI=W([It,dd,xg,md,VS,FS,xn],KQ),JI=W(Fn,xg,(e,t)=>{if(!(e==null||t==null))return xv(xv({},e),{},{scale:t})}),YQ=W([Fn,rc,$S,qI],kS),XQ=W([YQ],uS);W((e,t,n)=>IS(e,n),XQ,(e,t)=>{if(!(e==null||t==null))return xv(xv({},e),{},{scale:t})});var QQ=W([It,Jv,eg],(e,t,n)=>{switch(e){case"horizontal":return t.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),ZQ=(e,t,n)=>{var r;return(r=e.renderedTicks[t])===null||r===void 0?void 0:r[n]};W([ZQ],e=>{if(!(!e||e.length===0))return t=>{var n,r=1/0,l=e[0];for(var o of e){var u=Math.abs(o.coordinate-t);ue.options.defaultTooltipEventType,t3=e=>e.options.validateTooltipEventTypes;function n3(e,t,n){if(e==null)return t;var r=e?"axis":"item";return n==null?t:n.includes(r)?r:t}function vd(e,t){var n=e3(e),r=t3(e);return n3(t,n,r)}function WQ(e){return Ie(t=>vd(t,e))}var r3=(e,t)=>{var n,r=Number(t);if(!(Ea(r)||t==null))return r>=0?e==null||(n=e[r])===null||n===void 0?void 0:n.value:void 0},JQ=e=>e.tooltip.settings,Sl={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},eZ={itemInteraction:{click:Sl,hover:Sl},axisInteraction:{click:Sl,hover:Sl},keyboardInteraction:Sl,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}},i3=Hn({name:"tooltip",initialState:eZ,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(it(t.payload))},prepare:Ot()},replaceTooltipEntrySettings:{reducer(e,t){var n=t.payload,r=n.prev,l=n.next,o=qr(e).tooltipItemPayloads.indexOf(it(r));o>-1&&(e.tooltipItemPayloads[o]=it(l))},prepare:Ot()},removeTooltipEntrySettings:{reducer(e,t){var n=qr(e).tooltipItemPayloads.indexOf(it(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:Ot()},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}}}),ei=i3.actions,tZ=ei.addTooltipEntrySettings,nZ=ei.replaceTooltipEntrySettings,rZ=ei.removeTooltipEntrySettings,iZ=ei.setTooltipSettingsState,aZ=ei.setActiveMouseOverItemIndex;ei.mouseLeaveItem;var a3=ei.mouseLeaveChart;ei.setActiveClickItemIndex;var l3=ei.setMouseOverAxisIndex,lZ=ei.setMouseClickAxisIndex,wf=ei.setSyncInteraction,Sv=ei.setKeyboardInteraction,oZ=i3.reducer;function D2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function mm(e){for(var t=1;t{if(t==null)return Sl;var l=fZ(e,t,n);if(l==null)return Sl;if(l.active)return l;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(dZ(l)){if(o)return mm(mm({},l),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return mm(mm({},Sl),{},{coordinate:l.coordinate})};function hZ(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 mZ(e,t){var n=hZ(e),r=t[0],l=t[1];if(n===void 0)return!1;var o=Math.min(r,l),u=Math.max(r,l);return n>=o&&n<=u}function vZ(e,t,n){if(n==null||t==null)return!0;var r=pn(e,t);return r==null||!Ui(n)?!0:mZ(r,n)}var _f=(e,t,n,r)=>{var l=e==null?void 0:e.index;if(l==null)return null;var o=Number(l);if(!at(o))return l;var u=0,f=1/0;t.length>0&&(f=t.length-1);var h=Math.max(u,Math.min(o,f)),m=t[h];return m==null||vZ(m,n,r)?String(h):null},s3=(e,t,n,r,l,o,u)=>{if(o!=null){var f=u[0],h=f==null?void 0:f.getPosition(o);if(h!=null)return h;var m=l==null?void 0:l[Number(o)];if(m)switch(n){case"horizontal":return{x:m.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:m.coordinate}}}},u3=(e,t,n,r)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var l;if(n==="hover"?l=e.itemInteraction.hover.graphicalItemId:l=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&l==null)return e.tooltipItemPayloads;if(l==null&&(r!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(u=>{var f;return((f=u.settings)===null||f===void 0?void 0:f.graphicalItemId)===l})},c3=e=>e.options.tooltipPayloadSearcher,ic=e=>e.tooltip;function P2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function k2(e){for(var t=1;te(t)}function I2(e){if(typeof e=="string")return e}function wZ(e){if(!(e==null||typeof e!="object")){var t="name"in e?xZ(e.name):void 0,n="unit"in e?bZ(e.unit):void 0,r="dataKey"in e?SZ(e.dataKey):void 0,l="payload"in e?e.payload:void 0,o="color"in e?I2(e.color):void 0,u="fill"in e?I2(e.fill):void 0;return{name:t,unit:n,dataKey:r,payload:l,color:o,fill:u}}}function jZ(e,t){return e??t}var f3=(e,t,n,r,l,o,u)=>{if(!(t==null||o==null)){var f=n.chartData,h=n.computedData,m=n.dataStartIndex,v=n.dataEndIndex,p=[];return e.reduce((x,S)=>{var w,j=S.dataDefinedOnItem,C=S.settings,A=jZ(j,f),E=Array.isArray(A)?EP(A,m,v):A,N=(w=C==null?void 0:C.dataKey)!==null&&w!==void 0?w:r,T=C==null?void 0:C.nameKey,R;if(r&&Array.isArray(E)&&!Array.isArray(E[0])&&u==="axis"?(R=iD(E,r,l),R==null&&(R=o(E,t,h,T))):R=o(E,t,h,T),Array.isArray(R))R.forEach(D=>{var k,I,P=wZ(D),B=P==null?void 0:P.name,F=P==null?void 0:P.dataKey,se=P==null?void 0:P.payload,ue=k2(k2({},C),{},{name:B,unit:P==null?void 0:P.unit,color:(k=P==null?void 0:P.color)!==null&&k!==void 0?k:C==null?void 0:C.color,fill:(I=P==null?void 0:P.fill)!==null&&I!==void 0?I:C==null?void 0:C.fill});x.push(MO({tooltipEntrySettings:ue,dataKey:F,payload:se,value:pn(se,F),name:B==null?void 0:String(B)}))});else{var O;x.push(MO({tooltipEntrySettings:C,dataKey:N,payload:R,value:pn(R,N),name:(O=pn(R,T))!==null&&O!==void 0?O:C==null?void 0:C.name}))}return x},p)}},GS=W([sn,pI,nS],dI),CZ=W([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),_Z=W([bn,Wu],yI),is=W([CZ,sn,_Z],bI,{memoizeOptions:{resultEqualityCheck:cg}}),AZ=W([is],e=>e.filter(sS)),d3=W([is],jI,{memoizeOptions:{resultEqualityCheck:cg}}),EZ=W([is],e=>e.some(t=>!t.data)),Qo=W([d3,qi],_I),OZ=W([AZ,qi,sn],bk),qS=W([Qo,sn,is,qi,EZ,d3],AI),h3=W([sn],LS),NZ=W([sn],e=>e.allowDataOverflow),m3=W([h3,NZ],tk),TZ=W([is],e=>e.filter(sS)),RZ=W([OZ,TZ,ag,dk],OI),MZ=W([RZ,qi,bn,m3],NI),DZ=W([is],wI),PZ=W([Qo,sn,DZ,US,bn,Mq],MI,{memoizeOptions:{resultEqualityCheck:od}}),kZ=W([DI,bn,Wu],nc),IZ=W([kZ,bn],II),zZ=W([PI,bn,Wu],nc),LZ=W([zZ,bn],zI),UZ=W([kI,bn,Wu],nc),$Z=W([UZ,bn],LI),BZ=W([IZ,$Z,LZ],bv),HZ=W([sn,h3,m3,MZ,PZ,BZ,It,bn],UI),Hu=W([sn,It,Qo,qS,ag,bn,HZ],$I),FZ=W([Hu,sn,GS],BI),VZ=W([sn,Hu,FZ,bn],HI),v3=e=>{var t=bn(e),n=Wu(e),r=!1;return md(e,t,n,r)},g3=W([sn,v3],lg),GZ=W([sn,GS,VZ,g3],kS),p3=W([GZ],uS),qZ=W([It,qS,sn,bn],QI),KZ=W([It,qS,sn,bn],KI),YZ=(e,t,n,r,l,o,u,f)=>{if(t){var h=t.type,m=Ma(e,f);if(r){var v=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,p=h==="category"&&r.bandwidth?r.bandwidth()/v:0;return p=f==="angleAxis"&&l!=null&&(l==null?void 0:l.length)>=2?Gr(l[0]-l[1])*2*p:p,m&&u?u.map((x,S)=>{var w=r.map(x);return at(w)?{coordinate:w+p,value:x,index:S,offset:p}:null}).filter(cr):r.domain().map((x,S)=>{var w=r.map(x);return at(w)?{coordinate:w+p,value:o?o[x]:x,index:S,offset:p}:null}).filter(cr)}}},La=W([It,sn,GS,p3,v3,qZ,KZ,bn],YZ),KS=W([e3,t3,JQ],(e,t,n)=>n3(n.shared,e,t)),y3=e=>e.tooltip.settings.trigger,YS=e=>e.tooltip.settings.defaultIndex,gd=W([ic,KS,y3,YS],o3),Bf=W([gd,Qo,Bu,Hu],_f),x3=W([La,Bf],r3),XZ=W([gd],e=>{if(e)return e.dataKey}),QZ=W([gd],e=>{if(e)return e.graphicalItemId}),b3=W([ic,KS,y3,YS],u3),ZZ=W([Da,Pa,It,Pn,La,YS,b3],s3),WZ=W([gd,ZZ],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),JZ=W([gd],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),eW=W([b3,Bf,qi,Bu,x3,c3,KS],f3),tW=W([eW],e=>{if(e!=null){var t=e.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(t))}});function z2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function L2(e){for(var t=1;tIe(sn),lW=()=>{var e=aW(),t=Ie(La),n=Ie(p3);return ev(!e||!n?void 0:L2(L2({},e),{},{scale:n}),t)};function U2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function tu(e){for(var t=1;t{var l=t.find(o=>o&&o.index===n);if(l){if(e==="horizontal")return{x:l.coordinate,y:r.relativeY};if(e==="vertical")return{x:r.relativeX,y:l.coordinate}}return{x:0,y:0}},fW=(e,t,n,r)=>{var l=t.find(m=>m&&m.index===n);if(l){if(e==="centric"){var o=l.coordinate,u=r.radius;return tu(tu(tu({},r),Dn(r.cx,r.cy,u,o)),{},{angle:o,radius:u})}var f=l.coordinate,h=r.angle;return tu(tu(tu({},r),Dn(r.cx,r.cy,f,h)),{},{angle:h,radius:f})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function dW(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 S3=(e,t,n,r,l)=>{var o,u=(o=t==null?void 0:t.length)!==null&&o!==void 0?o:0;if(u<=1||e==null)return 0;if(r==="angleAxis"&&l!=null&&Math.abs(Math.abs(l[1]-l[0])-360)<=1e-6)for(var f=l[1]-l[0],h=(he,G,ne)=>[e,e+f,e-f].some(ie=>(ne?ie>=he:ie>he)&&ie<=G),m=0;m0?(v=n[m-1])===null||v===void 0?void 0:v.coordinate:(p=n[u-1])===null||p===void 0?void 0:p.coordinate,C=(x=n[m])===null||x===void 0?void 0:x.coordinate,A=m>=u-1?(S=n[0])===null||S===void 0?void 0:S.coordinate:(w=n[m+1])===null||w===void 0?void 0:w.coordinate,E=void 0;if(!(j==null||C==null||A==null))if(Gr(C-j)!==Gr(A-C)){var N=[];if(Gr(A-C)===Gr(l[1]-l[0])){E=A;var T=C+l[1]-l[0];N[0]=Math.min(T,(T+j)/2),N[1]=Math.max(T,(T+j)/2)}else{E=j;var R=A+l[1]-l[0];N[0]=Math.min(C,(R+C)/2),N[1]=Math.max(C,(R+C)/2)}var O=[Math.min(C,(E+C)/2),Math.max(C,(E+C)/2)];if(h(O[0],O[1],!1)||h(N[0],N[1],!0)){var D;return(D=n[m])===null||D===void 0?void 0:D.index}}else{var k=Math.min(j,A),I=Math.max(j,A);if(h((k+C)/2,(I+C)/2,!1)){var P;return(P=n[m])===null||P===void 0?void 0:P.index}}}else if(t)for(var B=0;B(F.coordinate+ue.coordinate)/2||B>0&&B(F.coordinate+ue.coordinate)/2&&e<=(F.coordinate+se.coordinate)/2)return F.index}}return-1},hW=()=>Ie(nS),XS=(e,t)=>t,w3=(e,t,n)=>n,QS=(e,t,n,r)=>r,mW=W(La,e=>Fv(e,t=>t.coordinate)),ZS=W([ic,XS,w3,QS],o3),WS=W([ZS,Qo,Bu,Hu],_f),vW=(e,t,n)=>{if(t!=null){var r=ic(e);return t==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},j3=W([ic,XS,w3,QS],u3),wv=W([Da,Pa,It,Pn,La,QS,j3],s3),gW=W([ZS,wv],(e,t)=>{var n;return(n=e.coordinate)!==null&&n!==void 0?n:t}),C3=W([La,WS],r3),pW=W([j3,WS,qi,Bu,C3,c3,XS],f3),yW=W([ZS,WS],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),xW=(e,t,n,r,l,o,u)=>{if(!(!e||!n||!r||!l)&&dW(e,u)){var f=P9(e,t),h=S3(f,o,l,n,r),m=cW(t,l,h,e);return{activeIndex:String(h),activeCoordinate:m}}},bW=(e,t,n,r,l,o,u)=>{if(!(!e||!r||!l||!o||!n)){var f=Cq(e,n);if(f){var h=k9(f,t),m=S3(h,u,o,r,l),v=fW(t,o,m,f);return{activeIndex:String(m),activeCoordinate:v}}}},SW=(e,t,n,r,l,o,u,f)=>{if(!(!e||!t||!r||!l||!o))return t==="horizontal"||t==="vertical"?xW(e,t,r,l,o,u,f):bW(e,t,n,r,l,o,u)},wW=W(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}}),jW=W(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(r=>parseInt(r,10)).concat(Object.values(Zn)),n=Array.from(new Set(t));return n.sort((r,l)=>r-l)},{memoizeOptions:{resultEqualityCheck:Jq}});function $2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function B2(e){for(var t=1;tB2(B2({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),EW)},NW=new Set(Object.values(Zn));function TW(e){return NW.has(e)}var _3=Hn({name:"zIndex",initialState:OW,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:Ot()},unregisterZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(e.zIndexMap[n].consumers-=1,e.zIndexMap[n].consumers<=0&&!TW(n)&&delete e.zIndexMap[n])},prepare:Ot()},registerZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload,r=n.zIndex,l=n.element,o=n.isPanorama;e.zIndexMap[r]?o?e.zIndexMap[r].panoramaElement=it(l):e.zIndexMap[r].element=it(l):e.zIndexMap[r]={consumers:0,element:o?void 0:it(l),panoramaElement:o?it(l):void 0}},prepare:Ot()},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:Ot()}}}),wg=_3.actions,RW=wg.registerZIndexPortal,t0=wg.unregisterZIndexPortal,MW=wg.registerZIndexPortalElement,DW=wg.unregisterZIndexPortalElement,PW=_3.reducer;function Ua(e){var t=e.zIndex,n=e.children,r=yG(),l=r&&t!==void 0&&t!==0,o=dr(),u=b.useRef(void 0),f=b.useRef(new Set),h=Vt(),m=Ie(p=>wW(p,t,o));if(b.useLayoutEffect(()=>{if(!l){var p=f.current;p.forEach(S=>{h(t0({zIndex:S}))}),p.clear(),u.current=void 0;return}if(f.current.has(t)||(h(RW({zIndex:t})),f.current.add(t)),m){u.current=m;var x=f.current;x.forEach(S=>{S!==t&&(h(t0({zIndex:S})),x.delete(S))})}},[h,t,l,m]),b.useLayoutEffect(()=>{var p=f.current;return()=>{p.forEach(x=>{h(t0({zIndex:x}))}),p.clear()}},[h]),!l)return n;var v=m??u.current;return v?Mv.createPortal(n,v):null}function Eb(){return Eb=Object.assign?Object.assign.bind():function(e){for(var t=1;tb.useContext(A3),n0={exports:{}},F2;function HW(){return F2||(F2=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function l(h,m,v){this.fn=h,this.context=m,this.once=v||!1}function o(h,m,v,p,x){if(typeof v!="function")throw new TypeError("The listener must be a function");var S=new l(v,p||h,x),w=n?n+m:m;return h._events[w]?h._events[w].fn?h._events[w]=[h._events[w],S]:h._events[w].push(S):(h._events[w]=S,h._eventsCount++),h}function u(h,m){--h._eventsCount===0?h._events=new r:delete h._events[m]}function f(){this._events=new r,this._eventsCount=0}f.prototype.eventNames=function(){var m=[],v,p;if(this._eventsCount===0)return m;for(p in v=this._events)t.call(v,p)&&m.push(n?p.slice(1):p);return Object.getOwnPropertySymbols?m.concat(Object.getOwnPropertySymbols(v)):m},f.prototype.listeners=function(m){var v=n?n+m:m,p=this._events[v];if(!p)return[];if(p.fn)return[p.fn];for(var x=0,S=p.length,w=new Array(S);x{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!Ea(n))return e[n]}},qW={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},E3=Hn({name:"options",initialState:qW,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),KW=E3.reducer,YW=E3.actions.createEventEmitter;function XW(e){return e.tooltip.syncInteraction}var QW={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},O3=Hn({name:"chartData",initialState:QW,reducers:{setChartData(e,t){if(e.chartData=it(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,l=n.endIndex;r!=null&&(e.dataStartIndex=r),l!=null&&(e.dataEndIndex=l)}}}),JS=O3.actions,G2=JS.setChartData,ZW=JS.setDataStartEndIndexes;JS.setComputedData;var WW=O3.reducer,JW=["x","y"];function q2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function nu(e){for(var t=1;th.rootProps.className);b.useEffect(()=>{if(e==null)return Yu;var h=(m,v,p)=>{if(t!==p&&e===m){if(v.payload.active===!1){n(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r==="index"){var x;if(u&&v!==null&&v!==void 0&&(x=v.payload)!==null&&x!==void 0&&x.coordinate&&v.payload.sourceViewBox){var S=v.payload.coordinate,w=S.x,j=S.y,C=rJ(S,JW),A=v.payload.sourceViewBox,E=A.x,N=A.y,T=A.width,R=A.height,O=nu(nu({},C),{},{x:u.x+(T?(w-E)/T:0)*u.width,y:u.y+(R?(j-N)/R:0)*u.height});n(nu(nu({},v),{},{payload:nu(nu({},v.payload),{},{coordinate:O})}))}else n(v);return}if(l!=null){var D;if(typeof r=="function"){var k={activeTooltipIndex:v.payload.index==null?void 0:Number(v.payload.index),isTooltipActive:v.payload.active,activeIndex:v.payload.index==null?void 0:Number(v.payload.index),activeLabel:v.payload.label,activeDataKey:v.payload.dataKey,activeCoordinate:v.payload.coordinate},I=r(l,k);D=l[I]}else r==="value"&&(D=l.find(ne=>String(ne.value)===v.payload.label));var P=v.payload.coordinate;if(P==null||u==null){n(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(D==null){n(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:v.payload.sourceViewBox,graphicalItemId:void 0}));return}var B=P.x,F=P.y,se=Math.min(B,u.x+u.width),ue=Math.min(F,u.y+u.height),he={x:o==="horizontal"?D.coordinate:se,y:o==="horizontal"?ue:D.coordinate},G=wf({active:v.payload.active,coordinate:he,dataKey:v.payload.dataKey,index:String(D.index),label:v.payload.label,sourceViewBox:v.payload.sourceViewBox,graphicalItemId:v.payload.graphicalItemId});n(G)}}};return Hf.on(Ob,h),()=>{Hf.off(Ob,h)}},[f,n,t,e,r,l,o,u])}function lJ(){var e=Ie(rS),t=Ie(iS),n=Vt();b.useEffect(()=>{if(e==null)return Yu;var r=(l,o,u)=>{t!==u&&e===l&&n(ZW(o))};return Hf.on(V2,r),()=>{Hf.off(V2,r)}},[n,t,e])}function oJ(){var e=Vt();b.useEffect(()=>{e(YW())},[e]),aJ(),lJ()}function sJ(e,t,n,r,l,o){var u=Ie(w=>vW(w,e,t)),f=Ie(QZ),h=Ie(iS),m=Ie(rS),v=Ie(hk),p=Ie(XW),x=(p==null?void 0:p.sourceViewBox)!=null,S=rg();b.useEffect(()=>{if(!x&&m!=null&&h!=null){var w=wf({active:o,coordinate:n,dataKey:u,index:l,label:typeof r=="number"?String(r):r,sourceViewBox:S,graphicalItemId:f});Hf.emit(Ob,m,w,h)}},[x,n,u,f,l,r,h,m,v,o,S])}function K2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Y2(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{D(iZ({shared:E,trigger:N,axisId:O,active:l,defaultIndex:k}))},[D,E,N,O,l,k]);var I=rg(),P=VP(),B=WQ(E),F=(t=Ie(oe=>yW(oe,B,N,k)))!==null&&t!==void 0?t:{},se=F.activeIndex,ue=F.isActive,he=Ie(oe=>pW(oe,B,N,k)),G=Ie(oe=>C3(oe,B,N,k)),ne=Ie(oe=>gW(oe,B,N,k)),ie=he,ce=BW(),U=(n=l??ue)!==null&&n!==void 0?n:!1,Ee=bV([ie,U]),ee=dJ(Ee,2),ve=ee[0],z=ee[1],Y=B==="axis"?G:void 0;sJ(B,N,ne,Y,se,U);var le=R??ce;if(le==null||I==null||B==null)return null;var fe=ie??Q2;U||(fe=Q2),m&&fe.length&&(fe=HF(fe.filter(oe=>oe.value!=null&&(oe.hide!==!0||r.includeHidden)),x,pJ));var Pe=fe.length>0,te=Y2(Y2({},r),{},{payload:fe,label:Y,active:U,activeIndex:se,coordinate:ne,accessibilityLayer:P}),ge=b.createElement(y7,{allowEscapeViewBox:o,animationDuration:u,animationEasing:f,isAnimationActive:v,active:U,coordinate:ne,hasPayload:Pe,offset:p,position:S,reverseDirection:w,useTranslate3d:j,viewBox:I,wrapperStyle:C,lastBoundingBox:ve,innerRef:z,hasPortalFromProps:!!R},yJ(h,te));return b.createElement(b.Fragment,null,Mv.createPortal(ge,le),U&&b.createElement($W,{cursor:A,tooltipEventType:B,coordinate:ne,payload:fe,index:se}))}function bJ(e,t,n){return(t=SJ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function SJ(e){var t=wJ(e,"string");return typeof t=="symbol"?t:t+""}function wJ(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class jJ{constructor(t){bJ(this,"cache",new Map),this.maxSize=t}get(t){var n=this.cache.get(t);return n!==void 0&&(this.cache.delete(t),this.cache.set(t,n)),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(t,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function Z2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function CJ(e){for(var t=1;t{try{var n=document.getElementById(J2);n||(n=document.createElement("span"),n.setAttribute("id",J2),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,NJ,t),n.textContent="".concat(e);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},Af=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||ad.isSsr)return{width:0,height:0};if(!T3.enableCache)return eT(t,n);var r=TJ(t,n),l=W2.get(r);if(l)return l;var o=eT(t,n);return W2.set(r,o),o},R3;function jv(e,t){return PJ(e)||DJ(e,t)||MJ(e,t)||RJ()}function RJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MJ(e,t){if(e){if(typeof e=="string")return tT(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)?tT(e,t):void 0}}function tT(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 l=[];yn(t)||(n?l=t.toString().split(""):l=t.toString().split(D3));var o=l.map(f=>({word:f,width:Af(f,r).width})),u=n?0:Af(" ",r).width;return{wordsWithComputedWidth:o,spaceWidth:u}}catch{return null}};function k3(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function eee(e){return yn(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var I3=(e,t,n,r)=>e.reduce((l,o)=>{var u=o.word,f=o.width,h=l[l.length-1];if(h&&f!=null&&(t==null||r||h.width+f+ne.reduce((t,n)=>t.width>n.width?t:n),tee="…",sT=(e,t,n,r,l,o,u,f)=>{var h=e.slice(0,t),m=P3({breakAll:n,style:r,children:h+tee});if(!m)return[!1,[]];var v=I3(m.wordsWithComputedWidth,o,u,f),p=v.length>l||z3(v).width>Number(o);return[p,v]},nee=(e,t,n,r,l)=>{var o=e.maxLines,u=e.children,f=e.style,h=e.breakAll,m=Me(o),v=String(u),p=I3(t,r,n,l);if(!m||l)return p;var x=p.length>o||z3(p).width>Number(r);if(!x)return p;for(var S=0,w=v.length-1,j=0,C;S<=w&&j<=v.length-1;){var A=Math.floor((S+w)/2),E=A-1,N=sT(v,E,h,f,o,r,n,l),T=lT(N,2),R=T[0],O=T[1],D=sT(v,A,h,f,o,r,n,l),k=lT(D,1),I=k[0];if(!R&&!I&&(S=A+1),R&&I&&(w=A-1),!R&&I){C=O;break}j++}return C||p},uT=e=>{var t=yn(e)?[]:e.toString().split(D3);return[{words:t,width:void 0}]},ree=e=>{var t=e.width,n=e.scaleToFit,r=e.children,l=e.style,o=e.breakAll,u=e.maxLines;if((t||n)&&!ad.isSsr){var f,h,m=P3({breakAll:o,children:r,style:l});if(m){var v=m.wordsWithComputedWidth,p=m.spaceWidth;f=v,h=p}else return uT(r);return nee({breakAll:o,children:r,maxLines:u,style:l},f,h,t,!!n)}return uT(r)},L3="#808080",iee={angle:0,breakAll:!1,capHeight:"0.71em",fill:L3,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},ew=b.forwardRef((e,t)=>{var n=Rr(e,iee),r=n.x,l=n.y,o=n.lineHeight,u=n.capHeight,f=n.fill,h=n.scaleToFit,m=n.textAnchor,v=n.verticalAnchor,p=aT(n,KJ),x=b.useMemo(()=>ree({breakAll:p.breakAll,children:p.children,maxLines:p.maxLines,scaleToFit:h,style:p.style,width:p.width}),[p.breakAll,p.children,p.maxLines,h,p.style,p.width]),S=p.dx,w=p.dy,j=p.angle,C=p.className,A=p.breakAll,E=aT(p,YJ);if(!Fi(r)||!Fi(l)||x.length===0)return null;var N=Number(r)+(Me(S)?S:0),T=Number(l)+(Me(w)?w:0);if(!at(N)||!at(T))return null;var R;switch(v){case"start":R=r0("calc(".concat(u,")"));break;case"middle":R=r0("calc(".concat((x.length-1)/2," * -").concat(o," + (").concat(u," / 2))"));break;default:R=r0("calc(".concat(x.length-1," * -").concat(o,")"));break}var O=[],D=x[0];if(h&&D!=null){var k=D.width,I=p.width;O.push("scale(".concat(Me(I)&&Me(k)?I/k:1,")"))}return j&&O.push("rotate(".concat(j,", ").concat(N,", ").concat(T,")")),O.length&&(E.transform=O.join(" ")),b.createElement("text",Nb({},Qr(E),{ref:t,x:N,y:T,className:Ct("recharts-text",C),textAnchor:m,fill:f.includes("url")?L3:f}),x.map((P,B)=>{var F=P.words.join(A?"":" ");return b.createElement("tspan",{x:N,dy:B===0?R:o,key:"".concat(F,"-").concat(B)},F)}))});ew.displayName="Text";var aee=["labelRef"],lee=["content"];function cT(e,t){if(e==null)return{};var n,r,l=oee(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r{var t=e.x,n=e.y,r=e.upperWidth,l=e.lowerWidth,o=e.width,u=e.height,f=e.children,h=b.useMemo(()=>({x:t,y:n,upperWidth:r,lowerWidth:l,width:o,height:u}),[t,n,r,l,o,u]);return b.createElement(U3.Provider,{value:h},f)},$3=()=>{var e=b.useContext(U3),t=rg();return e||(t?R1(t):void 0)},dee=b.createContext(null),hee=()=>{var e=b.useContext(dee),t=Ie(yk);return e||t},mee=e=>{var t=e.value,n=e.formatter,r=yn(e.children)?t:e.children;return typeof n=="function"?n(r):r},jg=e=>e!=null&&typeof e=="function",vee=(e,t)=>{var n=Gr(t-e),r=Math.min(Math.abs(t-e),360);return n*r},gee=(e,t,n,r,l)=>{var o=e.offset,u=e.className,f=l.cx,h=l.cy,m=l.innerRadius,v=l.outerRadius,p=l.startAngle,x=l.endAngle,S=l.clockWise,w=(m+v)/2,j=vee(p,x),C=j>=0?1:-1,A,E;switch(t){case"insideStart":A=p+C*o,E=S;break;case"insideEnd":A=x-C*o,E=!S;break;case"end":A=x+C*o,E=S;break;default:throw new Error("Unsupported position ".concat(t))}E=j<=0?E:!E;var N=Dn(f,h,w,A),T=Dn(f,h,w,A+(E?1:-1)*359),R="M".concat(N.x,",").concat(N.y,` + A`).concat(w,",").concat(w,",0,1,").concat(E?0:1,`, + `).concat(T.x,",").concat(T.y),O=yn(e.id)?Rf("recharts-radial-line-"):e.id;return b.createElement("text",ga({},r,{dominantBaseline:"central",className:Ct("recharts-radial-bar-label",u)}),b.createElement("defs",null,b.createElement("path",{id:O,d:R})),b.createElement("textPath",{xlinkHref:"#".concat(O)},n))},pee=(e,t,n)=>{var r=e.cx,l=e.cy,o=e.innerRadius,u=e.outerRadius,f=e.startAngle,h=e.endAngle,m=(f+h)/2;if(n==="outside"){var v=Dn(r,l,u+t,m),p=v.x,x=v.y;return{x:p,y:x,textAnchor:p>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:l,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:l,textAnchor:"middle",verticalAnchor:"end"};var S=(o+u)/2,w=Dn(r,l,S,m),j=w.x,C=w.y;return{x:j,y:C,textAnchor:"middle",verticalAnchor:"middle"}},cu=e=>e!=null&&"cx"in e&&Me(e.cx),yee={angle:0,offset:5,zIndex:Zn.label,position:"middle",textBreakAll:!1};function xee(e){if(!cu(e))return e;var t=e.cx,n=e.cy,r=e.outerRadius,l=r*2;return{x:t-r,y:n-r,width:l,upperWidth:l,lowerWidth:l,height:l}}function bl(e){var t,n,r=Rr(e,yee),l=r.viewBox,o=r.parentViewBox,u=r.position,f=r.value,h=r.children,m=r.content,v=r.className,p=v===void 0?"":v,x=r.textBreakAll,S=r.labelRef,w=hee(),j=$3(),C=u==="center"?j:w??j,A,E,N;l==null?A=C:cu(l)?A=l:A=R1(l);var T=xee(A);if(!A||yn(f)&&yn(h)&&!b.isValidElement(m)&&typeof m!="function")return null;var R=cu(A)&&(u==="insideStart"||u==="insideEnd"||u==="end");if(cu(A))R||(N=pee(A,r.offset,r.position));else if(T){var O=BH({viewBox:T,position:u,offset:r.offset,parentViewBox:cu(o)?void 0:o});N=So(So({x:O.x,y:O.y,textAnchor:O.horizontalAnchor,verticalAnchor:O.verticalAnchor},O.width!==void 0?{width:O.width}:{}),O.height!==void 0?{height:O.height}:{})}var D=So(So(So(So({},((t=N)===null||t===void 0?void 0:t.x)!==void 0?{x:N.x}:{}),((n=N)===null||n===void 0?void 0:n.y)!==void 0?{y:N.y}:{}),r),{},{viewBox:A});if(b.isValidElement(m)){D.labelRef;var k=cT(D,aee);return b.cloneElement(m,k)}if(typeof m=="function"){D.content;var I=cT(D,lee);if(E=b.createElement(m,I),b.isValidElement(E))return E}else E=mee(r);var P=Qr(r);return R&&cu(A)?gee(r,u,E,P,A):N==null?null:b.createElement(Ua,{zIndex:r.zIndex},b.createElement(ew,ga({ref:S,className:Ct("recharts-label",p)},P,N,{textAnchor:k3(P.textAnchor)?P.textAnchor:N.textAnchor,breakAll:x}),E))}bl.displayName="Label";var bee=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?b.createElement(bl,ga({key:"label-implicit"},r)):Fi(e)?b.createElement(bl,ga({key:"label-implicit",value:e},r)):b.isValidElement(e)?e.type===bl?b.cloneElement(e,So({key:"label-implicit"},r)):b.createElement(bl,ga({key:"label-implicit",content:e},r)):jg(e)?b.createElement(bl,ga({key:"label-implicit",content:e},r)):e&&typeof e=="object"?b.createElement(bl,ga({},e,{key:"label-implicit"},r)):null};function See(e){var t=e.label,n=e.labelRef,r=$3();return bee(t,r,n)||null}var wee=["valueAccessor"],jee=["dataKey","clockWise","id","textBreakAll","zIndex"];function Cv(){return Cv=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(eee(t))return t},B3=b.createContext(void 0),Aee=B3.Provider,H3=b.createContext(void 0);H3.Provider;function Eee(){return b.useContext(B3)}function Oee(){return b.useContext(H3)}function Dm(e){var t=e.valueAccessor,n=t===void 0?_ee:t,r=dT(e,wee),l=r.dataKey;r.clockWise;var o=r.id,u=r.textBreakAll,f=r.zIndex,h=dT(r,jee),m=Eee(),v=Oee(),p=m||v;return!p||!p.length?null:b.createElement(Ua,{zIndex:f??Zn.label},b.createElement(Aa,{className:"recharts-label-list"},p.map((x,S)=>{var w,j=yn(l)?n(x,S):pn(x.payload,l),C=yn(o)?{}:{id:"".concat(o,"-").concat(S)};return b.createElement(bl,Cv({key:"label-".concat(S)},Qr(x),h,C,{fill:(w=r.fill)!==null&&w!==void 0?w:x.fill,parentViewBox:x.parentViewBox,value:j,textBreakAll:u,viewBox:x.viewBox,index:S,zIndex:0}))})))}Dm.displayName="LabelList";function Nee(e){var t=e.label;return t?t===!0?b.createElement(Dm,{key:"labelList-implicit"}):b.isValidElement(t)||jg(t)?b.createElement(Dm,{key:"labelList-implicit",content:t}):typeof t=="object"?b.createElement(Dm,Cv({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function Tb(){return Tb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,n=e.cy,r=e.r,l=e.className,o=Ct("recharts-dot",l);return Me(t)&&Me(n)&&Me(r)?b.createElement("circle",Tb({},Hi(e),z1(e),{className:o,cx:t,cy:n,r})):null},Tee={radiusAxis:{},angleAxis:{}},V3=Hn({name:"polarAxis",initialState:Tee,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=it(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=it(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Cg=V3.actions;Cg.addRadiusAxis;Cg.removeRadiusAxis;Cg.addAngleAxis;Cg.removeAngleAxis;var Ree=V3.reducer;function Mee(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var G3=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function hT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function mT(e){for(var t=1;t{r||(l.current===null?n(tZ(t)):l.current!==t&&n(nZ({prev:l.current,next:t})),l.current=t)},[t,n,r]),b.useLayoutEffect(()=>()=>{l.current&&(n(rZ(l.current)),l.current=null)},[n]),null}function Hee(e){var t=e.legendPayload,n=Vt(),r=dr(),l=b.useRef(null);return b.useLayoutEffect(()=>{r||(l.current===null?n(bG(t)):l.current!==t&&n(SG({prev:l.current,next:t})),l.current=t)},[n,r,t]),b.useLayoutEffect(()=>()=>{l.current&&(n(wG(l.current)),l.current=null)},[n]),null}function Fee(e,t){return Kee(e)||qee(e,t)||Gee(e,t)||Vee()}function Vee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gee(e,t){if(e){if(typeof e=="string")return vT(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)?vT(e,t):void 0}}function vT(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 l of n)r.push({status:"removed",prev:l});for(var o=0;oe[Math.floor(o*n)]);return nw(r,t)}function Qee(e,t){var n=t.map((r,l)=>e[l]);return nw(n,t)}function Zee(e,t){for(var n=new Map,r=0;r{var S=n(p,x);if(S!=null){var w=r.get(S);if(w!==void 0)return l.add(S),w}}),u=[];for(var f of r){var h=Fee(f,2),m=h[0],v=h[1];l.has(m)||u.push(v)}return nw(o,t,u)}function Jee(e,t,n){return t==null?null:e==null?t.map(r=>({status:"added",next:r})):n===tw?Xee(e,t):n===Yee?Qee(e,t):Wee(e,t,n)}function ete(e,t){var n=b.useRef(e),r=b.useRef(t.current),l=b.useRef(!0);n.current!==e&&(n.current=e,r.current=t.current,l.current=!1);var o=b.useCallback(function(u,f){var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(f===0){l.current=!0;return}f===1&&(r.current=u),f>0&&l.current&&h&&(t.current=u)},[t]);return{startValue:r.current,syncStepValue:o}}function tte(e,t){return ate(e)||ite(e,t)||rte(e,t)||nte()}function nte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rte(e,t){if(e){if(typeof e=="string")return gT(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)?gT(e,t):void 0}}function gT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{typeof e=="function"&&e(),o(!0)},[e]),f=b.useCallback(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:l,handleAnimationStart:u,handleAnimationEnd:f}}function ote(e){var t,n=e.animationInput,r=e.animationIdPrefix,l=e.items,o=e.previousItemsRef,u=e.isAnimationActive,f=e.animationBegin,h=e.animationDuration,m=e.animationEasing,v=e.onAnimationStart,p=e.onAnimationEnd,x=e.animationInterpolateFn,S=e.animationMatchBy,w=e.shouldUpdatePreviousRef,j=e.children,C=e.layout,A=QP(n,r),E=ete(A,o),N=(t=E.startValue)!==null&&t!==void 0?t:null,T=Jee(N,l,S??tw);return b.createElement(XP,{animationId:A,begin:f,duration:h,isActive:u,easing:m,onAnimationEnd:p,onAnimationStart:v,key:A},R=>{var O=N==null,D=l==null?l:x(T,R,C),k=w?w(R):R>0;return E.syncStepValue(D,R,k),D==null?null:j(D,R,O)})}var i0;function ste(e,t){return dte(e)||fte(e,t)||cte(e,t)||ute()}function ute(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cte(e,t){if(e){if(typeof e=="string")return pT(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)?pT(e,t):void 0}}function pT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var e=b.useState(()=>Rf("uid-")),t=ste(e,1),n=t[0];return n},mte=(i0=Ul.useId)!==null&&i0!==void 0?i0:hte;function vte(e,t){var n=mte();return t||(e?"".concat(e,"-").concat(n):n)}var gte=b.createContext(void 0),pte=e=>{var t=e.id,n=e.type,r=e.children,l=vte("recharts-".concat(n),t);return b.createElement(gte.Provider,{value:l},r(l))},yte={cartesianItems:[],polarItems:[]},K3=Hn({name:"graphicalItems",initialState:yte,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(it(t.payload))},prepare:Ot()},replaceCartesianGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,l=n.next,o=qr(e).cartesianItems.indexOf(it(r));o>-1&&(e.cartesianItems[o]=it(l))},prepare:Ot()},removeCartesianGraphicalItem:{reducer(e,t){var n=qr(e).cartesianItems.indexOf(it(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:Ot()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(it(t.payload))},prepare:Ot()},removePolarGraphicalItem:{reducer(e,t){var n=qr(e).polarItems.indexOf(it(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:Ot()},replacePolarGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,l=n.next,o=qr(e).polarItems.indexOf(it(r));o>-1&&(e.polarItems[o]=it(l))},prepare:Ot()}}}),ac=K3.actions,xte=ac.addCartesianGraphicalItem,bte=ac.replaceCartesianGraphicalItem,Ste=ac.removeCartesianGraphicalItem;ac.addPolarGraphicalItem;ac.removePolarGraphicalItem;ac.replacePolarGraphicalItem;var wte=K3.reducer,jte=e=>{var t=Vt(),n=b.useRef(null);return b.useLayoutEffect(()=>{n.current===null?t(xte(e)):n.current!==e&&t(bte({prev:n.current,next:e})),n.current=e},[t,e]),b.useLayoutEffect(()=>()=>{n.current&&(t(Ste(n.current)),n.current=null)},[t]),null},Cte=b.memo(jte),_te=["points"];function yT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function a0(e){for(var t=1;t{var A,E,N=a0(a0(a0({r:3},u),x),{},{index:C,cx:(A=j.x)!==null&&A!==void 0?A:void 0,cy:(E=j.y)!==null&&E!==void 0?E:void 0,dataKey:o,value:j.value,payload:j.payload,points:t});return b.createElement(Rte,{key:"dot-".concat(C),option:n,dotProps:N,className:l})}),w={};return f&&h!=null&&(w.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(h,")")),b.createElement(Ua,{zIndex:v},b.createElement(Aa,_v({className:r},w),S))}function xT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function gm(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),Yte=W([Kte,Da,Pa],(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)}}),rw=()=>Ie(Yte),Xte=()=>Ie(tW);function bT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function l0(e){for(var t=1;t{var t=e.point,n=e.childIndex,r=e.mainColor,l=e.activeDot,o=e.dataKey,u=e.clipPath;if(l===!1||t.x==null||t.y==null)return null;var f={index:n,dataKey:o,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},h=l0(l0(l0({},f),Lv(l)),z1(l)),m;return b.isValidElement(l)?m=b.cloneElement(l,h):typeof l=="function"?m=l(h):m=b.createElement(F3,h),b.createElement(Aa,{className:"recharts-active-dot",clipPath:u},m)};function ene(e){var t=e.points,n=e.mainColor,r=e.activeDot,l=e.itemDataKey,o=e.clipPath,u=e.zIndex,f=u===void 0?Zn.activeDot:u,h=Ie(Bf),m=Xte();if(t==null||m==null)return null;var v=t.find(p=>m.includes(p.payload));return yn(v)?null:b.createElement(Ua,{zIndex:f},b.createElement(Jte,{point:v,childIndex:Number(h),mainColor:n,dataKey:l,activeDot:r,clipPath:o}))}var tne=e=>{var t=e.chartData,n=Vt(),r=dr();return b.useEffect(()=>r?()=>{}:(n(G2(t)),()=>{n(G2(void 0))}),[t,n,r]),null},ST={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},X3=Hn({name:"brush",initialState:ST,reducers:{setBrushSettings(e,t){return t.payload==null?ST:t.payload}}});X3.actions.setBrushSettings;var nne=X3.reducer;function rne(e){return(e%180+180)%180}var ine=function(t){var n=t.width,r=t.height,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=rne(l),u=o*Math.PI/180,f=Math.atan(r/n),h=u>f&&u{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=qr(e).dots.findIndex(r=>r===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=qr(e).areas.findIndex(r=>r===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(it(t.payload))},removeLine:(e,t)=>{var n=qr(e).lines.findIndex(r=>r===t.payload);n!==-1&&e.lines.splice(n,1)}}}),lc=Q3.actions;lc.addDot;lc.removeDot;lc.addArea;lc.removeArea;lc.addLine;lc.removeLine;var lne=Q3.reducer;function one(e,t){return fne(e)||cne(e,t)||une(e,t)||sne()}function sne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function une(e,t){if(e){if(typeof e=="string")return wT(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)?wT(e,t):void 0}}function wT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=b.useState("".concat(Rf("recharts"),"-clip")),r=one(n,1),l=r[0],o=rw();if(o==null)return null;var u=o.x,f=o.y,h=o.width,m=o.height;return b.createElement(dne.Provider,{value:l},b.createElement("defs",null,b.createElement("clipPath",{id:l},b.createElement("rect",{x:u,y:f,height:m,width:h}))),t)};function mne(){}function jT(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function vne(e,t,n){return jf(e,t,void 0,void 0,void 0,void 0,n)}function jf(e,t,n,r,l,o,u){const f=u(e,t,n,r,l,o);if(f!==void 0)return f;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 Ef(e,t,o,u)}return Ef(e,t,o,u)}function Ef(e,t,n,r){var l;if(Object.is(e,t))return!0;let o=zo(e),u=zo(t);if(o==="[object Arguments]"&&(o=Nm),u==="[object Arguments]"&&(u=Nm),o!==u)return!1;switch(o){case U1:return e.toString()===t.toString();case $1:{const m=e.valueOf(),v=t.valueOf();return Cf(m,v)}case B1:case ND:case OD:return Object.is(e.valueOf(),t.valueOf());case AD:return e.source===t.source&&e.flags===t.flags;case jF:return e===t}n=(l=n)!==null&&l!==void 0?l:new Map;const f=n.get(e),h=n.get(t);if(f!=null&&h!=null)return f===t;n.set(e,t),n.set(t,e);try{switch(o){case TD:if(e.size!==t.size)return!1;for(const[m,v]of e.entries())if(!t.has(m)||!jf(v,t.get(m),m,e,t,n,r))return!1;return!0;case RD:{if(e.size!==t.size)return!1;const m=Array.from(e.values()),v=Array.from(t.values());for(let p=0;pjf(x,w,void 0,e,t,n,r));if(S===-1)return!1;v.splice(S,1)}return!0}case MD:case kD:case ID:case zD:case LD:case _F:case UD:case $D:case BD:case AF:case HD:case FD:if(nb(e)!==nb(t)||e.length!==t.length)return!1;for(let m=0;me*l)return!1;var o=n();return e*(t-e*o/2-r)>=0&&e*(t+e*o/2-l)<=0}function xne(e,t){return Z3(e,t+1)}function bne(e,t,n,r,l){for(var o=(r||[]).slice(),u=t.start,f=t.end,h=0,m=1,v=u,p=function(){var w=r==null?void 0:r[h];if(w===void 0)return{v:Z3(r,m)};var j=h,C,A=()=>(C===void 0&&(C=n(w,j)),C),E=w.coordinate,N=h===0||Ff(e,E,A,v,f);N||(h=0,v=u,m+=1),N&&(v=E+e*(A()/2+l),h+=m)},x;m<=o.length;)if(x=p(),x)return x.v;return[]}function Sne(e,t,n,r,l){var o=(r||[]).slice(),u=o.length;if(u===0)return[];for(var f=t.start,h=t.end,m=1;m<=u;m++){for(var v=(u-1)%m,p=f,x=!0,S=function(){var T=r[j];if(T==null)return 0;var R=j,O,D=()=>(O===void 0&&(O=n(T,R)),O),k=T.coordinate,I=j===v||Ff(e,k,D,p,h);if(!I)return x=!1,1;I&&(p=k+e*(D()/2+l))},w,j=v;j(j===void 0&&(j=n(S,x)),j);if(x===u-1){var A=e*(w.coordinate+e*C()/2-h);o[x]=w=Ln(Ln({},w),{},{tickCoord:A>0?w.coordinate-A*e:w.coordinate})}else o[x]=w=Ln(Ln({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var E=Ff(e,w.tickCoord,C,f,h);E&&(h=w.tickCoord-e*(C()/2+l),o[x]=Ln(Ln({},w),{},{isShow:!0}))}},v=u-1;v>=0;v--)m(v);return o}function Ane(e,t,n,r,l,o){var u=(r||[]).slice(),f=u.length,h=t.start,m=t.end;if(o){var v=r[f-1];if(v!=null){var p=n(v,f-1),x=e*(v.coordinate+e*p/2-m);if(u[f-1]=v=Ln(Ln({},v),{},{tickCoord:x>0?v.coordinate-x*e:v.coordinate}),v.tickCoord!=null){var S=Ff(e,v.tickCoord,()=>p,h,m);S&&(m=v.tickCoord-e*(p/2+l),u[f-1]=Ln(Ln({},v),{},{isShow:!0}))}}}for(var w=o?f-1:f,j=function(E){var N=u[E];if(N==null)return 1;var T=N,R,O=()=>(R===void 0&&(R=n(N,E)),R);if(E===0){var D=e*(T.coordinate-e*O()/2-h);u[E]=T=Ln(Ln({},T),{},{tickCoord:D<0?T.coordinate-D*e:T.coordinate})}else u[E]=T=Ln(Ln({},T),{},{tickCoord:T.coordinate});if(T.tickCoord!=null){var k=Ff(e,T.tickCoord,O,h,m);k&&(h=T.tickCoord+e*(O()/2+l),u[E]=Ln(Ln({},T),{},{isShow:!0}))}},C=0;C{var D=typeof m=="function"?m(R.value,O):R.value;return w==="width"?pne(Af(D,{fontSize:t,letterSpacing:n}),j,p):Af(D,{fontSize:t,letterSpacing:n})[w]},A=l[0],E=l[1],N=l.length>=2&&A!=null&&E!=null?Gr(E.coordinate-A.coordinate):1,T=yne(o,N,w);return h==="equidistantPreserveStart"?bne(N,T,C,l,u):h==="equidistantPreserveEnd"?Sne(N,T,C,l,u):(h==="preserveStart"||h==="preserveStartEnd"?S=Ane(N,T,C,l,u,h==="preserveStartEnd"):S=_ne(N,T,C,l,u),S.filter(R=>R.isShow))}var Ene=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,l=r,o=e.tickSize,u=o===void 0?0:o,f=e.tickMargin,h=f===void 0?0:f,m=0;if(t){Array.from(t).forEach(S=>{if(S){var w=S.getBoundingClientRect();w.width>m&&(m=w.width)}});var v=n?n.getBoundingClientRect().width:0,p=u+h,x=m+p+v+(n?l:0);return Math.round(x)}return 0},One=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,l=r,o=e.tickSize,u=o===void 0?0:o,f=e.tickMargin,h=f===void 0?0:f,m=0;if(t){Array.from(t).forEach(S=>{if(S){var w=S.getBoundingClientRect();w.height>m&&(m=w.height)}});var v=n?n.getBoundingClientRect().height:0,p=u+h,x=m+p+v+(n?l:0);return Math.round(x)}return 0},Nne={xAxis:{},yAxis:{}},W3=Hn({name:"renderedTicks",initialState:Nne,reducers:{setRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,l=n.axisId,o=n.ticks;e[r][l]=it(o)},removeRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,l=n.axisId;delete e[r][l]}}}),J3=W3.actions,Tne=J3.setRenderedTicks,Rne=J3.removeRenderedTicks,Mne=W3.reducer,Dne=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function _T(e,t){return zne(e)||Ine(e,t)||kne(e,t)||Pne()}function Pne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kne(e,t){if(e){if(typeof e=="string")return AT(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)?AT(e,t):void 0}}function AT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(!(r==null||n==null)){var u=t.map(h=>({value:h.value,coordinate:h.coordinate,offset:h.offset,index:h.index})),f=o.current;f!=null&&f.axisId===r&&f.axisType===n&&gne(f.ticks,u)||(o.current={ticks:u,axisId:r,axisType:n},l(Tne({ticks:u,axisId:r,axisType:n})))}},[l,t,r,n]),b.useEffect(()=>r==null||n==null?Yu:()=>{l(Rne({axisId:r,axisType:n}))},[l,r,n]),null}var Xne=b.forwardRef((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,l=e.tick,o=e.tickLine,u=e.stroke,f=e.tickFormatter,h=e.unit,m=e.padding,v=e.tickTextProps,p=e.orientation,x=e.mirror,S=e.x,w=e.y,j=e.width,C=e.height,A=e.tickSize,E=e.tickMargin,N=e.fontSize,T=e.letterSpacing,R=e.getTicksConfig,O=e.events,D=e.axisType,k=e.axisId,I=iw($t($t({},R),{},{ticks:r}),N,T),P=Hi(R),B=Lv(l),F=k3(P.textAnchor)?P.textAnchor:Gne(p,x),se=qne(p,x),ue={};typeof o=="object"&&(ue=o);var he=$t($t({},P),{},{fill:"none"},ue),G=I.map(ce=>$t({entry:ce},Vne(ce,S,w,j,C,p,A,x,E))),ne=G.map(ce=>{var U=ce.entry,Ee=ce.line;return b.createElement(Aa,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(U.value,"-").concat(U.coordinate,"-").concat(U.tickCoord)},o&&b.createElement("line",Zo({},he,Ee,{className:Ct("recharts-cartesian-axis-tick-line",ts(o,"className"))})))}),ie=G.map((ce,U)=>{var Ee,ee,ve=ce.entry,z=ce.tick,Y=$t($t($t($t({verticalAnchor:se},P),{},{textAnchor:F,stroke:"none",fill:u},z),{},{index:U,payload:ve,visibleTicksCount:I.length,tickFormatter:f,padding:m},v),{},{angle:(Ee=(ee=v==null?void 0:v.angle)!==null&&ee!==void 0?ee:P.angle)!==null&&Ee!==void 0?Ee:0}),le=$t($t({},Y),B);return b.createElement(Aa,Zo({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(ve.value,"-").concat(ve.coordinate,"-").concat(ve.tickCoord)},mF(O,ve,U)),l&&b.createElement(Kne,{option:l,tickProps:le,value:"".concat(typeof f=="function"?f(ve.value,U):ve.value).concat(h||"")}))});return b.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(D,"-ticks")},b.createElement(Yne,{ticks:I,axisId:k,axisType:D}),ie.length>0&&b.createElement(Ua,{zIndex:Zn.label},b.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(D,"-tick-labels"),ref:t},ie)),ne.length>0&&b.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(D,"-tick-lines")},ne))}),Qne=b.forwardRef((e,t)=>{var n=e.axisLine,r=e.width,l=e.height,o=e.className,u=e.hide,f=e.ticks,h=e.axisType,m=e.axisId,v=Lne(e,Dne),p=b.useState(""),x=_T(p,2),S=x[0],w=x[1],j=b.useState(""),C=_T(j,2),A=C[0],E=C[1],N=b.useRef(null);b.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var R;return Ene({ticks:N.current,label:(R=e.labelRef)===null||R===void 0?void 0:R.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var R;return One({ticks:N.current,label:(R=e.labelRef)===null||R===void 0?void 0:R.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var T=b.useCallback(R=>{if(R){var O=R.getElementsByClassName("recharts-cartesian-axis-tick-value");N.current=O;var D=O[0];if(D){var k=window.getComputedStyle(D),I=k.fontSize,P=k.letterSpacing;(I!==S||P!==A)&&(w(I),E(P))}}},[S,A]);return u||r!=null&&r<=0||l!=null&&l<=0?null:b.createElement(Ua,{zIndex:e.zIndex},b.createElement(Aa,{className:Ct("recharts-cartesian-axis",o)},b.createElement(Fne,{x:e.x,y:e.y,width:r,height:l,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:Hi(e)}),b.createElement(Xne,{ref:T,axisType:h,events:v,fontSize:S,getTicksConfig:e,height:e.height,letterSpacing:A,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:f,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:m}),b.createElement(fee,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},b.createElement(See,{label:e.label,labelRef:e.labelRef}),e.children)))}),aw=b.forwardRef((e,t)=>{var n=Rr(e,ja);return b.createElement(Qne,Zo({},n,{ref:t}))});aw.displayName="CartesianAxis";var Zne={grid:{stroke:"#ccc",fill:"none"}},ez=b.createContext(Zne);ez.Provider;var Wne=()=>b.useContext(ez),Jne=["x1","y1","x2","y2","key"],ere=["offset"],tre=["xAxisId","yAxisId"],nre=["xAxisId","yAxisId"];function OT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Un(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var n=e.fillOpacity,r=e.x,l=e.y,o=e.width,u=e.height,f=e.ry;return b.createElement("rect",{x:r,y:l,ry:f,width:o,height:u,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function tz(e){var t=e.option,n=e.lineItemProps,r;if(b.isValidElement(t))r=b.cloneElement(t,n);else if(typeof t=="function")r=t(n);else{var l,o=n.x1,u=n.y1,f=n.x2,h=n.y2,m=n.key,v=Av(n,Jne),p=(l=Hi(v))!==null&&l!==void 0?l:{};p.offset;var x=Av(p,ere),S=Array.isArray(x.strokeDasharray)?x.strokeDasharray.join(","):x.strokeDasharray;r=b.createElement("line",Ao({},x,{strokeDasharray:S,x1:o,y1:u,x2:f,y2:h,fill:"none",key:m}))}return r}function sre(e){var t=e.x,n=e.width,r=e.horizontal,l=r===void 0?!0:r,o=e.horizontalPoints;if(!l||!o||!o.length)return null;e.xAxisId,e.yAxisId;var u=Av(e,tre),f=o.map((h,m)=>{var v=Un(Un({},u),{},{x1:t,y1:h,x2:t+n,y2:h,key:"line-".concat(m),index:m});return b.createElement(tz,{key:"line-".concat(m),option:l,lineItemProps:v})});return b.createElement("g",{className:"recharts-cartesian-grid-horizontal"},f)}function ure(e){var t=e.y,n=e.height,r=e.vertical,l=r===void 0?!0:r,o=e.verticalPoints;if(!l||!o||!o.length)return null;e.xAxisId,e.yAxisId;var u=Av(e,nre),f=o.map((h,m)=>{var v=Un(Un({},u),{},{x1:h,y1:t,x2:h,y2:t+n,key:"line-".concat(m),index:m});return b.createElement(tz,{option:l,lineItemProps:v,key:"line-".concat(m)})});return b.createElement("g",{className:"recharts-cartesian-grid-vertical"},f)}function cre(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,l=e.y,o=e.width,u=e.height,f=e.horizontalPoints,h=e.horizontal,m=h===void 0?!0:h;if(!m||!t||!t.length||f==null)return null;var v=f.map(x=>Math.round(x+l-l)).sort((x,S)=>x-S);l!==v[0]&&v.unshift(0);var p=v.map((x,S)=>{var w=v[S+1],j=w==null,C=j?l+u-x:w-x;if(C<=0)return null;var A=S%t.length;return b.createElement("rect",{key:"react-".concat(S),y:x,x:r,height:C,width:o,stroke:"none",fill:t[A],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return b.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function fre(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,l=e.fillOpacity,o=e.x,u=e.y,f=e.width,h=e.height,m=e.verticalPoints;if(!n||!r||!r.length)return null;var v=m.map(x=>Math.round(x+o-o)).sort((x,S)=>x-S);o!==v[0]&&v.unshift(0);var p=v.map((x,S)=>{var w=v[S+1],j=w==null,C=j?o+f-x:w-x;if(C<=0)return null;var A=S%r.length;return b.createElement("rect",{key:"react-".concat(S),x,y:u,width:C,height:h,stroke:"none",fill:r[A],fillOpacity:l,className:"recharts-cartesian-grid-bg"})});return b.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var dre=(e,t)=>{var n=e.xAxis,r=e.width,l=e.height,o=e.offset;return OP(iw(Un(Un(Un({},ja),n),{},{ticks:NP(n),viewBox:{x:0,y:0,width:r,height:l}})),o.left,o.left+o.width,t)},hre=(e,t)=>{var n=e.yAxis,r=e.width,l=e.height,o=e.offset;return OP(iw(Un(Un(Un({},ja),n),{},{ticks:NP(n),viewBox:{x:0,y:0,width:r,height:l}})),o.top,o.top+o.height,t)},mre={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Zn.grid};function lw(e){var t,n,r,l,o,u,f=LP(),h=UP(),m=zP(),v=Un(Un({},Rr(e,mre)),{},{x:Me(e.x)?e.x:m.left,y:Me(e.y)?e.y:m.top,width:Me(e.width)?e.width:m.width,height:Me(e.height)?e.height:m.height}),p=v.xAxisId,x=v.yAxisId,S=v.x,w=v.y,j=v.width,C=v.height,A=v.syncWithTicks,E=v.horizontalValues,N=v.verticalValues,T=dr(),R=Ie(ne=>M2(ne,"xAxis",p,T)),O=Ie(ne=>M2(ne,"yAxis",x,T)),D=Wne(),k={stroke:(t=v.stroke)!==null&&t!==void 0?t:D.grid.stroke,strokeWidth:(n=v.strokeWidth)!==null&&n!==void 0?n:D.grid.strokeWidth,strokeOpacity:(r=v.strokeOpacity)!==null&&r!==void 0?r:D.grid.strokeOpacity,strokeDasharray:(l=v.strokeDasharray)!==null&&l!==void 0?l:D.grid.strokeDasharray};if(!Vi(j)||!Vi(C)||!Me(S)||!Me(w))return null;var I=v.verticalCoordinatesGenerator||dre,P=v.horizontalCoordinatesGenerator||hre,B=v.horizontalPoints,F=v.verticalPoints;if((!B||!B.length)&&typeof P=="function"){var se=E&&E.length,ue=P({yAxis:O?Un(Un({},O),{},{ticks:se?E:O.ticks}):void 0,width:f??j,height:h??C,offset:m},se?!0:A);tv(Array.isArray(ue),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof ue,"]")),Array.isArray(ue)&&(B=ue)}if((!F||!F.length)&&typeof I=="function"){var he=N&&N.length,G=I({xAxis:R?Un(Un({},R),{},{ticks:he?N:R.ticks}):void 0,width:f??j,height:h??C,offset:m},he?!0:A);tv(Array.isArray(G),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof G,"]")),Array.isArray(G)&&(F=G)}return b.createElement(Ua,{zIndex:v.zIndex},b.createElement("g",{className:"recharts-cartesian-grid"},b.createElement(ore,{fill:(o=v.fill)!==null&&o!==void 0?o:D.grid.fill,fillOpacity:(u=v.fillOpacity)!==null&&u!==void 0?u:D.grid.fillOpacity,x:v.x,y:v.y,width:v.width,height:v.height,ry:v.ry}),b.createElement(cre,Ao({},v,{horizontalPoints:B})),b.createElement(fre,Ao({},v,{verticalPoints:F})),b.createElement(sre,Ao({},v,k,{offset:m,horizontalPoints:B,xAxis:R,yAxis:O})),b.createElement(ure,Ao({},v,k,{offset:m,verticalPoints:F,xAxis:R,yAxis:O}))))}lw.displayName="CartesianGrid";var vre=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function Rb(){return Rb=Object.assign?Object.assign.bind():function(e){for(var t=1;tS+w,0);if(!l)return nz(t,e);for(var o=Math.floor(e/l),u=e%l,f=[],h=0,m=0;hu){f=[...r.slice(0,h),u-m];break}}var x=f.length%2===0?[0,t]:[t];return[...bre(r,o),...f,...x].map(S=>"".concat(S,"px")).join(", ")}function wre(e,t,n){if(e){var r="".concat(e).split(/[,\s]+/gim).map(l=>parseFloat(l));return Sre(n,t,r)}return nz(t,n)}function jre(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,l=gre(e,vre),o=r??!1,u;if(t!=null){var f,h=l.pathRef,m=yre((f=h==null?void 0:h.current)!==null&&f!==void 0?f:null);u=wre(n,m,t)}else n!=null&&(u=String(n));return b.createElement(GP,Rb({},l,{connectNulls:o,strokeDasharray:u}))}function Cre(e){var t=b.useRef(0),n=b.useRef(0),r=b.useRef(!1),l=b.useRef(e);return l.current!==e&&(t.current=n.current,l.current=e),b.useCallback((o,u)=>{if(r.current)return null;var f=Math.min(pa(t.current+o*u),u);return o>0&&u>0&&(n.current=Math.max(n.current,f),f>=u)?(r.current=!0,null):f},[])}var _re={},rz=Hn({name:"errorBars",initialState:_re,reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,l=n.errorBar;e[r]||(e[r]=[]),e[r].push(l)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,l=n.prev,o=n.next;e[r]&&(e[r]=e[r].map(u=>u.dataKey===l.dataKey&&u.direction===l.direction?o:u))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,l=n.errorBar;e[r]&&(e[r]=e[r].filter(o=>o.dataKey!==l.dataKey||o.direction!==l.direction))}}}),ow=rz.actions;ow.addErrorBar;ow.replaceErrorBar;ow.removeErrorBar;var Are=rz.reducer,Ere=["children"];function Ore(e,t){if(e==null)return{};var n,r,l=Nre(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},Rre=b.createContext(Tre);function Mre(e){var t=e.children,n=Ore(e,Ere);return b.createElement(Rre.Provider,{value:n},t)}function iz(e,t){var n,r,l=Ie(m=>Ia(m,e)),o=Ie(m=>za(m,t)),u=(n=l==null?void 0:l.allowDataOverflow)!==null&&n!==void 0?n:tn.allowDataOverflow,f=(r=o==null?void 0:o.allowDataOverflow)!==null&&r!==void 0?r:nn.allowDataOverflow,h=u||f;return{needClip:h,needClipX:u,needClipY:f}}function Dre(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,l=rw(),o=iz(t,n),u=o.needClipX,f=o.needClipY,h=o.needClip,m=Ie(N=>VI(N,t,!1)),v=Ie(N=>GI(N,n,!1));if(!h||!l)return null;var p=l.x,x=l.y,S=l.width,w=l.height,j=u&&m?Math.min(m[0],m[1]):p-S/2,C=f&&v?Math.min(v[0],v[1]):x-w/2,A=u&&m?Math.abs(m[1]-m[0]):S*2,E=f&&v?Math.abs(v[1]-v[0]):w*2;return b.createElement("clipPath",{id:"clipPath-".concat(r)},b.createElement("rect",{x:j,y:C,width:A,height:E}))}var az=(e,t,n,r)=>JI(e,"xAxis",t,r),lz=(e,t,n,r)=>WI(e,"xAxis",t,r),oz=(e,t,n,r)=>JI(e,"yAxis",n,r),sz=(e,t,n,r)=>WI(e,"yAxis",n,r),Pre=W([It,az,oz,lz,sz],(e,t,n,r,l)=>Ma(e,"xAxis")?ev(t,r,!1):ev(n,l,!1)),kre=(e,t,n,r,l)=>l;function Ire(e){return e.type==="line"}var zre=W([xI,kre],(e,t)=>e.filter(Ire).find(n=>n.id===t)),Lre=W([It,az,oz,lz,sz,zre,Pre,ld],(e,t,n,r,l,o,u,f)=>{var h=f.chartData,m=f.dataStartIndex,v=f.dataEndIndex;if(!(o==null||t==null||n==null||r==null||l==null||r.length===0||l.length===0||u==null||e!=="horizontal"&&e!=="vertical")){var p=o.dataKey,x=o.data,S;if(x!=null&&x.length>0?S=x:S=h==null?void 0:h.slice(m,v+1),S!=null)return lie({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:l,dataKey:p,bandSize:u,displayedData:S})}});function Ure(e){var t=Lv(e),n=3,r=2;if(t!=null){var l=t.r,o=t.strokeWidth,u=Number(l),f=Number(o);return(Number.isNaN(u)||u<0)&&(u=n),(Number.isNaN(f)||f<0)&&(f=r),{r:u,strokeWidth:f}}return{r:n,strokeWidth:r}}var $re=["id"],Bre=["type","layout","connectNulls","needClip","shape","strokeDasharray"],Hre=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function Ev(){return Ev=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/n:0}var Xre=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(f=>f.status==="removed"?[]:[f.next]);var n=Yre(e),r=[];for(var l of e)if(l.status==="matched")r.push(Pi(Pi({},l.next),{},{x:ya(l.prev.x,l.next.x,t),y:ya(l.prev.y,l.next.y,t)}));else if(l.status==="added")if(l.next.x!=null){var o=l.next.x-n;r.push(Pi(Pi({},l.next),{},{x:ya(o,l.next.x,t),y:l.next.y}))}else r.push(l.next);else if(l.status==="removed"&&l.prev.x!=null){var u=l.prev.x+n;r.push(Pi(Pi({},l.prev),{},{x:ya(l.prev.x,u,t),y:l.prev.y}))}return r},uw={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Xre,animationMatchBy:tw,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:jre,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:Zn.line,type:"linear"},Qre=e=>{var t=e.dataKey,n=e.name,r=e.stroke,l=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:l,color:r,value:TP(n,t),payload:e}]},Zre=b.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,l=e.strokeWidth,o=e.fill,u=e.name,f=e.hide,h=e.unit,m=e.formatter,v=e.tooltipType,p=e.id,x={dataDefinedOnItem:n,getPosition:Yu,settings:{stroke:r,strokeWidth:l,fill:o,dataKey:t,nameKey:void 0,name:TP(u,t),hide:f,type:v,color:r,unit:h,formatter:m,graphicalItemId:p}};return b.createElement(Bee,{tooltipEntrySettings:x})});function Wre(e){var t=e.clipPathId,n=e.points,r=e.props,l=r.dot,o=r.dataKey,u=r.needClip;r.id;var f=sw(r,$re),h=Hi(f);return b.createElement(Dte,{points:n,dot:l,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:o,baseProps:h,needClip:u,clipPathId:t})}function Jre(e){var t=e.showLabels,n=e.children,r=e.points,l=b.useMemo(()=>r==null?void 0:r.map(o=>{var u,f,h={x:(u=o.x)!==null&&u!==void 0?u:0,y:(f=o.y)!==null&&f!==void 0?f:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Pi(Pi({},h),{},{value:o.value,payload:o.payload,viewBox:h,parentViewBox:void 0,fill:void 0})}),[r]);return b.createElement(Aee,{value:t?l:void 0},n)}function eie(e){var t=e.clipPathId,n=e.pathRef,r=e.points,l=e.props,o=e.animationElapsedTime,u=e.isAnimating,f=e.isEntrance,h=e.visibleLength,m=l.type,v=l.layout,p=l.connectNulls,x=l.needClip,S=l.shape,w=l.strokeDasharray,j=sw(l,Bre),C=Pi(Pi({},Qr(j)),{},{fill:"none",className:"recharts-line-curve",clipPath:x?"url(#clipPath-".concat(t,")"):void 0,points:r,type:m,layout:v,connectNulls:p,strokeDasharray:w??l.strokeDasharray,pathRef:n,animationElapsedTime:o,isAnimating:u,isEntrance:l.animateNewValues?f:!1,visibleLength:h});return b.createElement(b.Fragment,null,(r==null?void 0:r.length)>1&&b.createElement($ee,{option:S,DefaultShape:uw.shape,shapeProps:C}),b.createElement(Wre,{points:r,clipPathId:t,props:l}))}function tie(e){var t=e.clipPathId,n=e.props,r=e.pathRef,l=e.previousPointsRef,o=n.points,u=n.isAnimationActive,f=n.animationBegin,h=n.animationDuration,m=n.animationEasing,v=n.animationMatchBy,p=n.animationInterpolateFn,x=n.layout,S=Kre(r.current),w=lte(n.onAnimationStart,n.onAnimationEnd),j=w.isAnimating,C=w.handleAnimationStart,A=w.handleAnimationEnd,E=!j,N=Cre(o),T=b.useCallback(R=>R>0&&S>0,[S]);return b.createElement(Jre,{points:o,showLabels:E},n.children,b.createElement(ote,{animationInput:o,animationIdPrefix:"recharts-line-",items:o,previousItemsRef:l,isAnimationActive:u,animationBegin:f,animationDuration:h,animationEasing:m,onAnimationStart:C,onAnimationEnd:A,animationInterpolateFn:p,animationMatchBy:v,shouldUpdatePreviousRef:T,layout:x},(R,O,D)=>{var k=j||O<1,I=k?N(O,S):null;return b.createElement(eie,{props:n,points:R,clipPathId:t,pathRef:r,animationElapsedTime:O,isAnimating:k,isEntrance:D,visibleLength:I})}),b.createElement(Nee,{label:n.label}))}function nie(e){var t=e.clipPathId,n=e.props,r=b.useRef(null),l=b.useRef(null);return b.createElement(tie,{props:n,clipPathId:t,previousPointsRef:r,pathRef:l})}var rie=(e,t)=>{var n,r;return{x:(n=e.x)!==null&&n!==void 0?n:void 0,y:(r=e.y)!==null&&r!==void 0?r:void 0,value:e.value,errorVal:pn(e.payload,t)}};class iie extends b.Component{render(){var t=this.props,n=t.hide,r=t.dot,l=t.points,o=t.className,u=t.xAxisId,f=t.yAxisId,h=t.top,m=t.left,v=t.width,p=t.height,x=t.id,S=t.needClip,w=t.zIndex;if(n)return null;var j=Ct("recharts-line",o),C=x,A=Ure(r),E=A.r,N=A.strokeWidth,T=G3(r),R=E*2+N,O=S?"url(#clipPath-".concat(T?"":"dots-").concat(C,")"):void 0;return b.createElement(Ua,{zIndex:w},b.createElement(Aa,{className:j},S&&b.createElement("defs",null,b.createElement(Dre,{clipPathId:C,xAxisId:u,yAxisId:f}),!T&&b.createElement("clipPath",{id:"clipPath-dots-".concat(C)},b.createElement("rect",{x:m-R/2,y:h-R/2,width:v+R,height:p+R}))),b.createElement(Mre,{xAxisId:u,yAxisId:f,data:l,dataPointFormatter:rie,errorBarOffset:0},b.createElement(nie,{props:this.props,clipPathId:C}))),b.createElement(ene,{activeDot:this.props.activeDot,points:l,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:O}))}}function aie(e){var t=Rr(e,uw),n=t.activeDot,r=t.animateNewValues,l=t.animationBegin,o=t.animationDuration,u=t.animationEasing,f=t.connectNulls,h=t.dot,m=t.hide,v=t.isAnimationActive,p=t.label,x=t.legendType,S=t.xAxisId,w=t.yAxisId,j=t.id,C=sw(t,Hre),A=iz(S,w),E=A.needClip,N=rw(),T=Xu(),R=dr(),O=Ie(B=>Lre(B,S,w,R,j));if(T!=="horizontal"&&T!=="vertical"||O==null||N==null)return null;var D=N.height,k=N.width,I=N.x,P=N.y;return b.createElement(iie,Ev({},C,{id:j,connectNulls:f,dot:h,activeDot:n,animateNewValues:r,animationBegin:l,animationDuration:o,animationEasing:u,isAnimationActive:v,hide:m,label:p,legendType:x,xAxisId:S,yAxisId:w,points:O,layout:T,height:D,width:k,left:I,top:P,needClip:E}))}function lie(e){var t=e.layout,n=e.xAxis,r=e.yAxis,l=e.xAxisTicks,o=e.yAxisTicks,u=e.dataKey,f=e.bandSize,h=e.displayedData;return h.map((m,v)=>{var p=pn(m,u);if(t==="horizontal"){var x=NO({axis:n,ticks:l,bandSize:f,entry:m,index:v}),S=yn(p)?null:r.scale.map(p);return{x,y:S??null,value:p,payload:m}}var w=yn(p)?null:n.scale.map(p),j=NO({axis:r,ticks:o,bandSize:f,entry:m,index:v});return w==null||j==null?null:{x:w,y:j,value:p,payload:m}}).filter(Boolean)}function oie(e){var t=Rr(e,uw),n=dr();return b.createElement(pte,{id:t.id,type:"line"},r=>b.createElement(b.Fragment,null,b.createElement(Hee,{legendPayload:Qre(t)}),b.createElement(Zre,{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:r}),b.createElement(Cte,{type:"line",id:r,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),b.createElement(aie,Ev({},t,{id:r}))))}var cw=b.memo(oie,ig);cw.displayName="Line";var sie=["domain","range"],uie=["domain","range"];function TT(e,t){if(e==null)return{};var n,r,l=cie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r{if(u!=null)return DT(DT({},o),{},{type:u})},[o,u]);return b.useLayoutEffect(()=>{f!=null&&(n.current===null?t(Lte(f)):n.current!==f&&t(Ute({prev:n.current,next:f})),n.current=f)},[f,t]),b.useLayoutEffect(()=>()=>{n.current&&(t($te(n.current)),n.current=null)},[t]),null}var xie=e=>{var t=e.xAxisId,n=e.className,r=e.height,l=e.label,o=b.useRef(null),u=b.useRef(null),f=Ie(MP),h=dr(),m=Vt(),v="xAxis",p=Ie(A=>ZI(A,v,t,h)),x=Ie(A=>IQ(A,t)),S=Ie(A=>HQ(A,t)),w=Ie(A=>vI(A,t));if(b.useLayoutEffect(()=>{if(!(r!=="auto"||!x||jg(l)||b.isValidElement(l)||w==null)){var A=o.current;if(A){var E=A.getCalculatedHeight();Math.round(x.height)!==Math.round(E)&&m(Gte({id:t,height:E}))}}},[p,x,m,l,t,r,w]),x==null||S==null||w==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var j=Db(e,die);w.id,w.scale;var C=Db(w,hie);return b.createElement(aw,Mb({},j,C,{ref:o,labelRef:u,x:S.x,y:S.y,width:x.width,height:x.height,className:Ct("recharts-".concat(v," ").concat(v),n),viewBox:f,ticks:p,axisType:v,axisId:t}))},bie={allowDataOverflow:tn.allowDataOverflow,allowDecimals:tn.allowDecimals,allowDuplicatedCategory:tn.allowDuplicatedCategory,angle:tn.angle,axisLine:ja.axisLine,height:tn.height,hide:!1,includeHidden:tn.includeHidden,interval:tn.interval,label:!1,minTickGap:tn.minTickGap,mirror:tn.mirror,orientation:tn.orientation,padding:tn.padding,reversed:tn.reversed,scale:tn.scale,tick:tn.tick,tickCount:tn.tickCount,tickLine:ja.tickLine,tickSize:ja.tickSize,type:tn.type,niceTicks:tn.niceTicks,xAxisId:0},Sie=e=>{var t=Rr(e,bie);return b.createElement(b.Fragment,null,b.createElement(yie,{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}),b.createElement(xie,t))},fw=b.memo(Sie,uz);fw.displayName="XAxis";var wie=["type"],jie=["dangerouslySetInnerHTML","ticks","scale"],Cie=["id","scale"];function Pb(){return Pb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(u!=null)return kT(kT({},o),{},{type:u})},[u,o]);return b.useLayoutEffect(()=>{f!=null&&(n.current===null?t(Bte(f)):n.current!==f&&t(Hte({prev:n.current,next:f})),n.current=f)},[f,t]),b.useLayoutEffect(()=>()=>{n.current&&(t(Fte(n.current)),n.current=null)},[t]),null}function Tie(e){var t=e.yAxisId,n=e.className,r=e.width,l=e.label,o=b.useRef(null),u=b.useRef(null),f=Ie(MP),h=dr(),m=Vt(),v="yAxis",p=Ie(A=>GQ(A,t)),x=Ie(A=>VQ(A,t)),S=Ie(A=>ZI(A,v,t,h)),w=Ie(A=>gI(A,t));if(b.useLayoutEffect(()=>{if(!(r!=="auto"||!p||jg(l)||b.isValidElement(l)||w==null)){var A=o.current;if(A){var E=A.getCalculatedWidth();Math.round(p.width)!==Math.round(E)&&m(Vte({id:t,width:E}))}}},[S,p,m,l,t,r,w]),p==null||x==null||w==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var j=kb(e,jie);w.id,w.scale;var C=kb(w,Cie);return b.createElement(aw,Pb({},j,C,{ref:o,labelRef:u,x:x.x,y:x.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:p.width,height:p.height,className:Ct("recharts-".concat(v," ").concat(v),n),viewBox:f,ticks:S,axisType:v,axisId:t}))}var Rie={allowDataOverflow:nn.allowDataOverflow,allowDecimals:nn.allowDecimals,allowDuplicatedCategory:nn.allowDuplicatedCategory,angle:nn.angle,axisLine:ja.axisLine,hide:!1,includeHidden:nn.includeHidden,interval:nn.interval,label:!1,minTickGap:nn.minTickGap,mirror:nn.mirror,orientation:nn.orientation,padding:nn.padding,reversed:nn.reversed,scale:nn.scale,tick:nn.tick,tickCount:nn.tickCount,tickLine:ja.tickLine,tickSize:ja.tickSize,type:nn.type,niceTicks:nn.niceTicks,width:nn.width,yAxisId:0},Mie=e=>{var t=Rr(e,Rie);return b.createElement(b.Fragment,null,b.createElement(Nie,{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}),b.createElement(Tie,t))},dw=b.memo(Mie,uz);dw.displayName="YAxis";var Die=(e,t)=>t,hw=W([Die,It,yk,bn,g3,La,mW,Pn],SW);function Pie(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function mw(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(Pie(e)){var l=e.currentTarget.getBBox();n=l.width>0?t.width/l.width:1,r=l.height>0?t.height/l.height:1}else{var o=e.currentTarget;n=o.offsetWidth>0?t.width/o.offsetWidth:1,r=o.offsetHeight>0?t.height/o.offsetHeight:1}var u=(f,h)=>({relativeX:Math.round((f-t.left)/n),relativeY:Math.round((h-t.top)/r)});return"touches"in e?Array.from(e.touches).map(f=>u(f.clientX,f.clientY)):u(e.clientX,e.clientY)}var cz=Or("mouseClick"),fz=td();fz.startListening({actionCreator:cz,effect:(e,t)=>{var n=e.payload,r=hw(t.getState(),mw(n));(r==null?void 0:r.activeIndex)!=null&&t.dispatch(lZ({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Ib=Or("mouseMove"),dz=td(),ru=null,go=null,o0=null;dz.startListening({actionCreator:Ib,effect:(e,t)=>{var n=e.payload,r=t.getState(),l=r.eventSettings,o=l.throttleDelay,u=l.throttledEvents,f=u==="all"||(u==null?void 0:u.includes("mousemove"));ru!==null&&(cancelAnimationFrame(ru),ru=null),go!==null&&(typeof o!="number"||!f)&&(clearTimeout(go),go=null),o0=mw(n);var h=()=>{var m=t.getState(),v=vd(m,m.tooltip.settings.shared);if(!o0){ru=null,go=null;return}if(v==="axis"){var p=hw(m,o0);(p==null?void 0:p.activeIndex)!=null?t.dispatch(l3({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate})):t.dispatch(a3())}ru=null,go=null};if(!f){h();return}o==="raf"?ru=requestAnimationFrame(h):typeof o=="number"&&go===null&&(go=setTimeout(h,o))}});function kie(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var IT={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},hz=Hn({name:"rootProps",initialState:IT,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(n=t.payload.barGap)!==null&&n!==void 0?n:IT.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}}}),Iie=hz.reducer,zie=hz.actions.updateOptions,Lie=null,Uie={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)},mz=Hn({name:"polarOptions",initialState:Lie,reducers:Uie});mz.actions.updatePolarOptions;var $ie=mz.reducer,vz=Or("keyDown"),gz=Or("focus"),pz=Or("blur"),_g=td(),iu=null,po=null,pm=null;_g.startListening({actionCreator:vz,effect:(e,t)=>{pm=e.payload,iu!==null&&(cancelAnimationFrame(iu),iu=null);var n=t.getState(),r=n.eventSettings,l=r.throttleDelay,o=r.throttledEvents,u=o==="all"||o.includes("keydown");po!==null&&(typeof l!="number"||!u)&&(clearTimeout(po),po=null);var f=()=>{try{var h=t.getState(),m=h.rootProps.accessibilityLayer!==!1;if(!m)return;var v=h.tooltip.keyboardInteraction,p=pm;if(p!=="ArrowRight"&&p!=="ArrowLeft"&&p!=="Enter")return;var x=_f(v,Qo(h),Bu(h),Hu(h)),S=x==null?-1:Number(x),w=!Number.isFinite(S)||S<0,j=La(h),C=Qo(h),A=vd(h,h.tooltip.settings.shared);if(p==="Enter"){if(w)return;var E=wv(h,A,"hover",String(v.index));t.dispatch(Sv({active:!v.active,activeIndex:v.index,activeCoordinate:E}));return}var N=QQ(h),T=N==="left-to-right"?1:-1,R=p==="ArrowRight"?1:-1,O;if(w){var D=Bu(h),k=Hu(h),I=R*T,P=he=>({active:!1,index:String(he),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(O=-1,I>0){for(var B=0;B=0;F--)if(_f(P(F),C,D,k)!=null){O=F;break}if(O<0)return}else{O=S+R*T;var se=(j==null?void 0:j.length)||C.length;if(se===0||O>=se||O<0)return}var ue=wv(h,A,"hover",String(O));t.dispatch(Sv({active:!0,activeIndex:O.toString(),activeCoordinate:ue}))}finally{iu=null,po=null}};if(!u){f();return}l==="raf"?iu=requestAnimationFrame(f):typeof l=="number"&&po===null&&(f(),pm=null,po=setTimeout(()=>{pm?f():(po=null,iu=null)},l))}});_g.startListening({actionCreator:gz,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var l=n.tooltip.keyboardInteraction;if(!l.active&&l.index==null){var o="0",u=vd(n,n.tooltip.settings.shared),f=wv(n,u,"hover",String(o));t.dispatch(Sv({active:!0,activeIndex:o,activeCoordinate:f}))}}}});_g.startListening({actionCreator:pz,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var l=n.tooltip.keyboardInteraction;l.active&&t.dispatch(Sv({active:!1,activeIndex:l.index,activeCoordinate:l.coordinate}))}}});function yz(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(n,r)=>{if(r==="currentTarget")return t;var l=Reflect.get(n,r);return typeof l=="function"?l.bind(n):l}})}var Hr=Or("externalEvent"),xz=td(),ym=new Map,mf=new Map,s0=new Map;xz.startListening({actionCreator:Hr,effect:(e,t)=>{var n=e.payload,r=n.handler,l=n.reactEvent;if(r!=null){var o=l.type,u=yz(l);s0.set(o,{handler:r,reactEvent:u});var f=ym.get(o);f!==void 0&&(cancelAnimationFrame(f),ym.delete(o));var h=t.getState(),m=h.eventSettings,v=m.throttleDelay,p=m.throttledEvents,x=p,S=x==="all"||(x==null?void 0:x.includes(o)),w=mf.get(o);w!==void 0&&(typeof v!="number"||!S)&&(clearTimeout(w),mf.delete(o));var j=()=>{var E=s0.get(o);try{if(!E)return;var N=E.handler,T=E.reactEvent,R=t.getState(),O={activeCoordinate:WZ(R),activeDataKey:XZ(R),activeIndex:Bf(R),activeLabel:x3(R),activeTooltipIndex:Bf(R),isTooltipActive:JZ(R)};N&&N(O,T)}finally{ym.delete(o),mf.delete(o),s0.delete(o)}};if(!S){j();return}if(v==="raf"){var C=requestAnimationFrame(j);ym.set(o,C)}else if(typeof v=="number"){if(!mf.has(o)){j();var A=setTimeout(j,v);mf.set(o,A)}}else j()}}});var Bie=W([ic],e=>e.tooltipItemPayloads),Hie=W([Bie,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(o=>o.settings.graphicalItemId===n);if(r!=null){var l=r.getPosition;if(l!=null)return l(t)}}}),bz=Or("touchMove"),Sz=td(),yo=null,gl=null,zT=null,vf=null;Sz.startListening({actionCreator:bz,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){vf=yz(n);var r=t.getState(),l=r.eventSettings,o=l.throttleDelay,u=l.throttledEvents,f=u==="all"||u.includes("touchmove");yo!==null&&(cancelAnimationFrame(yo),yo=null),gl!==null&&(typeof o!="number"||!f)&&(clearTimeout(gl),gl=null),zT=Array.from(n.touches).map(m=>mw({clientX:m.clientX,clientY:m.clientY,currentTarget:n.currentTarget}));var h=()=>{if(vf!=null){var m=t.getState(),v=vd(m,m.tooltip.settings.shared);if(v==="axis"){var p,x=(p=zT)===null||p===void 0?void 0:p[0];if(x==null){yo=null,gl=null;return}var S=hw(m,x);(S==null?void 0:S.activeIndex)!=null&&t.dispatch(l3({activeIndex:S.activeIndex,activeDataKey:void 0,activeCoordinate:S.activeCoordinate}))}else if(v==="item"){var w,j=vf.touches[0];if(document.elementFromPoint==null||j==null)return;var C=document.elementFromPoint(j.clientX,j.clientY);if(!C||!C.getAttribute)return;var A=C.getAttribute(z9),E=(w=C.getAttribute(L9))!==null&&w!==void 0?w:void 0,N=is(m).find(O=>O.id===E);if(A==null||N==null||E==null)return;var T=N.dataKey,R=Hie(m,A,E);t.dispatch(aZ({activeDataKey:T,activeIndex:A,activeCoordinate:R,activeGraphicalItemId:E}))}yo=null,gl=null}};if(!f){h();return}o==="raf"?yo=requestAnimationFrame(h):typeof o=="number"&&gl===null&&(h(),vf=null,gl=setTimeout(()=>{vf?h():(gl=null,yo=null)},o))}}});var wz={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},jz=Hn({name:"eventSettings",initialState:wz,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=it(t.payload.throttledEvents))}}}),Fie=jz.actions.setEventSettings,Vie=jz.reducer,Gie=eP({brush:nne,cartesianAxis:qte,chartData:WW,errorBars:Are,eventSettings:Vie,graphicalItems:wte,layout:w9,legend:jG,options:KW,polarAxis:Ree,polarOptions:$ie,referenceElements:lne,renderedTicks:Mne,rootProps:Iie,tooltip:oZ,zIndex:PW}),qie=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return KV({reducer:Gie,preloadedState:t,middleware:r=>{var l;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((l="es6")!==null&&l!==void 0?l:"")}).concat([fz.middleware,dz.middleware,_g.middleware,xz.middleware,Sz.middleware])},enhancers:r=>{var l=r;return typeof r=="function"&&(l=r()),l.concat(vP({type:"raf"}))},devTools:{serialize:{replacer:kie},name:"recharts-".concat(n)}})};function Kie(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,l=dr(),o=b.useRef(null);if(l)return n;o.current==null&&(o.current=qie(t,r));var u=H1;return b.createElement(LG,{context:u,store:o.current},n)}function Yie(e){var t=e.layout,n=e.margin,r=Vt(),l=dr();return b.useEffect(()=>{l||(r(x9(t)),r(y9(n)))},[r,l,t,n]),null}var Xie=b.memo(Yie,ig);function Qie(e){var t=Vt();return b.useEffect(()=>{t(zie(e))},[t,e]),null}var Zie=e=>{var t=Vt();return b.useEffect(()=>{t(Fie(e))},[t,e]),null},Wie=b.memo(Zie,ig);function LT(e){var t=e.zIndex,n=e.isPanorama,r=b.useRef(null),l=Vt();return b.useLayoutEffect(()=>(r.current&&l(MW({zIndex:t,element:r.current,isPanorama:n})),()=>{l(DW({zIndex:t,isPanorama:n}))}),[l,t,n]),b.createElement("g",{tabIndex:-1,ref:r,className:"recharts-zIndex-layer_".concat(t)})}function UT(e){var t=e.children,n=e.isPanorama,r=Ie(jW);if(!r||r.length===0)return t;var l=r.filter(u=>u<0),o=r.filter(u=>u>0);return b.createElement(b.Fragment,null,l.map(u=>b.createElement(LT,{key:u,zIndex:u,isPanorama:n})),t,o.map(u=>b.createElement(LT,{key:u,zIndex:u,isPanorama:n})))}var Jie=["children"];function eae(e,t){if(e==null)return{};var n,r,l=tae(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r{var n=LP(),r=UP(),l=VP();if(!Vi(n)||!Vi(r))return null;var o=e.children,u=e.otherAttributes,f=e.title,h=e.desc,m,v;return u!=null&&(typeof u.tabIndex=="number"?m=u.tabIndex:m=l?0:void 0,typeof u.role=="string"?v=u.role:v=l?"application":void 0),b.createElement(eD,Ov({},u,{title:f,desc:h,role:v,tabIndex:m,width:n,height:r,style:nae,ref:t}),o)}),iae=e=>{var t=e.children,n=Ie(ng);if(!n)return null;var r=n.width,l=n.height,o=n.y,u=n.x;return b.createElement(eD,{width:r,height:l,x:u,y:o},t)},$T=b.forwardRef((e,t)=>{var n=e.children,r=eae(e,Jie),l=dr();return l?b.createElement(iae,null,b.createElement(UT,{isPanorama:!0},n)):b.createElement(rae,Ov({ref:t},r),b.createElement(UT,{isPanorama:!1},n))});function aae(e,t){return uae(e)||sae(e,t)||oae(e,t)||lae()}function lae(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oae(e,t){if(e){if(typeof e=="string")return BT(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)?BT(e,t):void 0}}function BT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(r!=null){var u=r.getBoundingClientRect(),f=u.width/r.offsetWidth;at(f)&&f!==o&&e(S9(f))}},[r,e,o]),l}function HT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function fae(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n(oJ(),null);function Tv(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var bae=b.forwardRef((e,t)=>{var n,r,l=b.useRef(null),o=b.useState({containerWidth:Tv((n=e.style)===null||n===void 0?void 0:n.width),containerHeight:Tv((r=e.style)===null||r===void 0?void 0:r.height)}),u=Nv(o,2),f=u[0],h=u[1],m=b.useCallback((p,x)=>{h(S=>{var w=Math.round(p),j=Math.round(x);return S.containerWidth===w&&S.containerHeight===j?S:{containerWidth:w,containerHeight:j}})},[]),v=b.useCallback(p=>{if(typeof t=="function"&&t(p),l.current!=null&&(l.current.disconnect(),l.current=null),p!=null&&typeof ResizeObserver<"u"){var x=p.getBoundingClientRect(),S=x.width,w=x.height;m(S,w);var j=A=>{var E=A[0];if(E!=null){var N=E.contentRect,T=N.width,R=N.height;m(T,R)}},C=new ResizeObserver(j);C.observe(p),l.current=C}},[t,m]);return b.useEffect(()=>()=>{var p=l.current;p!=null&&p.disconnect()},[m]),b.createElement(b.Fragment,null,b.createElement(rd,{width:f.containerWidth,height:f.containerHeight}),b.createElement("div",Ml({ref:v},e)))}),Sae=b.forwardRef((e,t)=>{var n=e.width,r=e.height,l=b.useState({containerWidth:Tv(n),containerHeight:Tv(r)}),o=Nv(l,2),u=o[0],f=o[1],h=b.useCallback((v,p)=>{f(x=>{var S=Math.round(v),w=Math.round(p);return x.containerWidth===S&&x.containerHeight===w?x:{containerWidth:S,containerHeight:w}})},[]),m=b.useCallback(v=>{if(typeof t=="function"&&t(v),v!=null){var p=v.getBoundingClientRect(),x=p.width,S=p.height;h(x,S)}},[t,h]);return b.createElement(b.Fragment,null,b.createElement(rd,{width:u.containerWidth,height:u.containerHeight}),b.createElement("div",Ml({ref:m},e)))}),wae=b.forwardRef((e,t)=>{var n=e.width,r=e.height;return b.createElement(b.Fragment,null,b.createElement(rd,{width:n,height:r}),b.createElement("div",Ml({ref:t},e)))}),jae=b.forwardRef((e,t)=>{var n=e.width,r=e.height;return typeof n=="string"||typeof r=="string"?b.createElement(Sae,Ml({},e,{ref:t})):typeof n=="number"&&typeof r=="number"?b.createElement(wae,Ml({},e,{width:n,height:r,ref:t})):b.createElement(b.Fragment,null,b.createElement(rd,{width:n,height:r}),b.createElement("div",Ml({ref:t},e)))});function Cae(e){return e?bae:jae}var _ae=b.forwardRef((e,t)=>{var n=e.children,r=e.className,l=e.height,o=e.onClick,u=e.onContextMenu,f=e.onDoubleClick,h=e.onMouseDown,m=e.onMouseEnter,v=e.onMouseLeave,p=e.onMouseMove,x=e.onMouseUp,S=e.onTouchEnd,w=e.onTouchMove,j=e.onTouchStart,C=e.style,A=e.width,E=e.responsive,N=e.dispatchTouchEvents,T=N===void 0?!0:N,R=b.useRef(null),O=Vt(),D=b.useState(null),k=Nv(D,2),I=k[0],P=k[1],B=b.useState(null),F=Nv(B,2),se=F[0],ue=F[1],he=cae(),G=Z1(),ne=(G==null?void 0:G.width)>0?G.width:A,ie=(G==null?void 0:G.height)>0?G.height:l,ce=b.useCallback(ke=>{he(ke),typeof t=="function"&&t(ke),P(ke),ue(ke),ke!=null&&(R.current=ke)},[he,t,P,ue]),U=b.useCallback(ke=>{O(cz(ke)),O(Hr({handler:o,reactEvent:ke}))},[O,o]),Ee=b.useCallback(ke=>{O(Ib(ke)),O(Hr({handler:m,reactEvent:ke}))},[O,m]),ee=b.useCallback(ke=>{O(a3()),O(Hr({handler:v,reactEvent:ke}))},[O,v]),ve=b.useCallback(ke=>{O(Ib(ke)),O(Hr({handler:p,reactEvent:ke}))},[O,p]),z=b.useCallback(()=>{O(gz())},[O]),Y=b.useCallback(()=>{O(pz())},[O]),le=b.useCallback(ke=>{O(vz(ke.key))},[O]),fe=b.useCallback(ke=>{O(Hr({handler:u,reactEvent:ke}))},[O,u]),Pe=b.useCallback(ke=>{O(Hr({handler:f,reactEvent:ke}))},[O,f]),te=b.useCallback(ke=>{O(Hr({handler:h,reactEvent:ke}))},[O,h]),ge=b.useCallback(ke=>{O(Hr({handler:x,reactEvent:ke}))},[O,x]),oe=b.useCallback(ke=>{O(Hr({handler:j,reactEvent:ke}))},[O,j]),J=b.useCallback(ke=>{T&&O(bz(ke)),O(Hr({handler:w,reactEvent:ke}))},[O,T,w]),ct=b.useCallback(ke=>{O(Hr({handler:S,reactEvent:ke}))},[O,S]),Ye=Cae(E);return b.createElement(A3.Provider,{value:I},b.createElement(VH.Provider,{value:se},b.createElement(Ye,{width:ne??(C==null?void 0:C.width),height:ie??(C==null?void 0:C.height),className:Ct("recharts-wrapper",r),style:fae({position:"relative",cursor:"default",width:ne,height:ie},C),onClick:U,onContextMenu:fe,onDoubleClick:Pe,onFocus:z,onBlur:Y,onKeyDown:le,onMouseDown:te,onMouseEnter:Ee,onMouseLeave:ee,onMouseMove:ve,onMouseUp:ge,onTouchEnd:ct,onTouchMove:J,onTouchStart:oe,ref:ce},b.createElement(xae,null),n)))}),Aae=["width","height","responsive","children","className","style","compact","title","desc"];function Eae(e,t){if(e==null)return{};var n,r,l=Oae(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r{var n=e.width,r=e.height,l=e.responsive,o=e.children,u=e.className,f=e.style,h=e.compact,m=e.title,v=e.desc,p=Eae(e,Aae),x=Hi(p);return h?b.createElement(b.Fragment,null,b.createElement(rd,{width:n,height:r}),b.createElement($T,{otherAttributes:x,title:m,desc:v},o)):b.createElement(_ae,{className:u,style:f,width:n,height:r,responsive:l??!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},b.createElement($T,{otherAttributes:x,title:m,desc:v,ref:t},b.createElement(hne,null,o)))});function zb(){return zb=Object.assign?Object.assign.bind():function(e){for(var t=1;tb.createElement(Iae,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:zae,tooltipPayloadSearcher:GW,categoricalChartProps:e,ref:t}));/** + * table-core + * + * Copyright (c) TanStack + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Tl(e,t){return typeof e=="function"?e(t):e}function Nr(e,t){return n=>{t.setState(r=>({...r,[e]:Tl(n,r[e])}))}}function Ag(e){return e instanceof Function}function Lae(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function Uae(e,t){const n=[],r=l=>{l.forEach(o=>{n.push(o);const u=t(o);u!=null&&u.length&&r(u)})};return r(e),n}function Ue(e,t,n){let r=[],l;return o=>{let u;n.key&&n.debug&&(u=Date.now());const f=e(o);if(!(f.length!==r.length||f.some((v,p)=>r[p]!==v)))return l;r=f;let m;if(n.key&&n.debug&&(m=Date.now()),l=t(...f),n==null||n.onChange==null||n.onChange(l),n.key&&n.debug&&n!=null&&n.debug()){const v=Math.round((Date.now()-u)*100)/100,p=Math.round((Date.now()-m)*100)/100,x=p/16,S=(w,j)=>{for(w=String(w);w.length{var l;return(l=e==null?void 0:e.debugAll)!=null?l:e[t]},key:!1,onChange:r}}function $ae(e,t,n,r){const l=()=>{var u;return(u=o.getValue())!=null?u:e.options.renderFallbackValue},o={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:l,getContext:Ue(()=>[e,n,t,o],(u,f,h,m)=>({table:u,column:f,row:h,cell:m,getValue:m.getValue,renderValue:m.renderValue}),$e(e.options,"debugCells"))};return e._features.forEach(u=>{u.createCell==null||u.createCell(o,n,t,e)},{}),o}function Bae(e,t,n,r){var l,o;const f={...e._getDefaultColumnDef(),...t},h=f.accessorKey;let m=(l=(o=f.id)!=null?o:h?typeof String.prototype.replaceAll=="function"?h.replaceAll(".","_"):h.replace(/\./g,"_"):void 0)!=null?l:typeof f.header=="string"?f.header:void 0,v;if(f.accessorFn?v=f.accessorFn:h&&(h.includes(".")?v=x=>{let S=x;for(const j of h.split(".")){var w;S=(w=S)==null?void 0:w[j]}return S}:v=x=>x[f.accessorKey]),!m)throw new Error;let p={id:`${String(m)}`,accessorFn:v,parent:r,depth:n,columnDef:f,columns:[],getFlatColumns:Ue(()=>[!0],()=>{var x;return[p,...(x=p.columns)==null?void 0:x.flatMap(S=>S.getFlatColumns())]},$e(e.options,"debugColumns")),getLeafColumns:Ue(()=>[e._getOrderColumnsFn()],x=>{var S;if((S=p.columns)!=null&&S.length){let w=p.columns.flatMap(j=>j.getLeafColumns());return x(w)}return[p]},$e(e.options,"debugColumns"))};for(const x of e._features)x.createColumn==null||x.createColumn(p,e);return p}const In="debugHeaders";function GT(e,t,n){var r;let o={id:(r=n.id)!=null?r:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],f=h=>{h.subHeaders&&h.subHeaders.length&&h.subHeaders.map(f),u.push(h)};return f(o),u},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(u=>{u.createHeader==null||u.createHeader(o,e)}),o}const Hae={createTable:e=>{e.getHeaderGroups=Ue(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,l)=>{var o,u;const f=(o=r==null?void 0:r.map(p=>n.find(x=>x.id===p)).filter(Boolean))!=null?o:[],h=(u=l==null?void 0:l.map(p=>n.find(x=>x.id===p)).filter(Boolean))!=null?u:[],m=n.filter(p=>!(r!=null&&r.includes(p.id))&&!(l!=null&&l.includes(p.id)));return xm(t,[...f,...m,...h],e)},$e(e.options,In)),e.getCenterHeaderGroups=Ue(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,l)=>(n=n.filter(o=>!(r!=null&&r.includes(o.id))&&!(l!=null&&l.includes(o.id))),xm(t,n,e,"center")),$e(e.options,In)),e.getLeftHeaderGroups=Ue(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var l;const o=(l=r==null?void 0:r.map(u=>n.find(f=>f.id===u)).filter(Boolean))!=null?l:[];return xm(t,o,e,"left")},$e(e.options,In)),e.getRightHeaderGroups=Ue(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var l;const o=(l=r==null?void 0:r.map(u=>n.find(f=>f.id===u)).filter(Boolean))!=null?l:[];return xm(t,o,e,"right")},$e(e.options,In)),e.getFooterGroups=Ue(()=>[e.getHeaderGroups()],t=>[...t].reverse(),$e(e.options,In)),e.getLeftFooterGroups=Ue(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),$e(e.options,In)),e.getCenterFooterGroups=Ue(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),$e(e.options,In)),e.getRightFooterGroups=Ue(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),$e(e.options,In)),e.getFlatHeaders=Ue(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),$e(e.options,In)),e.getLeftFlatHeaders=Ue(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),$e(e.options,In)),e.getCenterFlatHeaders=Ue(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),$e(e.options,In)),e.getRightFlatHeaders=Ue(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),$e(e.options,In)),e.getCenterLeafHeaders=Ue(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),$e(e.options,In)),e.getLeftLeafHeaders=Ue(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),$e(e.options,In)),e.getRightLeafHeaders=Ue(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),$e(e.options,In)),e.getLeafHeaders=Ue(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var l,o,u,f,h,m;return[...(l=(o=t[0])==null?void 0:o.headers)!=null?l:[],...(u=(f=n[0])==null?void 0:f.headers)!=null?u:[],...(h=(m=r[0])==null?void 0:m.headers)!=null?h:[]].map(v=>v.getLeafHeaders()).flat()},$e(e.options,In))}};function xm(e,t,n,r){var l,o;let u=0;const f=function(x,S){S===void 0&&(S=1),u=Math.max(u,S),x.filter(w=>w.getIsVisible()).forEach(w=>{var j;(j=w.columns)!=null&&j.length&&f(w.columns,S+1)},0)};f(e);let h=[];const m=(x,S)=>{const w={depth:S,id:[r,`${S}`].filter(Boolean).join("_"),headers:[]},j=[];x.forEach(C=>{const A=[...j].reverse()[0],E=C.column.depth===w.depth;let N,T=!1;if(E&&C.column.parent?N=C.column.parent:(N=C.column,T=!0),A&&(A==null?void 0:A.column)===N)A.subHeaders.push(C);else{const R=GT(n,N,{id:[r,S,N.id,C==null?void 0:C.id].filter(Boolean).join("_"),isPlaceholder:T,placeholderId:T?`${j.filter(O=>O.column===N).length}`:void 0,depth:S,index:j.length});R.subHeaders.push(C),j.push(R)}w.headers.push(C),C.headerGroup=w}),h.push(w),S>0&&m(j,S-1)},v=t.map((x,S)=>GT(n,x,{depth:u,index:S}));m(v,u-1),h.reverse();const p=x=>x.filter(w=>w.column.getIsVisible()).map(w=>{let j=0,C=0,A=[0];w.subHeaders&&w.subHeaders.length?(A=[],p(w.subHeaders).forEach(N=>{let{colSpan:T,rowSpan:R}=N;j+=T,A.push(R)})):j=1;const E=Math.min(...A);return C=C+E,w.colSpan=j,w.rowSpan=C,{colSpan:j,rowSpan:C}});return p((l=(o=h[0])==null?void 0:o.headers)!=null?l:[]),h}const vw=(e,t,n,r,l,o,u)=>{let f={id:t,index:r,original:n,depth:l,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:h=>{if(f._valuesCache.hasOwnProperty(h))return f._valuesCache[h];const m=e.getColumn(h);if(m!=null&&m.accessorFn)return f._valuesCache[h]=m.accessorFn(f.original,r),f._valuesCache[h]},getUniqueValues:h=>{if(f._uniqueValuesCache.hasOwnProperty(h))return f._uniqueValuesCache[h];const m=e.getColumn(h);if(m!=null&&m.accessorFn)return m.columnDef.getUniqueValues?(f._uniqueValuesCache[h]=m.columnDef.getUniqueValues(f.original,r),f._uniqueValuesCache[h]):(f._uniqueValuesCache[h]=[f.getValue(h)],f._uniqueValuesCache[h])},renderValue:h=>{var m;return(m=f.getValue(h))!=null?m:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>Uae(f.subRows,h=>h.subRows),getParentRow:()=>f.parentId?e.getRow(f.parentId,!0):void 0,getParentRows:()=>{let h=[],m=f;for(;;){const v=m.getParentRow();if(!v)break;h.push(v),m=v}return h.reverse()},getAllCells:Ue(()=>[e.getAllLeafColumns()],h=>h.map(m=>$ae(e,f,m,m.id)),$e(e.options,"debugRows")),_getAllCellsByColumnId:Ue(()=>[f.getAllCells()],h=>h.reduce((m,v)=>(m[v.column.id]=v,m),{}),$e(e.options,"debugRows"))};for(let h=0;h{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},_z=(e,t,n)=>{var r,l;const o=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((l=e.getValue(t))==null||(l=l.toString())==null||(l=l.toLowerCase())==null)&&l.includes(o))};_z.autoRemove=e=>fi(e);const Az=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};Az.autoRemove=e=>fi(e);const Ez=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===(n==null?void 0:n.toLowerCase())};Ez.autoRemove=e=>fi(e);const Oz=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};Oz.autoRemove=e=>fi(e);const Nz=(e,t,n)=>!n.some(r=>{var l;return!((l=e.getValue(t))!=null&&l.includes(r))});Nz.autoRemove=e=>fi(e)||!(e!=null&&e.length);const Tz=(e,t,n)=>n.some(r=>{var l;return(l=e.getValue(t))==null?void 0:l.includes(r)});Tz.autoRemove=e=>fi(e)||!(e!=null&&e.length);const Rz=(e,t,n)=>e.getValue(t)===n;Rz.autoRemove=e=>fi(e);const Mz=(e,t,n)=>e.getValue(t)==n;Mz.autoRemove=e=>fi(e);const gw=(e,t,n)=>{let[r,l]=n;const o=e.getValue(t);return o>=r&&o<=l};gw.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,l=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(r)?-1/0:r,u=n===null||Number.isNaN(l)?1/0:l;if(o>u){const f=o;o=u,u=f}return[o,u]};gw.autoRemove=e=>fi(e)||fi(e[0])&&fi(e[1]);const fa={includesString:_z,includesStringSensitive:Az,equalsString:Ez,arrIncludes:Oz,arrIncludesAll:Nz,arrIncludesSome:Tz,equals:Rz,weakEquals:Mz,inNumberRange:gw};function fi(e){return e==null||e===""}const Vae={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Nr("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n==null?void 0:n.getValue(e.id);return typeof r=="string"?fa.includesString:typeof r=="number"?fa.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?fa.equals:Array.isArray(r)?fa.arrIncludes:fa.weakEquals},e.getFilterFn=()=>{var n,r;return Ag(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(r=t.options.filterFns)==null?void 0:r[e.columnDef.filterFn])!=null?n:fa[e.columnDef.filterFn]},e.getCanFilter=()=>{var n,r,l;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((r=t.options.enableColumnFilters)!=null?r:!0)&&((l=t.options.enableFilters)!=null?l:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(r=>r.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>{var n,r;return(n=(r=t.getState().columnFilters)==null?void 0:r.findIndex(l=>l.id===e.id))!=null?n:-1},e.setFilterValue=n=>{t.setColumnFilters(r=>{const l=e.getFilterFn(),o=r==null?void 0:r.find(v=>v.id===e.id),u=Tl(n,o?o.value:void 0);if(qT(l,u,e)){var f;return(f=r==null?void 0:r.filter(v=>v.id!==e.id))!=null?f:[]}const h={id:e.id,value:u};if(o){var m;return(m=r==null?void 0:r.map(v=>v.id===e.id?h:v))!=null?m:[]}return r!=null&&r.length?[...r,h]:[h]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{const n=e.getAllLeafColumns(),r=l=>{var o;return(o=Tl(t,l))==null?void 0:o.filter(u=>{const f=n.find(h=>h.id===u.id);if(f){const h=f.getFilterFn();if(qT(h,u.value,f))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},e.resetColumnFilters=t=>{var n,r;e.setColumnFilters(t?[]:(n=(r=e.initialState)==null?void 0:r.columnFilters)!=null?n:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function qT(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const Gae=(e,t,n)=>n.reduce((r,l)=>{const o=l.getValue(e);return r+(typeof o=="number"?o:0)},0),qae=(e,t,n)=>{let r;return n.forEach(l=>{const o=l.getValue(e);o!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}),r},Kae=(e,t,n)=>{let r;return n.forEach(l=>{const o=l.getValue(e);o!=null&&(r=o)&&(r=o)}),r},Yae=(e,t,n)=>{let r,l;return n.forEach(o=>{const u=o.getValue(e);u!=null&&(r===void 0?u>=u&&(r=l=u):(r>u&&(r=u),l{let n=0,r=0;if(t.forEach(l=>{let o=l.getValue(e);o!=null&&(o=+o)>=o&&(++n,r+=o)}),n)return r/n},Qae=(e,t)=>{if(!t.length)return;const n=t.map(o=>o.getValue(e));if(!Lae(n))return;if(n.length===1)return n[0];const r=Math.floor(n.length/2),l=n.sort((o,u)=>o-u);return n.length%2!==0?l[r]:(l[r-1]+l[r])/2},Zae=(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),Wae=(e,t)=>new Set(t.map(n=>n.getValue(e))).size,Jae=(e,t)=>t.length,u0={sum:Gae,min:qae,max:Kae,extent:Yae,mean:Xae,median:Qae,unique:Zae,uniqueCount:Wae,count:Jae},ele={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Nr("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(n=>n!=null&&n.includes(e.id)?n.filter(r=>r!==e.id):[...n??[],e.id])},e.getCanGroup=()=>{var n,r;return((n=e.columnDef.enableGrouping)!=null?n:!0)&&((r=t.options.enableGrouping)!=null?r:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},e.getGroupedIndex=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const n=e.getCanGroup();return()=>{n&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n==null?void 0:n.getValue(e.id);if(typeof r=="number")return u0.sum;if(Object.prototype.toString.call(r)==="[object Date]")return u0.extent},e.getAggregationFn=()=>{var n,r;if(!e)throw new Error;return Ag(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(r=t.options.aggregationFns)==null?void 0:r[e.columnDef.aggregationFn])!=null?n:u0[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var n,r;e.setGrouping(t?[]:(n=(r=e.initialState)==null?void 0:r.grouping)!=null?n:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];const r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var l;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((l=n.subRows)!=null&&l.length)}}};function tle(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(o=>!t.includes(o.id));return n==="remove"?r:[...t.map(o=>e.find(u=>u.id===o)).filter(Boolean),...r]}const nle={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Nr("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=Ue(n=>[Of(t,n)],n=>n.findIndex(r=>r.id===e.id),$e(t.options,"debugColumns")),e.getIsFirstColumn=n=>{var r;return((r=Of(t,n)[0])==null?void 0:r.id)===e.id},e.getIsLastColumn=n=>{var r;const l=Of(t,n);return((r=l[l.length-1])==null?void 0:r.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},e._getOrderColumnsFn=Ue(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>l=>{let o=[];if(!(t!=null&&t.length))o=l;else{const u=[...t],f=[...l];for(;f.length&&u.length;){const h=u.shift(),m=f.findIndex(v=>v.id===h);m>-1&&o.push(f.splice(m,1)[0])}o=[...o,...f]}return tle(o,n,r)},$e(e.options,"debugTable"))}},c0=()=>({left:[],right:[]}),rle={getInitialState:e=>({columnPinning:c0(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Nr("columnPinning",e)}),createColumn:(e,t)=>{e.pin=n=>{const r=e.getLeafColumns().map(l=>l.id).filter(Boolean);t.setColumnPinning(l=>{var o,u;if(n==="right"){var f,h;return{left:((f=l==null?void 0:l.left)!=null?f:[]).filter(p=>!(r!=null&&r.includes(p))),right:[...((h=l==null?void 0:l.right)!=null?h:[]).filter(p=>!(r!=null&&r.includes(p))),...r]}}if(n==="left"){var m,v;return{left:[...((m=l==null?void 0:l.left)!=null?m:[]).filter(p=>!(r!=null&&r.includes(p))),...r],right:((v=l==null?void 0:l.right)!=null?v:[]).filter(p=>!(r!=null&&r.includes(p)))}}return{left:((o=l==null?void 0:l.left)!=null?o:[]).filter(p=>!(r!=null&&r.includes(p))),right:((u=l==null?void 0:l.right)!=null?u:[]).filter(p=>!(r!=null&&r.includes(p)))}})},e.getCanPin=()=>e.getLeafColumns().some(r=>{var l,o,u;return((l=r.columnDef.enablePinning)!=null?l:!0)&&((o=(u=t.options.enableColumnPinning)!=null?u:t.options.enablePinning)!=null?o:!0)}),e.getIsPinned=()=>{const n=e.getLeafColumns().map(f=>f.id),{left:r,right:l}=t.getState().columnPinning,o=n.some(f=>r==null?void 0:r.includes(f)),u=n.some(f=>l==null?void 0:l.includes(f));return o?"left":u?"right":!1},e.getPinnedIndex=()=>{var n,r;const l=e.getIsPinned();return l?(n=(r=t.getState().columnPinning)==null||(r=r[l])==null?void 0:r.indexOf(e.id))!=null?n:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=Ue(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,l)=>{const o=[...r??[],...l??[]];return n.filter(u=>!o.includes(u.column.id))},$e(t.options,"debugRows")),e.getLeftVisibleCells=Ue(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(n,r)=>(r??[]).map(o=>n.find(u=>u.column.id===o)).filter(Boolean).map(o=>({...o,position:"left"})),$e(t.options,"debugRows")),e.getRightVisibleCells=Ue(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r??[]).map(o=>n.find(u=>u.column.id===o)).filter(Boolean).map(o=>({...o,position:"right"})),$e(t.options,"debugRows"))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var n,r;return e.setColumnPinning(t?c0():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:c0())},e.getIsSomeColumnsPinned=t=>{var n;const r=e.getState().columnPinning;if(!t){var l,o;return!!((l=r.left)!=null&&l.length||(o=r.right)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e.getLeftLeafColumns=Ue(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n??[]).map(r=>t.find(l=>l.id===r)).filter(Boolean),$e(e.options,"debugColumns")),e.getRightLeafColumns=Ue(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n??[]).map(r=>t.find(l=>l.id===r)).filter(Boolean),$e(e.options,"debugColumns")),e.getCenterLeafColumns=Ue(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const l=[...n??[],...r??[]];return t.filter(o=>!l.includes(o.id))},$e(e.options,"debugColumns"))}};function ile(e){return e||(typeof document<"u"?document:null)}const bm={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},f0=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),ale={getDefaultColumnDef:()=>bm,getInitialState:e=>({columnSizing:{},columnSizingInfo:f0(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Nr("columnSizing",e),onColumnSizingInfoChange:Nr("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var n,r,l;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:bm.minSize,(r=o??e.columnDef.size)!=null?r:bm.size),(l=e.columnDef.maxSize)!=null?l:bm.maxSize)},e.getStart=Ue(n=>[n,Of(t,n),t.getState().columnSizing],(n,r)=>r.slice(0,e.getIndex(n)).reduce((l,o)=>l+o.getSize(),0),$e(t.options,"debugColumns")),e.getAfter=Ue(n=>[n,Of(t,n),t.getState().columnSizing],(n,r)=>r.slice(e.getIndex(n)+1).reduce((l,o)=>l+o.getSize(),0),$e(t.options,"debugColumns")),e.resetSize=()=>{t.setColumnSizing(n=>{let{[e.id]:r,...l}=n;return l})},e.getCanResize=()=>{var n,r;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((r=t.options.enableColumnResizing)!=null?r:!0)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let n=0;const r=l=>{if(l.subHeaders.length)l.subHeaders.forEach(r);else{var o;n+=(o=l.column.getSize())!=null?o:0}};return r(e),n},e.getStart=()=>{if(e.index>0){const n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},e.getResizeHandler=n=>{const r=t.getColumn(e.column.id),l=r==null?void 0:r.getCanResize();return o=>{if(!r||!l||(o.persist==null||o.persist(),d0(o)&&o.touches&&o.touches.length>1))return;const u=e.getSize(),f=e?e.getLeafHeaders().map(A=>[A.column.id,A.column.getSize()]):[[r.id,r.getSize()]],h=d0(o)?Math.round(o.touches[0].clientX):o.clientX,m={},v=(A,E)=>{typeof E=="number"&&(t.setColumnSizingInfo(N=>{var T,R;const O=t.options.columnResizeDirection==="rtl"?-1:1,D=(E-((T=N==null?void 0:N.startOffset)!=null?T:0))*O,k=Math.max(D/((R=N==null?void 0:N.startSize)!=null?R:0),-.999999);return N.columnSizingStart.forEach(I=>{let[P,B]=I;m[P]=Math.round(Math.max(B+B*k,0)*100)/100}),{...N,deltaOffset:D,deltaPercentage:k}}),(t.options.columnResizeMode==="onChange"||A==="end")&&t.setColumnSizing(N=>({...N,...m})))},p=A=>v("move",A),x=A=>{v("end",A),t.setColumnSizingInfo(E=>({...E,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},S=ile(n),w={moveHandler:A=>p(A.clientX),upHandler:A=>{S==null||S.removeEventListener("mousemove",w.moveHandler),S==null||S.removeEventListener("mouseup",w.upHandler),x(A.clientX)}},j={moveHandler:A=>(A.cancelable&&(A.preventDefault(),A.stopPropagation()),p(A.touches[0].clientX),!1),upHandler:A=>{var E;S==null||S.removeEventListener("touchmove",j.moveHandler),S==null||S.removeEventListener("touchend",j.upHandler),A.cancelable&&(A.preventDefault(),A.stopPropagation()),x((E=A.touches[0])==null?void 0:E.clientX)}},C=lle()?{passive:!1}:!1;d0(o)?(S==null||S.addEventListener("touchmove",j.moveHandler,C),S==null||S.addEventListener("touchend",j.upHandler,C)):(S==null||S.addEventListener("mousemove",w.moveHandler,C),S==null||S.addEventListener("mouseup",w.upHandler,C)),t.setColumnSizingInfo(A=>({...A,startOffset:h,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:f,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},e.resetHeaderSizeInfo=t=>{var n;e.setColumnSizingInfo(t?f0():(n=e.initialState.columnSizingInfo)!=null?n:f0())},e.getTotalSize=()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((r,l)=>r+l.getSize(),0))!=null?t:0},e.getLeftTotalSize=()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((r,l)=>r+l.getSize(),0))!=null?t:0},e.getCenterTotalSize=()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((r,l)=>r+l.getSize(),0))!=null?t:0},e.getRightTotalSize=()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((r,l)=>r+l.getSize(),0))!=null?t:0}}};let Sm=null;function lle(){if(typeof Sm=="boolean")return Sm;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch{e=!1}return Sm=e,Sm}function d0(e){return e.type==="touchstart"}const ole={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Nr("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(r=>({...r,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{var n,r;const l=e.columns;return(n=l.length?l.some(o=>o.getIsVisible()):(r=t.getState().columnVisibility)==null?void 0:r[e.id])!=null?n:!0},e.getCanHide=()=>{var n,r;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((r=t.options.enableHiding)!=null?r:!0)},e.getToggleVisibilityHandler=()=>n=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=Ue(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(r=>r.column.getIsVisible()),$e(t.options,"debugRows")),e.getVisibleCells=Ue(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,r,l)=>[...n,...r,...l],$e(t.options,"debugRows"))},createTable:e=>{const t=(n,r)=>Ue(()=>[r(),r().filter(l=>l.getIsVisible()).map(l=>l.id).join("_")],l=>l.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),$e(e.options,"debugColumns"));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=n=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),e.resetColumnVisibility=n=>{var r;e.setColumnVisibility(n?{}:(r=e.initialState.columnVisibility)!=null?r:{})},e.toggleAllColumnsVisible=n=>{var r;n=(r=n)!=null?r:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((l,o)=>({...l,[o.id]:n||!(o.getCanHide!=null&&o.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>n=>{var r;e.toggleAllColumnsVisible((r=n.target)==null?void 0:r.checked)}}};function Of(e,t){return t?t==="center"?e.getCenterVisibleLeafColumns():t==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const sle={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},ule={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Nr("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n;const r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r=="string"||typeof r=="number"}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var n,r,l,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((l=t.options.enableFilters)!=null?l:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>fa.includesString,e.getGlobalFilterFn=()=>{var t,n;const{globalFilterFn:r}=e.options;return Ag(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:fa[r]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},cle={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Nr("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{var r,l;if(!t){e._queue(()=>{t=!0});return}if((r=(l=e.options.autoResetAll)!=null?l:e.options.autoResetExpanded)!=null?r:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=r=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(r),e.toggleAllRowsExpanded=r=>{r??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=r=>{var l,o;e.setExpanded(r?{}:(l=(o=e.initialState)==null?void 0:o.expanded)!=null?l:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(r=>r.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>r=>{r.persist==null||r.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const r=e.getState().expanded;return r===!0||Object.values(r).some(Boolean)},e.getIsAllRowsExpanded=()=>{const r=e.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||e.getRowModel().flatRows.some(l=>!l.getIsExpanded()))},e.getExpandedDepth=()=>{let r=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(o=>{const u=o.split(".");r=Math.max(r,u.length)}),r},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{var l;const o=r===!0?!0:!!(r!=null&&r[e.id]);let u={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(f=>{u[f]=!0}):u=r,n=(l=n)!=null?l:!o,!o&&n)return{...u,[e.id]:!0};if(o&&!n){const{[e.id]:f,...h}=u;return h}return r})},e.getIsExpanded=()=>{var n;const r=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:r===!0||r!=null&&r[e.id])},e.getCanExpand=()=>{var n,r,l;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((r=t.options.enableExpanding)!=null?r:!0)&&!!((l=e.subRows)!=null&&l.length)},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{const n=e.getCanExpand();return()=>{n&&e.toggleExpanded()}}}},Lb=0,Ub=10,h0=()=>({pageIndex:Lb,pageSize:Ub}),fle={getInitialState:e=>({...e,pagination:{...h0(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:Nr("pagination",e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{var r,l;if(!t){e._queue(()=>{t=!0});return}if((r=(l=e.options.autoResetAll)!=null?l:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=r=>{const l=o=>Tl(r,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(l)},e.resetPagination=r=>{var l;e.setPagination(r?h0():(l=e.initialState.pagination)!=null?l:h0())},e.setPageIndex=r=>{e.setPagination(l=>{let o=Tl(r,l.pageIndex);const u=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return o=Math.max(0,Math.min(o,u)),{...l,pageIndex:o}})},e.resetPageIndex=r=>{var l,o;e.setPageIndex(r?Lb:(l=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageIndex)!=null?l:Lb)},e.resetPageSize=r=>{var l,o;e.setPageSize(r?Ub:(l=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageSize)!=null?l:Ub)},e.setPageSize=r=>{e.setPagination(l=>{const o=Math.max(1,Tl(r,l.pageSize)),u=l.pageSize*l.pageIndex,f=Math.floor(u/o);return{...l,pageIndex:f,pageSize:o}})},e.setPageCount=r=>e.setPagination(l=>{var o;let u=Tl(r,(o=e.options.pageCount)!=null?o:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...l,pageCount:u}}),e.getPageOptions=Ue(()=>[e.getPageCount()],r=>{let l=[];return r&&r>0&&(l=[...new Array(r)].fill(null).map((o,u)=>u)),l},$e(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:r}=e.getState().pagination,l=e.getPageCount();return l===-1?!0:l===0?!1:re.setPageIndex(r=>r-1),e.nextPage=()=>e.setPageIndex(r=>r+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var r;return(r=e.options.pageCount)!=null?r:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var r;return(r=e.options.rowCount)!=null?r:e.getPrePaginationRowModel().rows.length}}},m0=()=>({top:[],bottom:[]}),dle={getInitialState:e=>({rowPinning:m0(),...e}),getDefaultOptions:e=>({onRowPinningChange:Nr("rowPinning",e)}),createRow:(e,t)=>{e.pin=(n,r,l)=>{const o=r?e.getLeafRows().map(h=>{let{id:m}=h;return m}):[],u=l?e.getParentRows().map(h=>{let{id:m}=h;return m}):[],f=new Set([...u,e.id,...o]);t.setRowPinning(h=>{var m,v;if(n==="bottom"){var p,x;return{top:((p=h==null?void 0:h.top)!=null?p:[]).filter(j=>!(f!=null&&f.has(j))),bottom:[...((x=h==null?void 0:h.bottom)!=null?x:[]).filter(j=>!(f!=null&&f.has(j))),...Array.from(f)]}}if(n==="top"){var S,w;return{top:[...((S=h==null?void 0:h.top)!=null?S:[]).filter(j=>!(f!=null&&f.has(j))),...Array.from(f)],bottom:((w=h==null?void 0:h.bottom)!=null?w:[]).filter(j=>!(f!=null&&f.has(j)))}}return{top:((m=h==null?void 0:h.top)!=null?m:[]).filter(j=>!(f!=null&&f.has(j))),bottom:((v=h==null?void 0:h.bottom)!=null?v:[]).filter(j=>!(f!=null&&f.has(j)))}})},e.getCanPin=()=>{var n;const{enableRowPinning:r,enablePinning:l}=t.options;return typeof r=="function"?r(e):(n=r??l)!=null?n:!0},e.getIsPinned=()=>{const n=[e.id],{top:r,bottom:l}=t.getState().rowPinning,o=n.some(f=>r==null?void 0:r.includes(f)),u=n.some(f=>l==null?void 0:l.includes(f));return o?"top":u?"bottom":!1},e.getPinnedIndex=()=>{var n,r;const l=e.getIsPinned();if(!l)return-1;const o=(n=l==="top"?t.getTopRows():t.getBottomRows())==null?void 0:n.map(u=>{let{id:f}=u;return f});return(r=o==null?void 0:o.indexOf(e.id))!=null?r:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var n,r;return e.setRowPinning(t?m0():(n=(r=e.initialState)==null?void 0:r.rowPinning)!=null?n:m0())},e.getIsSomeRowsPinned=t=>{var n;const r=e.getState().rowPinning;if(!t){var l,o;return!!((l=r.top)!=null&&l.length||(o=r.bottom)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e._getPinnedRows=(t,n,r)=>{var l;return((l=e.options.keepPinnedRows)==null||l?(n??[]).map(u=>{const f=e.getRow(u,!0);return f.getIsAllParentsExpanded()?f:null}):(n??[]).map(u=>t.find(f=>f.id===u))).filter(Boolean).map(u=>({...u,position:r}))},e.getTopRows=Ue(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,"top"),$e(e.options,"debugRows")),e.getBottomRows=Ue(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,"bottom"),$e(e.options,"debugRows")),e.getCenterRows=Ue(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(t,n,r)=>{const l=new Set([...n??[],...r??[]]);return t.filter(o=>!l.has(o.id))},$e(e.options,"debugRows"))}},hle={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Nr("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();const r={...n},l=e.getPreGroupedRowModel().flatRows;return t?l.forEach(o=>{o.getCanSelect()&&(r[o.id]=!0)}):l.forEach(o=>{delete r[o.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),l={...n};return e.getRowModel().rows.forEach(o=>{$b(l,o.id,r,!0,e)}),l}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=Ue(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?v0(e,n):{rows:[],flatRows:[],rowsById:{}},$e(e.options,"debugTable")),e.getFilteredSelectedRowModel=Ue(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?v0(e,n):{rows:[],flatRows:[],rowsById:{}},$e(e.options,"debugTable")),e.getGroupedSelectedRowModel=Ue(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?v0(e,n):{rows:[],flatRows:[],rowsById:{}},$e(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let r=!!(t.length&&Object.keys(n).length);return r&&t.some(l=>l.getCanSelect()&&!n[l.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{const t=e.getPaginationRowModel().flatRows.filter(l=>l.getCanSelect()),{rowSelection:n}=e.getState();let r=!!t.length;return r&&t.some(l=>!n[l.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{var t;const n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n{const t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(n=>n.getCanSelect()).some(n=>n.getIsSelected()||n.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{const l=e.getIsSelected();t.setRowSelection(o=>{var u;if(n=typeof n<"u"?n:!l,e.getCanSelect()&&l===n)return o;const f={...o};return $b(f,e.id,n,(u=r==null?void 0:r.selectChildren)!=null?u:!0,t),f})},e.getIsSelected=()=>{const{rowSelection:n}=t.getState();return pw(e,n)},e.getIsSomeSelected=()=>{const{rowSelection:n}=t.getState();return Bb(e,n)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:n}=t.getState();return Bb(e,n)==="all"},e.getCanSelect=()=>{var n;return typeof t.options.enableRowSelection=="function"?t.options.enableRowSelection(e):(n=t.options.enableRowSelection)!=null?n:!0},e.getCanSelectSubRows=()=>{var n;return typeof t.options.enableSubRowSelection=="function"?t.options.enableSubRowSelection(e):(n=t.options.enableSubRowSelection)!=null?n:!0},e.getCanMultiSelect=()=>{var n;return typeof t.options.enableMultiRowSelection=="function"?t.options.enableMultiRowSelection(e):(n=t.options.enableMultiRowSelection)!=null?n:!0},e.getToggleSelectedHandler=()=>{const n=e.getCanSelect();return r=>{var l;n&&e.toggleSelected((l=r.target)==null?void 0:l.checked)}}}},$b=(e,t,n,r,l)=>{var o;const u=l.getRow(t,!0);n?(u.getCanMultiSelect()||Object.keys(e).forEach(f=>delete e[f]),u.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(o=u.subRows)!=null&&o.length&&u.getCanSelectSubRows()&&u.subRows.forEach(f=>$b(e,f.id,n,r,l))};function v0(e,t){const n=e.getState().rowSelection,r=[],l={},o=function(u,f){return u.map(h=>{var m;const v=pw(h,n);if(v&&(r.push(h),l[h.id]=h),(m=h.subRows)!=null&&m.length&&(h={...h,subRows:o(h.subRows)}),v)return h}).filter(Boolean)};return{rows:o(t.rows),flatRows:r,rowsById:l}}function pw(e,t){var n;return(n=t[e.id])!=null?n:!1}function Bb(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let l=!0,o=!1;return e.subRows.forEach(u=>{if(!(o&&!l)&&(u.getCanSelect()&&(pw(u,t)?o=!0:l=!1),u.subRows&&u.subRows.length)){const f=Bb(u,t);f==="all"?o=!0:(f==="some"&&(o=!0),l=!1)}}),l?"all":o?"some":!1}const Hb=/([0-9]+)/gm,mle=(e,t,n)=>Dz(zl(e.getValue(n)).toLowerCase(),zl(t.getValue(n)).toLowerCase()),vle=(e,t,n)=>Dz(zl(e.getValue(n)),zl(t.getValue(n))),gle=(e,t,n)=>yw(zl(e.getValue(n)).toLowerCase(),zl(t.getValue(n)).toLowerCase()),ple=(e,t,n)=>yw(zl(e.getValue(n)),zl(t.getValue(n))),yle=(e,t,n)=>{const r=e.getValue(n),l=t.getValue(n);return r>l?1:ryw(e.getValue(n),t.getValue(n));function yw(e,t){return e===t?0:e>t?1:-1}function zl(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function Dz(e,t){const n=e.split(Hb).filter(Boolean),r=t.split(Hb).filter(Boolean);for(;n.length&&r.length;){const l=n.shift(),o=r.shift(),u=parseInt(l,10),f=parseInt(o,10),h=[u,f].sort();if(isNaN(h[0])){if(l>o)return 1;if(o>l)return-1;continue}if(isNaN(h[1]))return isNaN(u)?-1:1;if(u>f)return 1;if(f>u)return-1}return n.length-r.length}const gf={alphanumeric:mle,alphanumericCaseSensitive:vle,text:gle,textCaseSensitive:ple,datetime:yle,basic:xle},ble={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Nr("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const l of n){const o=l==null?void 0:l.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return gf.datetime;if(typeof o=="string"&&(r=!0,o.split(Hb).length>1))return gf.alphanumeric}return r?gf.text:gf.basic},e.getAutoSortDir=()=>{const n=t.getFilteredRowModel().flatRows[0];return typeof(n==null?void 0:n.getValue(e.id))=="string"?"asc":"desc"},e.getSortingFn=()=>{var n,r;if(!e)throw new Error;return Ag(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(r=t.options.sortingFns)==null?void 0:r[e.columnDef.sortingFn])!=null?n:gf[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{const l=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(u=>{const f=u==null?void 0:u.find(S=>S.id===e.id),h=u==null?void 0:u.findIndex(S=>S.id===e.id);let m=[],v,p=o?n:l==="desc";if(u!=null&&u.length&&e.getCanMultiSort()&&r?f?v="toggle":v="add":u!=null&&u.length&&h!==u.length-1?v="replace":f?v="toggle":v="replace",v==="toggle"&&(o||l||(v="remove")),v==="add"){var x;m=[...u,{id:e.id,desc:p}],m.splice(0,m.length-((x=t.options.maxMultiSortColCount)!=null?x:Number.MAX_SAFE_INTEGER))}else v==="toggle"?m=u.map(S=>S.id===e.id?{...S,desc:p}:S):v==="remove"?m=u.filter(S=>S.id!==e.id):m=[{id:e.id,desc:p}];return m})},e.getFirstSortDir=()=>{var n,r;return((n=(r=e.columnDef.sortDescFirst)!=null?r:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=n=>{var r,l;const o=e.getFirstSortDir(),u=e.getIsSorted();return u?u!==o&&((r=t.options.enableSortingRemoval)==null||r)&&(!(n&&(l=t.options.enableMultiRemove)!=null)||l)?!1:u==="desc"?"asc":"desc":o},e.getCanSort=()=>{var n,r;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((r=t.options.enableSorting)!=null?r:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var n,r;return(n=(r=e.columnDef.enableMultiSort)!=null?r:t.options.enableMultiSort)!=null?n:!!e.accessorFn},e.getIsSorted=()=>{var n;const r=(n=t.getState().sorting)==null?void 0:n.find(l=>l.id===e.id);return r?r.desc?"desc":"asc":!1},e.getSortIndex=()=>{var n,r;return(n=(r=t.getState().sorting)==null?void 0:r.findIndex(l=>l.id===e.id))!=null?n:-1},e.clearSorting=()=>{t.setSorting(n=>n!=null&&n.length?n.filter(r=>r.id!==e.id):[])},e.getToggleSortingHandler=()=>{const n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var n,r;e.setSorting(t?[]:(n=(r=e.initialState)==null?void 0:r.sorting)!=null?n:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Sle=[Hae,ole,nle,rle,Fae,Vae,sle,ule,ble,ele,cle,fle,dle,hle,ale];function wle(e){var t,n;const r=[...Sle,...(t=e._features)!=null?t:[]];let l={_features:r};const o=l._features.reduce((x,S)=>Object.assign(x,S.getDefaultOptions==null?void 0:S.getDefaultOptions(l)),{}),u=x=>l.options.mergeOptions?l.options.mergeOptions(o,x):{...o,...x};let h={...{},...(n=e.initialState)!=null?n:{}};l._features.forEach(x=>{var S;h=(S=x.getInitialState==null?void 0:x.getInitialState(h))!=null?S:h});const m=[];let v=!1;const p={_features:r,options:{...o,...e},initialState:h,_queue:x=>{m.push(x),v||(v=!0,Promise.resolve().then(()=>{for(;m.length;)m.shift()();v=!1}).catch(S=>setTimeout(()=>{throw S})))},reset:()=>{l.setState(l.initialState)},setOptions:x=>{const S=Tl(x,l.options);l.options=u(S)},getState:()=>l.options.state,setState:x=>{l.options.onStateChange==null||l.options.onStateChange(x)},_getRowId:(x,S,w)=>{var j;return(j=l.options.getRowId==null?void 0:l.options.getRowId(x,S,w))!=null?j:`${w?[w.id,S].join("."):S}`},getCoreRowModel:()=>(l._getCoreRowModel||(l._getCoreRowModel=l.options.getCoreRowModel(l)),l._getCoreRowModel()),getRowModel:()=>l.getPaginationRowModel(),getRow:(x,S)=>{let w=(S?l.getPrePaginationRowModel():l.getRowModel()).rowsById[x];if(!w&&(w=l.getCoreRowModel().rowsById[x],!w))throw new Error;return w},_getDefaultColumnDef:Ue(()=>[l.options.defaultColumn],x=>{var S;return x=(S=x)!=null?S:{},{header:w=>{const j=w.header.column.columnDef;return j.accessorKey?j.accessorKey:j.accessorFn?j.id:null},cell:w=>{var j,C;return(j=(C=w.renderValue())==null||C.toString==null?void 0:C.toString())!=null?j:null},...l._features.reduce((w,j)=>Object.assign(w,j.getDefaultColumnDef==null?void 0:j.getDefaultColumnDef()),{}),...x}},$e(e,"debugColumns")),_getColumnDefs:()=>l.options.columns,getAllColumns:Ue(()=>[l._getColumnDefs()],x=>{const S=function(w,j,C){return C===void 0&&(C=0),w.map(A=>{const E=Bae(l,A,C,j),N=A;return E.columns=N.columns?S(N.columns,E,C+1):[],E})};return S(x)},$e(e,"debugColumns")),getAllFlatColumns:Ue(()=>[l.getAllColumns()],x=>x.flatMap(S=>S.getFlatColumns()),$e(e,"debugColumns")),_getAllFlatColumnsById:Ue(()=>[l.getAllFlatColumns()],x=>x.reduce((S,w)=>(S[w.id]=w,S),{}),$e(e,"debugColumns")),getAllLeafColumns:Ue(()=>[l.getAllColumns(),l._getOrderColumnsFn()],(x,S)=>{let w=x.flatMap(j=>j.getLeafColumns());return S(w)},$e(e,"debugColumns")),getColumn:x=>l._getAllFlatColumnsById()[x]};Object.assign(l,p);for(let x=0;xUe(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(l,o,u){o===void 0&&(o=0);const f=[];for(let m=0;me._autoResetPageIndex()))}function Cle(e,t,n){return n.options.filterFromLeafRows?_le(e,t,n):Ale(e,t,n)}function _le(e,t,n){var r;const l=[],o={},u=(r=n.options.maxLeafRowFilterDepth)!=null?r:100,f=function(h,m){m===void 0&&(m=0);const v=[];for(let x=0;xUe(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,n,r)=>{if(!t.rows.length||!(n!=null&&n.length)&&!r){for(let x=0;x{var S;const w=e.getColumn(x.id);if(!w)return;const j=w.getFilterFn();j&&l.push({id:x.id,filterFn:j,resolvedValue:(S=j.resolveFilterValue==null?void 0:j.resolveFilterValue(x.value))!=null?S:x.value})});const u=(n??[]).map(x=>x.id),f=e.getGlobalFilterFn(),h=e.getAllLeafColumns().filter(x=>x.getCanGlobalFilter());r&&f&&h.length&&(u.push("__global__"),h.forEach(x=>{var S;o.push({id:x.id,filterFn:f,resolvedValue:(S=f.resolveFilterValue==null?void 0:f.resolveFilterValue(r))!=null?S:r})}));let m,v;for(let x=0;x{S.columnFiltersMeta[j]=C})}if(o.length){for(let w=0;w{S.columnFiltersMeta[j]=C})){S.columnFilters.__global__=!0;break}}S.columnFilters.__global__!==!0&&(S.columnFilters.__global__=!1)}}const p=x=>{for(let S=0;Se._autoResetPageIndex()))}function Ole(){return e=>Ue(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,l=[],o=r.filter(h=>{var m;return(m=e.getColumn(h.id))==null?void 0:m.getCanSort()}),u={};o.forEach(h=>{const m=e.getColumn(h.id);m&&(u[h.id]={sortUndefined:m.columnDef.sortUndefined,invertSorting:m.columnDef.invertSorting,sortingFn:m.getSortingFn()})});const f=h=>{const m=h.map(v=>({...v}));return m.sort((v,p)=>{for(let S=0;S{var p;l.push(v),(p=v.subRows)!=null&&p.length&&(v.subRows=f(v.subRows))}),m};return{rows:f(n.rows),flatRows:l,rowsById:n.rowsById}},$e(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}/** + * react-table + * + * Copyright (c) TanStack + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function KT(e,t){return e?Nle(e)?b.createElement(e,t):e:null}function Nle(e){return Tle(e)||typeof e=="function"||Rle(e)}function Tle(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Rle(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Mle(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=b.useState(()=>({current:wle(t)})),[r,l]=b.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...r,...e.state},onStateChange:u=>{l(u),e.onStateChange==null||e.onStateChange(u)}})),n.current}function Dle(e,t){const n=t.map(o=>o.map(u=>'"'+String(u??"").replace(/"/g,'""')+'"').join(",")).join(` +`),r=new Blob(["\uFEFF"+n],{type:"text/csv;charset=utf-8"}),l=document.createElement("a");l.href=URL.createObjectURL(r),l.download=e,l.click(),URL.revokeObjectURL(l.href)}function Pz({name:e,rows:t,columns:n,search:r,bulk:l,onRow:o}){const[u,f]=b.useState([]),[h,m]=b.useState(""),[v,p]=b.useState({}),[x,S]=b.useState({}),[w,j]=b.useState(!1),C=r&&h.trim()?t.filter(T=>r(T,h.trim().toLowerCase())):t,A=Mle({data:C,columns:n,state:{sorting:u,columnVisibility:v,rowSelection:x},onSortingChange:f,onColumnVisibilityChange:p,onRowSelectionChange:S,enableRowSelection:!0,getCoreRowModel:jle(),getSortedRowModel:Ole(),getFilteredRowModel:Ele(),getRowId:(T,R)=>String(T.id||R)}),E=A.getSelectedRowModel().rows.map(T=>T.original);function N(T){const R=A.getVisibleLeafColumns(),O=R.map(k=>String(k.columnDef.header||k.id)),D=T.map(k=>R.map(I=>{const P=I.accessorFn?I.accessorFn(k,0):"";return P==null?"":String(P)}));Dle(e+".csv",[O].concat(D))}return c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx(Oe,{value:h,onChange:T=>m(T.target.value),placeholder:"Фильтр",className:"max-w-xs"}),c.jsx(de,{variant:"secondary",onClick:()=>j(T=>!T),children:"Столбцы"}),c.jsx(de,{variant:"secondary",onClick:()=>N(E.length?E:C),children:"CSV"}),(l||[]).map(T=>c.jsx(de,{variant:"secondary",disabled:!E.length,onClick:()=>T.run(E),children:T.label},T.label)),c.jsx("span",{className:"text-xs text-muted-foreground",children:C.length})]}),w?c.jsx("div",{className:"flex flex-wrap gap-3 text-sm",children:A.getAllLeafColumns().map(T=>c.jsxs("label",{className:"flex items-center gap-1",children:[c.jsx("input",{type:"checkbox",checked:T.getIsVisible(),onChange:()=>T.toggleVisibility()}),String(T.columnDef.header||T.id)]},T.id))}):null,c.jsx("div",{className:"overflow-x-auto rounded-md border border-border",children:c.jsxs("table",{className:"w-full text-sm",children:[c.jsx("thead",{className:"bg-card",children:A.getHeaderGroups().map(T=>c.jsxs("tr",{children:[c.jsx("th",{className:"w-8 px-2 py-2",children:c.jsx("input",{type:"checkbox",checked:A.getIsAllRowsSelected(),onChange:A.getToggleAllRowsSelectedHandler(),"aria-label":"Выбрать все"})}),T.headers.map(R=>c.jsx("th",{className:"px-2 py-2 text-left font-medium text-muted-foreground",children:R.isPlaceholder?null:c.jsxs("button",{type:"button",className:"inline-flex items-center gap-1",onClick:R.column.getToggleSortingHandler(),children:[KT(R.column.columnDef.header,R.getContext()),R.column.getIsSorted()==="asc"?" ↑":R.column.getIsSorted()==="desc"?" ↓":""]})},R.id))]},T.id))}),c.jsxs("tbody",{children:[A.getRowModel().rows.map(T=>c.jsxs("tr",{className:"cursor-pointer border-t border-border hover:bg-secondary",onClick:()=>o&&o(T.original),children:[c.jsx("td",{className:"px-2 py-1",onClick:R=>R.stopPropagation(),children:c.jsx("input",{type:"checkbox",checked:T.getIsSelected(),onChange:T.getToggleSelectedHandler(),"aria-label":"Выбрать строку"})}),T.getVisibleCells().map(R=>c.jsx("td",{className:"px-2 py-1 align-top",children:KT(R.column.columnDef.cell,R.getContext())},R.id))]},T.id)),A.getRowModel().rows.length===0?c.jsx("tr",{children:c.jsx("td",{className:"px-2 py-4 text-muted-foreground",colSpan:n.length+1,children:"Пусто"})}):null]})]})})]})}function YT({rows:e}){const t=e||[];return t.length?c.jsx("div",{className:"h-16 w-full",children:c.jsx(IP,{width:"100%",height:"100%",children:c.jsxs(Cz,{data:t,children:[c.jsx(lw,{stroke:"#31342C",vertical:!1}),c.jsx(fw,{dataKey:"t",hide:!0}),c.jsx(dw,{hide:!0}),c.jsx(N3,{contentStyle:{background:"#181A15",border:"1px solid #31342C",color:"#F2F2E9"}}),c.jsx(cw,{type:"monotone",dataKey:"v",stroke:"#F9C400",dot:!1,strokeWidth:1.5})]})})}):c.jsx("div",{className:"text-xs text-muted-foreground",children:"Нет точек"})}function kz({title:e,onClose:t,children:n}){return c.jsx("div",{className:"fixed inset-0 z-40 flex justify-end bg-black/50",onClick:t,children:c.jsxs("aside",{className:"h-full w-full max-w-md overflow-auto border-l border-border bg-card p-4",onClick:r=>r.stopPropagation(),children:[c.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[c.jsx("h2",{className:"text-lg font-semibold",children:e}),c.jsx(de,{variant:"secondary",onClick:t,children:"Закрыть"})]}),n]})})}function Ple({data:e,csrf:t}){const n=(e==null?void 0:e.health)||[];return c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"grid grid-cols-2 gap-2 lg:grid-cols-4",children:[c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-2xl font-semibold",children:(e==null?void 0:e.online)??"-"}),c.jsx("div",{className:"text-xs text-muted-foreground",children:"устройств онлайн"})]})}),c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-2xl font-semibold",children:(e==null?void 0:e.errors)??"-"}),c.jsx("div",{className:"text-xs text-muted-foreground",children:"ошибок за 24 ч"})]})}),c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:"оплаты, 24 ч"}),c.jsx(YT,{rows:e==null?void 0:e.spark24})]})}),c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:"оплаты, 7 дн."}),c.jsx(YT,{rows:e==null?void 0:e.spark7})]})})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Сервисы"})}),c.jsxs(xe,{className:"grid gap-2 md:grid-cols-2",children:[n.map(r=>c.jsxs("div",{className:"flex items-center justify-between rounded-md border border-border px-3 py-2",children:[c.jsxs("div",{children:[c.jsx("div",{className:"font-medium",children:r.name}),c.jsxs("div",{className:"font-mono text-xs text-muted-foreground",children:[r.latencyMs," мс · успех ",r.success==null?"-":r.success+"%",r.lastError?" · "+r.lastError:""]})]}),c.jsx(Ne,{variant:r.ok?"ok":r.ok===!1?"bad":"warn",children:r.ok?"ок":r.ok===!1?"нет":"-"})]},r.name)),c.jsx(de,{variant:"secondary",onClick:()=>void Qt("/admin/api/sources/check",t,{}).then(r=>{var l;return dt(r.ok?"Проверено":((l=r.flash)==null?void 0:l.error)||"Не вышло")}),children:"Проверить источники"})]})]})]})}function kle({users:e,go:t}){const[n,r]=b.useState(null);return c.jsxs(c.Fragment,{children:[c.jsx(Pz,{name:"omp-users-view",rows:e,search:(l,o)=>(l.who+" "+l.telegramId+" "+l.email+" "+l.id).toLowerCase().indexOf(o)>=0,onRow:r,bulk:[{label:"Открыть первого",run:l=>l[0]&&t(l[0].id)}],columns:[{accessorKey:"who",header:"Кто"},{accessorKey:"telegramId",header:"Telegram",cell:({getValue:l})=>c.jsx("span",{className:"font-mono text-xs",children:String(l()||"-")})},{accessorKey:"email",header:"Почта"},{accessorKey:"active",header:"Подписка",cell:({getValue:l})=>l()?"активна":"нет"}]}),n?c.jsxs(kz,{title:n.who,onClose:()=>r(null),children:[c.jsx("p",{className:"font-mono text-xs text-muted-foreground",children:n.id}),c.jsxs("p",{className:"mt-2",children:["Telegram ",n.telegramId||"-"]}),c.jsxs("p",{children:["Почта ",n.email||"-"]}),c.jsx(de,{className:"mt-3",onClick:()=>t(n.id),children:"Карточка"})]}):null]})}function Ile({rows:e}){const[t,n]=b.useState(null);return c.jsxs(c.Fragment,{children:[c.jsx(Pz,{name:"omp-devices",rows:e,search:(r,l)=>(r.deviceId+" "+r.name+" "+r.who+" "+r.version).toLowerCase().indexOf(l)>=0,onRow:n,columns:[{accessorKey:"deviceId",header:"ID",cell:({getValue:r})=>c.jsx("span",{className:"font-mono text-xs",children:String(r()||"")})},{accessorKey:"name",header:"Имя"},{accessorKey:"who",header:"Аккаунт"},{accessorKey:"online",header:"Сеть",cell:({getValue:r})=>r()?"онлайн":"офлайн"},{accessorKey:"version",header:"Версия"},{accessorKey:"platform",header:"Платформа"},{accessorKey:"lastSeenAt",header:"Был",cell:({getValue:r})=>c.jsx(ht,{ms:Number(r())||0})}]}),t?c.jsxs(kz,{title:t.name||t.deviceId,onClose:()=>n(null),children:[c.jsx("p",{className:"font-mono text-xs",children:t.deviceId}),c.jsx("p",{className:"mt-2",children:t.online?"Сейчас онлайн":"Офлайн"}),c.jsxs("p",{children:["Версия ",t.version||"-"," · ",t.platform||"-"]}),t.accountId?c.jsx(de,{className:"mt-3",onClick:()=>location.href="/admin/?id="+encodeURIComponent(t.accountId),children:"Аккаунт"}):null]}):null]})}function zle({data:e,csrf:t}){const n=(e==null?void 0:e.sources)||[];return c.jsxs("div",{className:"space-y-2",children:[n.map(r=>c.jsx(ye,{children:c.jsxs(xe,{className:"flex flex-wrap items-center justify-between gap-2 pt-4",children:[c.jsxs("div",{children:[c.jsx("div",{className:"font-medium",children:r.name}),c.jsxs("div",{className:"font-mono text-xs text-muted-foreground",children:[r.latencyMs," мс · успех ",r.success==null?"-":r.success+"%"," · проб ",r.samples??0,r.lastError?" · "+r.lastError:""]})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Ne,{variant:r.ok?"ok":"bad",children:r.enabled===!1?"выкл":r.ok?"ок":"нет"}),r.name!=="torrserver"?c.jsx(de,{variant:"secondary",onClick:()=>{const l=r.enabled===!1;!l&&!window.confirm("Выключить "+r.name+"?")||Qt("/admin/api/sources/toggle",t,{source:r.name,enabled:l,confirm:l?"":"yes"}).then(()=>dt(l?"Включено":"Выключено"))},children:r.enabled===!1?"Включить":"Выключить"}):null]})]})},r.name)),c.jsx(de,{onClick:()=>void Qt("/admin/api/sources/check",t,{}).then(()=>dt("Проверено")),children:"Проверить сейчас"})]})}function Lle({data:e}){var r,l;const t=((r=e==null?void 0:e.funnel)==null?void 0:r.steps)||[],n=(l=e==null?void 0:e.funnel)==null?void 0:l.estimated;return c.jsxs("div",{className:"space-y-3",children:[c.jsx("div",{className:"grid gap-2 md:grid-cols-5",children:t.map(o=>c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:o.label}),c.jsx("div",{className:"text-2xl font-semibold",children:o.users}),c.jsx("div",{className:"text-xs text-muted-foreground",children:o.conversion==null?"первый шаг":o.conversion+"% от прошлого"})]})},o.name))}),n?c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Оценка по биллингу"})}),c.jsxs(xe,{className:"text-sm text-muted-foreground",children:[n.note,". Установки ",n.install,", входы ",n.login,", пробные ",n.trial,", оплаты ",n.payment,", продления ",n.renewal,"."]})]}):null]})}function Ule({data:e}){const t=e==null?void 0:e.revenue;return t?c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"grid gap-2 md:grid-cols-3",children:[c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:"30 дней"}),c.jsxs("div",{className:"text-2xl font-semibold",children:[t.monthSum," ₽"]}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[t.monthN," оплат"]})]})}),c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:"Отток 30 дней"}),c.jsxs("div",{className:"text-2xl font-semibold",children:[t.churn.rate,"%"]}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:["истекло ",t.churn.expired,", ещё живы ",t.churn.active]})]})}),c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:"Продления на неделе"}),c.jsx("div",{className:"text-2xl font-semibold",children:t.forecast.due}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:["около ",t.forecast.sum," ₽ при цене ",t.forecast.price," ₽"]})]})})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"По дням"})}),c.jsx(xe,{className:"h-48",children:c.jsx(IP,{width:"100%",height:"100%",children:c.jsxs(Cz,{data:t.byDay,children:[c.jsx(lw,{stroke:"#31342C"}),c.jsx(fw,{dataKey:"t",stroke:"#B3B8A8",tick:{fontSize:11}}),c.jsx(dw,{stroke:"#B3B8A8",tick:{fontSize:11}}),c.jsx(N3,{contentStyle:{background:"#181A15",border:"1px solid #31342C"}}),c.jsx(cw,{type:"monotone",dataKey:"v",stroke:"#F9C400",dot:!1})]})})})]}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"По месяцам"})}),c.jsx(xe,{className:"space-y-1 text-sm",children:t.byMonth.map(n=>c.jsxs("div",{className:"flex justify-between font-mono",children:[c.jsx("span",{children:n.month}),c.jsxs("span",{children:[Math.round(n.sum)," ₽ · ",n.n]})]},n.month))})]})]}):null}function $le({csrf:e}){const{paused:t}=zv(),[n,r]=b.useState(""),o=Rv({queryKey:["nuc"],refetchInterval:t?!1:15e3,queryFn:()=>st("/admin/api/nuc")}).data;return c.jsxs("div",{className:"space-y-3",children:[c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Хост"})}),c.jsxs(xe,{className:"text-sm",children:[o!=null&&o.disk?c.jsxs("p",{children:["Диск ",o.disk.path,": свободно ",o.disk.ratio,"% (",Math.round(o.disk.free/1024/1024/1024)," ГБ)"]}):c.jsx("p",{className:"text-muted-foreground",children:"Диск с этого контейнера не виден"}),o!=null&&o.host?c.jsxs("p",{children:["CPU ",o.host.cpus," · RAM ",Math.round(o.host.mem/1024/1024/1024)," ГБ"]}):c.jsx("p",{className:"text-muted-foreground",children:(o==null?void 0:o.error)||"Сводка хоста недоступна"})]})]}),((o==null?void 0:o.containers)||[]).map(u=>c.jsx(ye,{children:c.jsxs(xe,{className:"flex flex-wrap items-center justify-between gap-2 pt-4",children:[c.jsxs("div",{children:[c.jsx("div",{className:"font-medium",children:u.name}),c.jsxs("div",{className:"font-mono text-xs text-muted-foreground",children:[u.state," · ",u.status," · CPU ",u.cpu==null?"-":u.cpu+"%"," · RAM ",u.mem==null?"-":Math.round(u.mem/1024/1024)+" МБ"]})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(de,{variant:"secondary",onClick:()=>void fetch("/admin/api/nuc/logs?name="+encodeURIComponent(u.name),{credentials:"same-origin"}).then(f=>f.json()).then(f=>r(u.name+` +`+(f.lines||f.error||""))),children:"Лог"}),u.restart?c.jsx(de,{variant:"secondary",onClick:()=>{window.confirm("Перезапустить "+u.name+"?")&&Qt("/admin/api/nuc/restart",e,{name:u.name,confirm:"yes"}).then(f=>dt(f.ok?"Перезапущен":"Не вышло"))},children:"Перезапуск"}):null]})]})},u.id)),n?c.jsx("pre",{className:"max-h-80 overflow-auto rounded-md border border-border bg-background p-3 font-mono text-xs",children:n}):null]})}function Ble({rows:e,csrf:t}){return e.length?c.jsx("div",{className:"space-y-2",children:e.map(n=>c.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border px-3 py-2",children:[c.jsxs("span",{className:"font-mono text-xs",children:[n.id.slice(0,8)," · ",c.jsx(ht,{ms:n.at})]}),c.jsx(de,{variant:"secondary",onClick:()=>{window.confirm("Откатить настройки к этому снимку? Секреты не меняются.")&&Qt("/admin/api/rollback",t,{id:n.id,confirm:"yes"}).then(r=>dt(r.ok?"Откат выполнен":"Не вышло"))},children:"Откатить"})]},n.id))}):c.jsx("p",{className:"text-sm text-muted-foreground",children:"Снимков настроек ещё нет. Они появятся после сохранения настроек."})}function Hle({csrf:e}){var o;const{paused:t}=zv(),n=Jb(),l=((o=Rv({queryKey:["crashes"],refetchInterval:t?!1:15e3,queryFn:()=>st("/admin/api/crashes")}).data)==null?void 0:o.groups)||[];return c.jsxs("div",{className:"space-y-2",children:[l.length===0?c.jsx("p",{className:"text-sm text-muted-foreground",children:"Сбоев нет"}):null,l.map(u=>c.jsx(ye,{children:c.jsx(xe,{className:"space-y-2 pt-4",children:c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[c.jsxs("div",{children:[c.jsx("div",{className:"font-medium",children:u.title}),c.jsxs("div",{className:"font-mono text-xs text-muted-foreground",children:[u.id," · ",u.count," · устройств ",u.devices," · ",u.status,u.regression?" · регрессия":""," · ",c.jsx(ht,{ms:u.lastAt})]}),c.jsx("div",{className:"text-xs text-muted-foreground",children:(u.versions||[]).join(", ")})]}),c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx("a",{className:"text-sm text-primary",href:"/admin/api/crashes/log?id="+encodeURIComponent(u.id),children:"Лог"}),c.jsx(de,{variant:"secondary",onClick:()=>void st("/admin/api/crashes/draft?id="+encodeURIComponent(u.id)).then(f=>{navigator.clipboard.writeText(f.text||""),dt("Текст issue скопирован")}),children:"Текст issue"}),["progress","fixed","ignored"].map(f=>c.jsx(de,{variant:"secondary",onClick:()=>{window.confirm("Поставить статус "+f+"?")&&Qt("/admin/api/crashes/status",e,{id:u.id,status:f,confirm:"yes"}).then(()=>n.invalidateQueries({queryKey:["crashes"]}))},children:f==="progress"?"В работе":f==="fixed"?"Исправлен":"Игнор"},f))]})]})})},u.id))]})}function Fle({csrf:e}){const[t,n]=b.useState(""),[r,l]=b.useState("all"),[o,u]=b.useState(null),f=b.useRef(0);return c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Рассылка в бот"})}),c.jsxs(xe,{className:"space-y-3",children:[c.jsx("textarea",{className:"min-h-28 w-full rounded-md border border-border bg-background p-2 text-sm",value:t,onChange:h=>{f.current+=1,u(null),n(h.target.value)},placeholder:"Текст сообщения"}),c.jsxs("select",{className:"h-10 rounded-md border border-border bg-secondary px-2",value:r,onChange:h=>{f.current+=1,u(null),l(h.target.value)},"aria-label":"Кому",children:[c.jsx("option",{value:"all",children:"Все с Telegram"}),c.jsx("option",{value:"active",children:"Активная подписка"}),c.jsx("option",{value:"lapsed",children:"Без активной подписки"})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(de,{variant:"secondary",onClick:()=>{const h=++f.current;Qt("/admin/api/broadcast/preview",e,{text:t,segment:r}).then(m=>{if(h!==f.current)return;const v=m;if(!v.ok||!v.id){dt("Не удалось");return}u({id:v.id,count:v.count||0}),dt("Получателей: "+(v.count||0))})},children:"Предпросмотр"}),c.jsx(de,{disabled:!o,onClick:()=>{o&&window.confirm("Отправить "+o.count+" сообщений? Это нельзя отменить.")&&Qt("/admin/api/broadcast/send",e,{id:o.id,confirm:"yes"}).then(h=>{dt(h.ok?"Отправлено":"Не отправлено"),u(null)})},children:"Отправить"})]}),o?c.jsxs("p",{className:"text-sm text-muted-foreground",children:["Черновик на ",o.count,". Само по себе ничего не уходит."]}):null]})]})}function Vle({data:e}){const t=(e==null?void 0:e.versions)||[];return c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Версии приложений"})}),c.jsxs(xe,{className:"space-y-1 text-sm",children:[c.jsxs("p",{className:"text-muted-foreground",children:["Бета сейчас: ",(e==null?void 0:e.betaPercent)??100,"% устройств, которые сами включили бету."]}),t.length===0?c.jsx("p",{children:"Пока нет сигналов версии."}):null,t.map(n=>c.jsxs("div",{className:"flex justify-between font-mono",children:[c.jsx("span",{children:n.label}),c.jsx("span",{children:n.count})]},n.label))]})]})}function Gle(){var n;const t=((n=Rv({queryKey:["logins"],queryFn:()=>st("/admin/api/logins")}).data)==null?void 0:n.rows)||[];return c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Входы в админку"})}),c.jsxs(xe,{className:"space-y-1 text-sm",children:[t.length===0?c.jsx("p",{className:"text-muted-foreground",children:"Записей нет"}):null,t.map((r,l)=>c.jsxs("div",{className:"font-mono text-xs",children:[c.jsx(ht,{ms:r.at})," ",r.result," ",r.ip||"-"," ",r.telegramId||""," ",r.ua||""]},l))]})]})}var XT=1,qle=.9,Kle=.8,Yle=.17,g0=.1,p0=.999,Xle=.9999,Qle=.99,Zle=/[\\\/_+.#"@\[\(\{&]/,Wle=/[\\\/_+.#"@\[\(\{&]/g,Jle=/[\s-]/,Iz=/[\s-]/g;function Fb(e,t,n,r,l,o,u){if(o===t.length)return l===e.length?XT:Qle;var f=`${l},${o}`;if(u[f]!==void 0)return u[f];for(var h=r.charAt(o),m=n.indexOf(h,l),v=0,p,x,S,w;m>=0;)p=Fb(e,t,n,r,m+1,o+1,u),p>v&&(m===l?p*=XT:Zle.test(e.charAt(m-1))?(p*=Kle,S=e.slice(l,m-1).match(Wle),S&&l>0&&(p*=Math.pow(p0,S.length))):Jle.test(e.charAt(m-1))?(p*=qle,w=e.slice(l,m-1).match(Iz),w&&l>0&&(p*=Math.pow(p0,w.length))):(p*=Yle,l>0&&(p*=Math.pow(p0,m-l))),e.charAt(m)!==t.charAt(o)&&(p*=Xle)),(pp&&(p=x*g0)),p>v&&(v=p),m=n.indexOf(h,m+1);return u[f]=v,v}function QT(e){return e.toLowerCase().replace(Iz," ")}function eoe(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,Fb(e,t,QT(e),QT(t),0,0,{})}var toe=Object.defineProperty,vn=(e,t)=>toe(e,"name",{value:t,configurable:!0}),Vb="dismissableLayer.update",noe="dismissableLayer.pointerDownOutside",roe="dismissableLayer.focusOutside",ZT,zz=b.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ioe=b.forwardRef(vn(function(t,n){const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:l=!1,onEscapeKeyDown:o,onPointerDownOutside:u,onFocusOutside:f,onInteractOutside:h,onDismiss:m,...v}=t,p=b.useContext(zz),[x,S]=b.useState(null),w=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,j]=b.useState({}),C=Yr(n,S),A=Array.from(p.layers),[E]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),N=E?A.indexOf(E):-1,T=x?A.indexOf(x):-1,R=p.layersWithOutsidePointerEventsDisabled.size>0,O=T>=N,D=b.useRef(!1),k=Uz(F=>{u==null||u(F),h==null||h(F),F.defaultPrevented||m==null||m()},{ownerDocument:w,deferPointerDownOutside:l,isDeferredPointerDownOutsideRef:D,dismissableSurfaces:p.dismissableSurfaces,shouldHandlePointerDownOutside:b.useCallback(F=>{if(!(F instanceof Node))return!1;const se=[...p.branches].some(ue=>ue.contains(F));return O&&!se},[p.branches,O])}),I=$z(F=>{if(l&&D.current)return;const se=F.target;[...p.branches].some(he=>he.contains(se))||(f==null||f(F),h==null||h(F),F.defaultPrevented||m==null||m())},w),P=x?T===A.length-1:!1,B=Fo(F=>{F.key==="Escape"&&(o==null||o(F),!F.defaultPrevented&&m&&(F.preventDefault(),m()))});return b.useEffect(()=>{if(P)return w.addEventListener("keydown",B,{capture:!0}),()=>w.removeEventListener("keydown",B,{capture:!0})},[w,P,B]),b.useEffect(()=>{if(x)return r&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(ZT=w.body.style.pointerEvents,w.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(x)),p.layers.add(x),Gb(),()=>{r&&(p.layersWithOutsidePointerEventsDisabled.delete(x),p.layersWithOutsidePointerEventsDisabled.size===0&&(w.body.style.pointerEvents=ZT))}},[x,w,r,p]),b.useEffect(()=>()=>{x&&(p.layers.delete(x),p.layersWithOutsidePointerEventsDisabled.delete(x),Gb())},[x,p]),b.useEffect(()=>{const F=vn(()=>j({}),"handleUpdate");return document.addEventListener(Vb,F),()=>document.removeEventListener(Vb,F)},[]),c.jsx(ln.div,{...v,ref:C,style:{pointerEvents:R?O?"auto":"none":void 0,...t.style},onFocusCapture:$n(t.onFocusCapture,I.onFocusCapture),onBlurCapture:$n(t.onBlurCapture,I.onBlurCapture),onPointerDownCapture:$n(t.onPointerDownCapture,k.onPointerDownCapture)})},"DismissableLayer"));function Lz(){const e=b.useContext(zz),[t,n]=b.useState(null);return b.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}vn(Lz,"useDismissableLayerSurface");var aoe=vn(()=>!0,"IS_TRUE");function Uz(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:l,dismissableSurfaces:o,shouldHandlePointerDownOutside:u=aoe}=t,f=Fo(e),h=b.useRef(!1),m=b.useRef(!1),v=b.useRef(new Map),p=b.useRef(()=>{});return b.useEffect(()=>{function x(){m.current=!1,l.current=!1,v.current.clear()}vn(x,"resetOutsideInteraction");function S(){return Array.from(v.current.values()).some(Boolean)}vn(S,"isOutsideInteractionIntercepted");function w(N){if(!m.current)return;const T=N.target;T instanceof Node&&[...o].some(O=>O.contains(T))||v.current.set(N.type,!0),N.type==="click"&&window.setTimeout(()=>{m.current&&p.current()},0)}vn(w,"handleInteractionCapture");function j(N){m.current&&v.current.set(N.type,!1)}vn(j,"handleInteractionBubble");const C=vn(N=>{if(N.target&&!h.current){let T=function(){n.removeEventListener("click",p.current);const O=S();x(),O||xw(noe,f,R,{discrete:!0})};if(vn(T,"handleAndDispatchPointerDownOutsideEvent"),!u(N.target)){n.removeEventListener("click",p.current),x(),h.current=!1;return}const R={originalEvent:N};m.current=!0,l.current=r&&N.button===0,v.current.clear(),!r||N.button!==0?T():(n.removeEventListener("click",p.current),p.current=T,n.addEventListener("click",p.current,{once:!0}))}else n.removeEventListener("click",p.current),x();h.current=!1},"handlePointerDown"),A=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const N of A)n.addEventListener(N,w,!0),n.addEventListener(N,j);const E=window.setTimeout(()=>{n.addEventListener("pointerdown",C)},0);return()=>{window.clearTimeout(E),n.removeEventListener("pointerdown",C),n.removeEventListener("click",p.current);for(const N of A)n.removeEventListener(N,w,!0),n.removeEventListener(N,j)}},[n,f,r,l,o,u]),{onPointerDownCapture:vn(()=>h.current=!0,"onPointerDownCapture")}}vn(Uz,"usePointerDownOutside");function $z(e,t=globalThis==null?void 0:globalThis.document){const n=Fo(e),r=b.useRef(!1);return b.useEffect(()=>{const l=vn(o=>{o.target&&!r.current&&xw(roe,n,{originalEvent:o},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",l),()=>t.removeEventListener("focusin",l)},[t,n]),{onFocusCapture:vn(()=>r.current=!0,"onFocusCapture"),onBlurCapture:vn(()=>r.current=!1,"onBlurCapture")}}vn($z,"useFocusOutside");function Gb(){const e=new CustomEvent(Vb);document.dispatchEvent(e)}vn(Gb,"dispatchUpdate");function xw(e,t,n,{discrete:r}){const l=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&l.addEventListener(e,t,{once:!0}),r?sM(l,o):l.dispatchEvent(o)}vn(xw,"handleAndDispatchCustomEvent");var loe=Object.defineProperty,Xt=(e,t)=>loe(e,"name",{value:t,configurable:!0}),y0="focusScope.autoFocusOnMount",x0="focusScope.autoFocusOnUnmount",WT={bubbles:!1,cancelable:!0},ooe=b.forwardRef(Xt(function(t,n){const{loop:r=!1,trapped:l=!1,branches:o,onMountAutoFocus:u,onUnmountAutoFocus:f,...h}=t,[m,v]=b.useState(null),p=Fo(u),x=Fo(f),S=b.useRef(null),w=Yr(n,v),j=b.useRef(o);b.useEffect(()=>{j.current=o});const C=b.useCallback(N=>{var T;return N?m!=null&&m.contains(N)?!0:!!((T=j.current)!=null&&T.some(R=>R.contains(N))):!1},[m]),A=b.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;b.useEffect(()=>{if(l){let N=function(D){if(A.paused||!m)return;const k=D.target;C(k)?S.current=k:da(S.current,{select:!0})},T=function(D){if(A.paused||!m)return;const k=D.relatedTarget;k!==null&&(C(k)||da(S.current,{select:!0}))},R=function(D){if(document.activeElement===document.body)for(const I of D)I.removedNodes.length>0&&da(m)};Xt(N,"handleFocusIn"),Xt(T,"handleFocusOut"),Xt(R,"handleMutations"),document.addEventListener("focusin",N),document.addEventListener("focusout",T);const O=new MutationObserver(R);return m&&O.observe(m,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",N),document.removeEventListener("focusout",T),O.disconnect()}}},[l,m,A.paused,C]),b.useEffect(()=>{if(m){JT.add(A);const N=document.activeElement;if(!m.contains(N)){const R=new CustomEvent(y0,WT);m.addEventListener(y0,p),m.dispatchEvent(R),R.defaultPrevented||(Vz(Xz(bw(m)),{select:!0}),document.activeElement===N&&da(m))}return()=>{m.removeEventListener(y0,p);const R=m.ownerDocument,O=CustomEvent;setTimeout(()=>{const D=new O(x0,WT);m.addEventListener(x0,x),m.dispatchEvent(D),D.defaultPrevented||da(N??R.body,{select:!0}),m.removeEventListener(x0,x),JT.remove(A)},0)}}},[m,p,x,A]);const E=b.useCallback(N=>{if(!r&&!l||A.paused)return;const T=N.key==="Tab"&&!N.altKey&&!N.ctrlKey&&!N.metaKey,R=document.activeElement;if(T&&R){const O=N.currentTarget,[D,k]=Gz(O);D&&k?!N.shiftKey&&R===k?(N.preventDefault(),r&&da(D,{select:!0})):N.shiftKey&&R===D&&(N.preventDefault(),r&&da(k,{select:!0})):R===O&&N.preventDefault()}},[r,l,A.paused]);return c.jsx(ln.div,{tabIndex:-1,...h,ref:w,onKeyDown:E})},"FocusScope")),Bz=b.createContext(null);function Hz({registry:e,children:t}){return e?c.jsx(Bz.Provider,{value:e,children:t}):t}Xt(Hz,"FocusScopeBranchProvider");function Fz(){const[e,t]=b.useState([]),n=b.useMemo(()=>({add:Xt(r=>t(l=>l.includes(r)?l:[...l,r]),"add"),remove:Xt(r=>t(l=>l.filter(o=>o!==r)),"remove")}),[]);return{nodes:e,registry:n}}Xt(Fz,"useFocusScopeBranchRegistry");function soe(e){const t=b.useContext(Bz);b.useEffect(()=>{if(!(!e||!t))return t.add(e),()=>t.remove(e)},[e,t])}Xt(soe,"useFocusScopeBranch");function Vz(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(da(r,{select:t}),document.activeElement!==n)return}Xt(Vz,"focusFirst");function Gz(e){const t=bw(e),n=qb(t,e),r=qb(t.reverse(),e);return[n,r]}Xt(Gz,"getTabbableEdges");function bw(e){const t=[],r=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Xt(l=>{const o=l.tagName==="INPUT"&&l.type==="hidden";return l.disabled||l.hidden||o?NodeFilter.FILTER_SKIP:l.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;r.nextNode();)t.push(r.currentNode);return t}Xt(bw,"getTabbableCandidates");function qb(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):qz(r,{upTo:t})))return r}Xt(qb,"findVisible");function qz(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}Xt(qz,"isHidden");function Kz(e){return e.tagName==="INPUT"&&typeof e.select=="function"}Xt(Kz,"isSelectableInput");function da(e,{select:t=!1}={}){if(e&&e.focus){const r=(e.ownerDocument??document).activeElement;e.focus({preventScroll:!0}),e!==r&&Kz(e)&&t&&e.select()}}Xt(da,"focus");var JT=Yz();function Yz(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=Kb(e,t),e.unshift(t)},remove(t){var n;e=Kb(e,t),(n=e[0])==null||n.resume()}}}Xt(Yz,"createFocusScopesStack");function Kb(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}Xt(Kb,"arrayRemove");function Xz(e){return e.filter(t=>t.tagName!=="A")}Xt(Xz,"removeLinks");var uoe=Object.defineProperty,coe=(e,t)=>uoe(e,"name",{value:t,configurable:!0}),foe=b.forwardRef(coe(function(t,n){var h;const{container:r,...l}=t,[o,u]=b.useState(!1);Ca(()=>u(!0),[]);const f=r||o&&((h=globalThis==null?void 0:globalThis.document)==null?void 0:h.body);return f?Mv.createPortal(c.jsx(ln.div,{...l,ref:n}),f):null},"Portal")),doe=Object.defineProperty,Sw=(e,t)=>doe(e,"name",{value:t,configurable:!0}),wm=0,Ti=null;function hoe(e){return ww(),e.children}Sw(hoe,"FocusGuards");function ww(){b.useEffect(()=>{Ti||(Ti={start:Yb(),end:Yb()});const{start:e,end:t}=Ti;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),wm++,()=>{wm===1&&(Ti==null||Ti.start.remove(),Ti==null||Ti.end.remove(),Ti=null),wm=Math.max(0,wm-1)}},[])}Sw(ww,"useFocusGuards");function Yb(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}Sw(Yb,"createFocusGuard");var ki=function(){return ki=Object.assign||function(t){for(var n,r=1,l=arguments.length;r"u")return Toe;var t=Roe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Doe=Jz(),bu="data-scroll-locked",Poe=function(e,t,n,r){var l=e.left,o=e.top,u=e.right,f=e.gap;return n===void 0&&(n="margin"),` + .`.concat(voe,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(f,"px ").concat(r,`; + } + body[`).concat(bu,`] { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(l,`px; + padding-top: `).concat(o,`px; + padding-right: `).concat(u,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(f,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(f,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(Pm,` { + right: `).concat(f,"px ").concat(r,`; + } + + .`).concat(km,` { + margin-right: `).concat(f,"px ").concat(r,`; + } + + .`).concat(Pm," .").concat(Pm,` { + right: 0 `).concat(r,`; + } + + .`).concat(km," .").concat(km,` { + margin-right: 0 `).concat(r,`; + } + + body[`).concat(bu,`] { + `).concat(goe,": ").concat(f,`px; + } +`)},tR=function(){var e=parseInt(document.body.getAttribute(bu)||"0",10);return isFinite(e)?e:0},koe=function(){b.useEffect(function(){return document.body.setAttribute(bu,(tR()+1).toString()),function(){var e=tR()-1;e<=0?document.body.removeAttribute(bu):document.body.setAttribute(bu,e.toString())}},[])},Ioe=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,l=r===void 0?"margin":r;koe();var o=b.useMemo(function(){return Moe(l)},[l]);return b.createElement(Doe,{styles:Poe(o,!t,l,n?"":"!important")})},Xb=!1;if(typeof window<"u")try{var jm=Object.defineProperty({},"passive",{get:function(){return Xb=!0,!0}});window.addEventListener("test",jm,jm),window.removeEventListener("test",jm,jm)}catch{Xb=!1}var au=Xb?{passive:!1}:!1,zoe=function(e){return e.tagName==="TEXTAREA"},eL=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!zoe(e)&&n[t]==="visible")},Loe=function(e){return eL(e,"overflowY")},Uoe=function(e){return eL(e,"overflowX")},nR=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var l=tL(e,r);if(l){var o=nL(e,r),u=o[1],f=o[2];if(u>f)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},$oe=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Boe=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},tL=function(e,t){return e==="v"?Loe(t):Uoe(t)},nL=function(e,t){return e==="v"?$oe(t):Boe(t)},Hoe=function(e,t){return e==="h"&&t==="rtl"?-1:1},Foe=function(e,t,n,r,l){var o=Hoe(e,window.getComputedStyle(t).direction),u=o*r,f=n.target,h=t.contains(f),m=!1,v=u>0,p=0,x=0;do{if(!f)break;var S=nL(e,f),w=S[0],j=S[1],C=S[2],A=j-C-o*w;(w||A)&&tL(e,f)&&(p+=A,x+=w);var E=f.parentNode;f=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!h&&f!==document.body||h&&(t.contains(f)||t===f));return(v&&Math.abs(p)<1||!v&&Math.abs(x)<1)&&(m=!0),m},Cm=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},rR=function(e){return[e.deltaX,e.deltaY]},iR=function(e){return e&&"current"in e?e.current:e},Voe=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Goe=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},qoe=0,lu=[];function Koe(e){var t=b.useRef([]),n=b.useRef([0,0]),r=b.useRef(),l=b.useState(qoe++)[0],o=b.useState(Jz)[0],u=b.useRef(e);b.useEffect(function(){u.current=e},[e]),b.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(l));var j=moe([e.lockRef.current],(e.shards||[]).map(iR),!0).filter(Boolean);return j.forEach(function(C){return C.classList.add("allow-interactivity-".concat(l))}),function(){document.body.classList.remove("block-interactivity-".concat(l)),j.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(l))})}}},[e.inert,e.lockRef.current,e.shards]);var f=b.useCallback(function(j,C){if("touches"in j&&j.touches.length===2||j.type==="wheel"&&j.ctrlKey)return!u.current.allowPinchZoom;var A=Cm(j),E=n.current,N="deltaX"in j?j.deltaX:E[0]-A[0],T="deltaY"in j?j.deltaY:E[1]-A[1],R,O=j.target,D=Math.abs(N)>Math.abs(T)?"h":"v";if("touches"in j&&D==="h"&&O.type==="range")return!1;var k=window.getSelection(),I=k&&k.anchorNode,P=I?I===O||I.contains(O):!1;if(P)return!1;var B=nR(D,O);if(!B)return!0;if(B?R=D:(R=D==="v"?"h":"v",B=nR(D,O)),!B)return!1;if(!r.current&&"changedTouches"in j&&(N||T)&&(r.current=R),!R)return!0;var F=r.current||R;return Foe(F,C,j,F==="h"?N:T)},[]),h=b.useCallback(function(j){var C=j;if(!(!lu.length||lu[lu.length-1]!==o)){var A="deltaY"in C?rR(C):Cm(C),E=t.current.filter(function(R){return R.name===C.type&&(R.target===C.target||C.target===R.shadowParent)&&Voe(R.delta,A)})[0];if(E&&E.should){C.cancelable&&C.preventDefault();return}if(!E){var N=(u.current.shards||[]).map(iR).filter(Boolean).filter(function(R){return R.contains(C.target)}),T=N.length>0?f(C,N[0]):!u.current.noIsolation;T&&C.cancelable&&C.preventDefault()}}},[]),m=b.useCallback(function(j,C,A,E){var N={name:j,delta:C,target:A,should:E,shadowParent:Yoe(A)};t.current.push(N),setTimeout(function(){t.current=t.current.filter(function(T){return T!==N})},1)},[]),v=b.useCallback(function(j){n.current=Cm(j),r.current=void 0},[]),p=b.useCallback(function(j){m(j.type,rR(j),j.target,f(j,e.lockRef.current))},[]),x=b.useCallback(function(j){m(j.type,Cm(j),j.target,f(j,e.lockRef.current))},[]);b.useEffect(function(){return lu.push(o),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:x}),document.addEventListener("wheel",h,au),document.addEventListener("touchmove",h,au),document.addEventListener("touchstart",v,au),function(){lu=lu.filter(function(j){return j!==o}),document.removeEventListener("wheel",h,au),document.removeEventListener("touchmove",h,au),document.removeEventListener("touchstart",v,au)}},[]);var S=e.removeScrollBar,w=e.inert;return b.createElement(b.Fragment,null,w?b.createElement(o,{styles:Goe(l)}):null,S?b.createElement(Ioe,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Yoe(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Xoe=joe(Wz,Koe);var rL=b.forwardRef(function(e,t){return b.createElement(Eg,ki({},e,{ref:t,sideCar:Xoe}))});rL.classNames=Eg.classNames;var Qoe=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},ou=new WeakMap,_m=new WeakMap,Am={},j0=0,iL=function(e){return e&&(e.host||iL(e.parentNode))},Zoe=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=iL(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Woe=function(e,t,n,r){var l=Zoe(t,Array.isArray(e)?e:[e]);Am[n]||(Am[n]=new WeakMap);var o=Am[n],u=[],f=new Set,h=new Set(l),m=function(p){!p||f.has(p)||(f.add(p),m(p.parentNode))};l.forEach(m);var v=function(p){!p||h.has(p)||Array.prototype.forEach.call(p.children,function(x){if(f.has(x))v(x);else try{var S=x.getAttribute(r),w=S!==null&&S!=="false",j=(ou.get(x)||0)+1,C=(o.get(x)||0)+1;ou.set(x,j),o.set(x,C),u.push(x),j===1&&w&&_m.set(x,!0),C===1&&x.setAttribute(n,"true"),w||x.setAttribute(r,"true")}catch(A){console.error("aria-hidden: cannot operate on ",x,A)}})};return v(t),f.clear(),j0++,function(){u.forEach(function(p){var x=ou.get(p)-1,S=o.get(p)-1;ou.set(p,x),o.set(p,S),x||(_m.has(p)||p.removeAttribute(r),_m.delete(p)),S||p.removeAttribute(n)}),j0--,j0||(ou=new WeakMap,ou=new WeakMap,_m=new WeakMap,Am={})}},Joe=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),l=Qoe(e);return l?(r.push.apply(r,Array.from(l.querySelectorAll("[aria-live], script"))),Woe(r,l,n,"aria-hidden")):function(){return null}},ese=Object.defineProperty,Ki=(e,t)=>ese(e,"name",{value:t,configurable:!0}),jw="Dialog",[aL,kse]=Gu(jw),[tse,as]=aL(jw),nse=Ki(e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:l,onOpenChange:o,modal:u=!0}=e,f=b.useRef(null),h=b.useRef(null),{nodes:m,registry:v}=Fz(),[p,x]=Dv({prop:r,defaultProp:l??!1,onChange:o,caller:jw}),[S,w]=b.useState(0),[j,C]=b.useState(0);return c.jsx(tse,{scope:t,triggerRef:f,contentRef:h,contentId:Xr(),titleId:Xr(),descriptionId:Xr(),titlePresent:S>0,descriptionPresent:j>0,setTitleCount:w,setDescriptionCount:C,open:p,onOpenChange:x,onOpenToggle:b.useCallback(()=>x(A=>!A),[x]),modal:u,branchNodes:m,branchRegistry:v,children:n})},"Dialog"),lL="DialogPortal",[rse,oL]=aL(lL,{forceMount:void 0}),ise=Ki(e=>{const{__scopeDialog:t,forceMount:n,children:r,container:l}=e,o=as(lL,t);return c.jsx(rse,{scope:t,forceMount:n,children:b.Children.map(r,u=>c.jsx(kv,{present:n||o.open,children:c.jsx(foe,{asChild:!0,container:l,children:u})}))})},"DialogPortal"),Qb="DialogOverlay",ase=b.forwardRef(Ki(function(t,n){const r=oL(Qb,t.__scopeDialog),{forceMount:l=r.forceMount,...o}=t,u=as(Qb,t.__scopeDialog);return u.modal?c.jsx(kv,{present:l||u.open,children:c.jsx(ose,{...o,ref:n})}):null},"DialogOverlay")),lse=Dl("DialogOverlay.RemoveScroll"),ose=b.forwardRef(Ki(function(t,n){const{__scopeDialog:r,...l}=t,o=as(Qb,r),u=Lz(),f=Yr(n,u);return c.jsx(rL,{as:lse,allowPinchZoom:!0,shards:b.useMemo(()=>[o.contentRef,...o.branchNodes.map(h=>({current:h}))],[o.contentRef,o.branchNodes]),children:c.jsx(ln.div,{"data-state":Cw(o.open),...l,ref:f,style:{pointerEvents:"auto",...l.style}})})},"DialogOverlayImpl")),Vf="DialogContent",sse=b.forwardRef(Ki(function(t,n){const r=oL(Vf,t.__scopeDialog),{forceMount:l=r.forceMount,...o}=t,u=as(Vf,t.__scopeDialog);return c.jsx(kv,{present:l||u.open,children:u.modal?c.jsx(use,{...o,ref:n}):c.jsx(cse,{...o,ref:n})})},"DialogContent")),use=b.forwardRef(Ki(function(t,n){const r=as(Vf,t.__scopeDialog),l=b.useRef(null),o=Yr(n,r.contentRef,l);return b.useEffect(()=>{const u=l.current;if(u)return Joe(u)},[]),c.jsx(sL,{...t,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:$n(t.onCloseAutoFocus,u=>{var f;u.preventDefault(),(f=r.triggerRef.current)==null||f.focus()}),onPointerDownOutside:$n(t.onPointerDownOutside,u=>{const f=u.detail.originalEvent,h=f.button===0&&f.ctrlKey===!0;(f.button===2||h)&&u.preventDefault()}),onFocusOutside:$n(t.onFocusOutside,u=>u.preventDefault())})},"DialogContentModal")),cse=b.forwardRef(Ki(function(t,n){const r=as(Vf,t.__scopeDialog),l=b.useRef(!1),o=b.useRef(!1);return c.jsx(sL,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:u=>{var f,h;(f=t.onCloseAutoFocus)==null||f.call(t,u),u.defaultPrevented||(l.current||(h=r.triggerRef.current)==null||h.focus(),u.preventDefault()),l.current=!1,o.current=!1},onInteractOutside:u=>{var m,v;(m=t.onInteractOutside)==null||m.call(t,u),u.defaultPrevented||(l.current=!0,u.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const f=u.target;((v=r.triggerRef.current)==null?void 0:v.contains(f))&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&o.current&&u.preventDefault()}})},"DialogContentNonModal")),sL=b.forwardRef(Ki(function(t,n){const{__scopeDialog:r,trapFocus:l,onOpenAutoFocus:o,onCloseAutoFocus:u,"aria-describedby":f,children:h,...m}=t,v=as(Vf,r);return ww(),c.jsx(Hz,{registry:v.branchRegistry,children:c.jsx(ooe,{asChild:!0,loop:!0,trapped:l,branches:v.branchNodes,onMountAutoFocus:o,onUnmountAutoFocus:u,children:c.jsx(ioe,{role:"dialog",id:v.contentId,"aria-labelledby":v.titlePresent?v.titleId:void 0,"aria-describedby":v.descriptionPresent?uL(f,v.descriptionId):f,"data-state":Cw(v.open),...m,ref:n,deferPointerDownOutside:!0,onDismiss:()=>v.onOpenChange(!1),children:h})})})},"DialogContentImpl"));function uL(...e){const t=new Set;for(const n of e)if(typeof n=="string")for(const r of String(n).trim().split(/\s+/))r&&t.add(r);return t.size>0?Array.from(t).join(" "):void 0}Ki(uL,"concatAriaDescribedby");function Cw(e){return e?"open":"closed"}Ki(Cw,"getState");var pf='[cmdk-group=""]',C0='[cmdk-group-items=""]',fse='[cmdk-group-heading=""]',cL='[cmdk-item=""]',aR=`${cL}:not([aria-disabled="true"])`,Zb="cmdk-item-select",fu="data-value",dse=(e,t,n)=>eoe(e,t,n),fL=b.createContext(void 0),pd=()=>b.useContext(fL),dL=b.createContext(void 0),_w=()=>b.useContext(dL),hL=b.createContext(void 0),mL=b.forwardRef((e,t)=>{let n=du(()=>{var ee,ve;return{search:"",value:(ve=(ee=e.value)!=null?ee:e.defaultValue)!=null?ve:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=du(()=>new Set),l=du(()=>new Map),o=du(()=>new Map),u=du(()=>new Set),f=vL(e),{label:h,children:m,value:v,onValueChange:p,filter:x,shouldFilter:S,loop:w,disablePointerSelection:j=!1,vimBindings:C=!0,...A}=e,E=Xr(),N=Xr(),T=Xr(),R=b.useRef(null),O=jse();Wo(()=>{if(v!==void 0){let ee=v.trim();n.current.value=ee,D.emit()}},[v]),Wo(()=>{O(6,se)},[]);let D=b.useMemo(()=>({subscribe:ee=>(u.current.add(ee),()=>u.current.delete(ee)),snapshot:()=>n.current,setState:(ee,ve,z)=>{var Y,le,fe,Pe;if(!Object.is(n.current[ee],ve)){if(n.current[ee]=ve,ee==="search")F(),P(),O(1,B);else if(ee==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let te=document.getElementById(T);te?te.focus():(Y=document.getElementById(E))==null||Y.focus()}if(O(7,()=>{var te;n.current.selectedItemId=(te=ue())==null?void 0:te.id,D.emit()}),z||O(5,se),((le=f.current)==null?void 0:le.value)!==void 0){let te=ve??"";(Pe=(fe=f.current).onValueChange)==null||Pe.call(fe,te);return}}D.emit()}},emit:()=>{u.current.forEach(ee=>ee())}}),[]),k=b.useMemo(()=>({value:(ee,ve,z)=>{var Y;ve!==((Y=o.current.get(ee))==null?void 0:Y.value)&&(o.current.set(ee,{value:ve,keywords:z}),n.current.filtered.items.set(ee,I(ve,z)),O(2,()=>{P(),D.emit()}))},item:(ee,ve)=>(r.current.add(ee),ve&&(l.current.has(ve)?l.current.get(ve).add(ee):l.current.set(ve,new Set([ee]))),O(3,()=>{F(),P(),n.current.value||B(),D.emit()}),()=>{o.current.delete(ee),r.current.delete(ee),n.current.filtered.items.delete(ee);let z=ue();O(4,()=>{F(),(z==null?void 0:z.getAttribute("id"))===ee&&B(),D.emit()})}),group:ee=>(l.current.has(ee)||l.current.set(ee,new Set),()=>{o.current.delete(ee),l.current.delete(ee)}),filter:()=>f.current.shouldFilter,label:h||e["aria-label"],getDisablePointerSelection:()=>f.current.disablePointerSelection,listId:E,inputId:T,labelId:N,listInnerRef:R}),[]);function I(ee,ve){var z,Y;let le=(Y=(z=f.current)==null?void 0:z.filter)!=null?Y:dse;return ee?le(ee,n.current.search,ve):0}function P(){if(!n.current.search||f.current.shouldFilter===!1)return;let ee=n.current.filtered.items,ve=[];n.current.filtered.groups.forEach(Y=>{let le=l.current.get(Y),fe=0;le.forEach(Pe=>{let te=ee.get(Pe);fe=Math.max(te,fe)}),ve.push([Y,fe])});let z=R.current;he().sort((Y,le)=>{var fe,Pe;let te=Y.getAttribute("id"),ge=le.getAttribute("id");return((fe=ee.get(ge))!=null?fe:0)-((Pe=ee.get(te))!=null?Pe:0)}).forEach(Y=>{let le=Y.closest(C0);le?le.appendChild(Y.parentElement===le?Y:Y.closest(`${C0} > *`)):z.appendChild(Y.parentElement===z?Y:Y.closest(`${C0} > *`))}),ve.sort((Y,le)=>le[1]-Y[1]).forEach(Y=>{var le;let fe=(le=R.current)==null?void 0:le.querySelector(`${pf}[${fu}="${encodeURIComponent(Y[0])}"]`);fe==null||fe.parentElement.appendChild(fe)})}function B(){let ee=he().find(z=>z.getAttribute("aria-disabled")!=="true"),ve=ee==null?void 0:ee.getAttribute(fu);D.setState("value",ve||void 0)}function F(){var ee,ve,z,Y;if(!n.current.search||f.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let le=0;for(let fe of r.current){let Pe=(ve=(ee=o.current.get(fe))==null?void 0:ee.value)!=null?ve:"",te=(Y=(z=o.current.get(fe))==null?void 0:z.keywords)!=null?Y:[],ge=I(Pe,te);n.current.filtered.items.set(fe,ge),ge>0&&le++}for(let[fe,Pe]of l.current)for(let te of Pe)if(n.current.filtered.items.get(te)>0){n.current.filtered.groups.add(fe);break}n.current.filtered.count=le}function se(){var ee,ve,z;let Y=ue();Y&&(((ee=Y.parentElement)==null?void 0:ee.firstChild)===Y&&((z=(ve=Y.closest(pf))==null?void 0:ve.querySelector(fse))==null||z.scrollIntoView({block:"nearest"})),Y.scrollIntoView({block:"nearest"}))}function ue(){var ee;return(ee=R.current)==null?void 0:ee.querySelector(`${cL}[aria-selected="true"]`)}function he(){var ee;return Array.from(((ee=R.current)==null?void 0:ee.querySelectorAll(aR))||[])}function G(ee){let ve=he()[ee];ve&&D.setState("value",ve.getAttribute(fu))}function ne(ee){var ve;let z=ue(),Y=he(),le=Y.findIndex(Pe=>Pe===z),fe=Y[le+ee];(ve=f.current)!=null&&ve.loop&&(fe=le+ee<0?Y[Y.length-1]:le+ee===Y.length?Y[0]:Y[le+ee]),fe&&D.setState("value",fe.getAttribute(fu))}function ie(ee){let ve=ue(),z=ve==null?void 0:ve.closest(pf),Y;for(;z&&!Y;)z=ee>0?Sse(z,pf):wse(z,pf),Y=z==null?void 0:z.querySelector(aR);Y?D.setState("value",Y.getAttribute(fu)):ne(ee)}let ce=()=>G(he().length-1),U=ee=>{ee.preventDefault(),ee.metaKey?ce():ee.altKey?ie(1):ne(1)},Ee=ee=>{ee.preventDefault(),ee.metaKey?G(0):ee.altKey?ie(-1):ne(-1)};return b.createElement(ln.div,{ref:t,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:ee=>{var ve;(ve=A.onKeyDown)==null||ve.call(A,ee);let z=ee.nativeEvent.isComposing||ee.keyCode===229;if(!(ee.defaultPrevented||z))switch(ee.key){case"n":case"j":{C&&ee.ctrlKey&&U(ee);break}case"ArrowDown":{U(ee);break}case"p":case"k":{C&&ee.ctrlKey&&Ee(ee);break}case"ArrowUp":{Ee(ee);break}case"Home":{ee.preventDefault(),G(0);break}case"End":{ee.preventDefault(),ce();break}case"Enter":{ee.preventDefault();let Y=ue();if(Y){let le=new Event(Zb);Y.dispatchEvent(le)}}}}},b.createElement("label",{"cmdk-label":"",htmlFor:k.inputId,id:k.labelId,style:_se},h),Og(e,ee=>b.createElement(dL.Provider,{value:D},b.createElement(fL.Provider,{value:k},ee))))}),hse=b.forwardRef((e,t)=>{var n,r;let l=Xr(),o=b.useRef(null),u=b.useContext(hL),f=pd(),h=vL(e),m=(r=(n=h.current)==null?void 0:n.forceMount)!=null?r:u==null?void 0:u.forceMount;Wo(()=>{if(!m)return f.item(l,u==null?void 0:u.id)},[m]);let v=gL(l,o,[e.value,e.children,o],e.keywords),p=_w(),x=Ll(O=>O.value&&O.value===v.current),S=Ll(O=>m||f.filter()===!1?!0:O.search?O.filtered.items.get(l)>0:!0);b.useEffect(()=>{let O=o.current;if(!(!O||e.disabled))return O.addEventListener(Zb,w),()=>O.removeEventListener(Zb,w)},[S,e.onSelect,e.disabled]);function w(){var O,D;j(),(D=(O=h.current).onSelect)==null||D.call(O,v.current)}function j(){p.setState("value",v.current,!0)}if(!S)return null;let{disabled:C,value:A,onSelect:E,forceMount:N,keywords:T,...R}=e;return b.createElement(ln.div,{ref:Ho(o,t),...R,id:l,"cmdk-item":"",role:"option","aria-disabled":!!C,"aria-selected":!!x,"data-disabled":!!C,"data-selected":!!x,onPointerMove:C||f.getDisablePointerSelection()?void 0:j,onClick:C?void 0:w},e.children)}),mse=b.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:l,...o}=e,u=Xr(),f=b.useRef(null),h=b.useRef(null),m=Xr(),v=pd(),p=Ll(S=>l||v.filter()===!1?!0:S.search?S.filtered.groups.has(u):!0);Wo(()=>v.group(u),[]),gL(u,f,[e.value,e.heading,h]);let x=b.useMemo(()=>({id:u,forceMount:l}),[l]);return b.createElement(ln.div,{ref:Ho(f,t),...o,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},n&&b.createElement("div",{ref:h,"cmdk-group-heading":"","aria-hidden":!0,id:m},n),Og(e,S=>b.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?m:void 0},b.createElement(hL.Provider,{value:x},S))))}),vse=b.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,l=b.useRef(null),o=Ll(u=>!u.search);return!n&&!o?null:b.createElement(ln.div,{ref:Ho(l,t),...r,"cmdk-separator":"",role:"separator"})}),gse=b.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,l=e.value!=null,o=_w(),u=Ll(m=>m.search),f=Ll(m=>m.selectedItemId),h=pd();return b.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),b.createElement(ln.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":h.listId,"aria-labelledby":h.labelId,"aria-activedescendant":f,id:h.inputId,type:"text",value:l?e.value:u,onChange:m=>{l||o.setState("search",m.target.value),n==null||n(m.target.value)}})}),pse=b.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...l}=e,o=b.useRef(null),u=b.useRef(null),f=Ll(m=>m.selectedItemId),h=pd();return b.useEffect(()=>{if(u.current&&o.current){let m=u.current,v=o.current,p,x=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let S=m.offsetHeight;v.style.setProperty("--cmdk-list-height",S.toFixed(1)+"px")})});return x.observe(m),()=>{cancelAnimationFrame(p),x.unobserve(m)}}},[]),b.createElement(ln.div,{ref:Ho(o,t),...l,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":f,"aria-label":r,id:h.listId},Og(e,m=>b.createElement("div",{ref:Ho(u,h.listInnerRef),"cmdk-list-sizer":""},m)))}),yse=b.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:l,contentClassName:o,container:u,...f}=e;return b.createElement(nse,{open:n,onOpenChange:r},b.createElement(ise,{container:u},b.createElement(ase,{"cmdk-overlay":"",className:l}),b.createElement(sse,{"aria-label":e.label,"cmdk-dialog":"",className:o},b.createElement(mL,{ref:t,...f}))))}),xse=b.forwardRef((e,t)=>Ll(n=>n.filtered.count===0)?b.createElement(ln.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),bse=b.forwardRef((e,t)=>{let{progress:n,children:r,label:l="Loading...",...o}=e;return b.createElement(ln.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":l},Og(e,u=>b.createElement("div",{"aria-hidden":!0},u)))}),pl=Object.assign(mL,{List:pse,Item:hse,Input:gse,Group:mse,Separator:vse,Dialog:yse,Empty:xse,Loading:bse});function Sse(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function wse(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function vL(e){let t=b.useRef(e);return Wo(()=>{t.current=e}),t}var Wo=typeof window>"u"?b.useEffect:b.useLayoutEffect;function du(e){let t=b.useRef();return t.current===void 0&&(t.current=e()),t}function Ll(e){let t=_w(),n=()=>e(t.snapshot());return b.useSyncExternalStore(t.subscribe,n,n)}function gL(e,t,n,r=[]){let l=b.useRef(),o=pd();return Wo(()=>{var u;let f=(()=>{var m;for(let v of n){if(typeof v=="string")return v.trim();if(typeof v=="object"&&"current"in v)return v.current?(m=v.current.textContent)==null?void 0:m.trim():l.current}})(),h=r.map(m=>m.trim());o.value(e,f,h),(u=t.current)==null||u.setAttribute(fu,f),l.current=f}),l}var jse=()=>{let[e,t]=b.useState(),n=du(()=>new Map);return Wo(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,l)=>{n.current.set(r,l),t({})}};function Cse(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Og({asChild:e,children:t},n){return e&&b.isValidElement(t)?b.cloneElement(Cse(t),{ref:t.ref},n(t.props.children)):n(t)}var _se={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Ase=[["home","Обзор"],["users","Пользователи"],["subs","Подписки и оплаты"],["devices","Устройства"],["sources","Источники поиска"],["rank","Подбор раздач"],["cache","Кэш"],["funnel","Воронка"],["revenue","Выручка"],["nuc","NUC"],["support","Поддержка"],["promos","Промо"],["fails","Отказы"],["audit","Журнал"],["ads","Реклама"],["referral","Рефералы"],["services","Сервисы"],["dht","DHT"],["monitor","Мониторинг"],["changes","Изменения"],["settings","Настройки"],["security","Доступ"],["crashes","Сбои"],["broadcast","Рассылка"],["versions","Версии"]].map(([e,t])=>({id:e,label:t}));function Ese({open:e,onOpen:t,go:n}){const[r,l]=b.useState(""),[o,u]=b.useState([]);return b.useEffect(()=>{const f=h=>{(h.ctrlKey||h.metaKey)&&h.key.toLowerCase()==="k"&&(h.preventDefault(),t(!e))};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,t]),b.useEffect(()=>{if(!e||r.trim().length<2){u([]);return}let f=!1;const h=window.setTimeout(()=>{st("/admin/api/search?q="+encodeURIComponent(r.trim())).then(m=>{f||u(m.hits||[])})},180);return()=>{f=!0,window.clearTimeout(h)}},[r,e]),e?c.jsx("div",{className:"fixed inset-0 z-50 flex items-start justify-center bg-black/60 px-4 pt-[12vh]",onClick:()=>t(!1),children:c.jsx("div",{className:"w-full max-w-xl rounded-lg border border-border bg-card shadow-xl",onClick:f=>f.stopPropagation(),children:c.jsxs(pl,{label:"Поиск",shouldFilter:!1,children:[c.jsx(pl.Input,{value:r,onValueChange:l,placeholder:"Аккаунт, устройство, платёж, раздача",autoFocus:!0}),c.jsxs(pl.List,{className:"max-h-80 overflow-auto p-2",children:[c.jsx(pl.Empty,{className:"px-2 py-3 text-sm text-muted-foreground",children:"Ничего не найдено"}),c.jsx(pl.Group,{heading:"Экраны",children:Ase.filter(f=>!r.trim()||f.label.toLowerCase().indexOf(r.trim().toLowerCase())>=0).map(f=>c.jsx(pl.Item,{value:f.label,onSelect:()=>{n(f.id),t(!1)},children:f.label},f.id))}),o.length?c.jsx(pl.Group,{heading:"Данные",children:o.map(f=>c.jsxs(pl.Item,{value:f.kind+" "+f.title,onSelect:()=>{if(f.href.indexOf("tab=")>=0){const h=new URL(f.href,location.origin).searchParams.get("tab");h&&n(h)}f.href.indexOf("id=")>=0&&(location.href=f.href),t(!1)},children:[c.jsx("span",{className:"mr-2 text-xs uppercase text-muted-foreground",children:f.kind}),f.title]},f.kind+f.id))}):null]})]})})}):null}const Ose=[{title:"Обзор",items:[["home","Обзор"],["users","Пользователи"],["subs","Подписки и оплаты"],["devices","Устройства"]]},{title:"Сеть",items:[["sources","Источники"],["rank","Подбор"],["cache","Кэш"],["nuc","NUC"]]},{title:"Деньги",items:[["funnel","Воронка"],["revenue","Выручка"],["finance","Финансы"],["donations","Донаты"],["promos","Промо"],["referral","Рефералы"]]},{title:"Работа",items:[["support","Поддержка"],["fails","Отказы"],["ads","Реклама"],["services","Сервисы"],["dht","DHT"],["monitor","Мониторинг"],["changes","Изменения"]]},{title:"Система",items:[["settings","Настройки"],["audit","Журнал"],["security","Доступ"],["crashes","Сбои"],["broadcast","Рассылка"],["versions","Версии"]]}];function Nse(e,t){return Rv({queryKey:["desk"],enabled:e,refetchInterval:t?!1:12e3,queryFn:()=>st("/admin/api/desk")})}function Tse({alerts:e}){const t=e||[];return c.jsxs(ye,{id:"alerts",children:[c.jsx(Te,{children:c.jsxs(Re,{children:["Предупреждения"," ",t.length>0?c.jsx(Ne,{variant:"count",className:"ml-2 align-middle",children:t.length}):null]})}),t.length===0?c.jsx(xe,{className:"text-sm text-muted-foreground",children:"Алертов нет"}):c.jsx(xe,{className:"space-y-2",children:t.map((n,r)=>c.jsx(i6,{a:n},r))})]})}function Rse(){var k,I,P,B,F,se,ue,he;const[e,t]=b.useState(null),[n,r]=b.useState(null),[l,o]=b.useState(null),u=b.useMemo(()=>new URLSearchParams(location.search),[]),[f,h]=b.useState(()=>u.get("tab")||"home"),[m,v]=b.useState("all"),[p,x]=b.useState(""),[S,w]=b.useState(!1),[j,C]=b.useState(!1),A=u.get("tg")||"",E=zv(),N=Nse(e===!0&&!l,E.paused);async function T(){const G=new URLSearchParams(location.search).get("id");if(G){const ie=await st("/admin/api/user?id="+encodeURIComponent(G));if(ie.auth===!1){t(!1);return}if(ie.error){o(null),t(!0);const ce=await st("/admin/api/home");r(ce);return}o(ie),t(!0);return}const ne=await st("/admin/api/home");if(ne.auth===!1){t(!1);return}r(ne),o(null),t(!0)}b.useEffect(()=>{T()},[]),b.useEffect(()=>{const G=()=>void T();return window.addEventListener("omp-admin-live",G),()=>window.removeEventListener("omp-admin-live",G)},[]),b.useEffect(()=>{if(e!==!0||f!=="support"||l)return;let G=!1;const ne=window.setInterval(()=>{st("/admin/api/home").then(ie=>{if(!G){if(ie.auth===!1){t(!1);return}r(ce=>ce&&{...ce,support:ie.support||[]})}})},3e3);return()=>{G=!0,window.clearInterval(ne)}},[e,f,l]);async function R(G,ne={}){var U,Ee,ee;const ie=(l==null?void 0:l.csrf)||(n==null?void 0:n.csrf)||"",ce=await Qt(G,ie,ne);if(ce.auth===!1)return t(!1),ce;if(G==="/admin/logout")return location.href="/admin/",ce;if(ce.redirect){const z=new URL(ce.redirect,location.origin).searchParams.get("id")||"",Y=new URLSearchParams(location.search).get("id")||"";if(z!==Y)return location.href=ce.redirect,ce}return await T(),(U=ce.flash)!=null&&U.error?dt(ce.flash.error):(Ee=ce.flash)!=null&&Ee.text?dt(ce.flash.text):(ee=ce.flash)!=null&&ee.promo&&dt("Промокод создан"),ce}if(e===null)return c.jsx(a6,{});if(e===!1)return c.jsx(s6,{});if(l)return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"mx-auto flex max-w-[1200px] items-center justify-between px-4 py-3",children:[c.jsx(YE,{}),c.jsx(de,{variant:"secondary",onClick:()=>location.href="/admin/",children:"К списку"})]}),c.jsx($6,{user:l,run:R}),c.jsx(TE,{})]});const O=n||{},D=N.data&&N.data.auth!==!1?N.data:void 0;return c.jsxs("main",{className:"min-h-screen lg:flex",children:[c.jsxs("aside",{className:(S?"block":"hidden")+" w-full border-b border-border bg-card lg:block lg:w-56 lg:shrink-0 lg:border-b-0 lg:border-r",children:[c.jsx("div",{className:"px-3 py-3",children:c.jsx(MM,{})}),c.jsx("nav",{className:"px-2 pb-4",children:Ose.map(G=>c.jsxs("div",{className:"mb-3",children:[c.jsx("div",{className:"px-2 py-1 text-[11px] uppercase tracking-wide text-muted-foreground",children:G.title}),G.items.map(([ne,ie])=>c.jsxs("button",{type:"button",className:"block w-full rounded-md px-2 py-1.5 text-left text-sm "+(f===ne?"bg-primary text-primary-foreground":"text-foreground hover:bg-secondary"),onClick:()=>{h(ne),w(!1)},children:[ie,ne==="support"&&(O.support||[]).length>0?" "+(O.support||[]).length:""]},ne))]},G.title))})]}),c.jsxs("div",{className:"min-w-0 flex-1 space-y-4 px-4 py-4",children:[c.jsxs("header",{className:"flex flex-wrap items-center justify-between gap-3",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(de,{variant:"secondary",className:"lg:hidden",onClick:()=>w(G=>!G),children:"Меню"}),c.jsx(de,{variant:"secondary",onClick:()=>C(!0),children:"Поиск"}),c.jsx("span",{className:"text-xs text-muted-foreground",children:"Ctrl+K"})]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(YE,{}),c.jsx("span",{className:"text-xs text-muted-foreground",children:(D==null?void 0:D.role)==="read"?"только просмотр":"полный доступ"}),c.jsx(de,{variant:"secondary",onClick:()=>void R("/admin/logout"),children:"Выйти"})]})]}),c.jsx(Ese,{open:j,onOpen:C,go:h}),c.jsx(RM,{flash:O.flash}),c.jsxs(n6,{value:f,onValueChange:h,children:[c.jsxs(TM,{className:"hidden",children:[c.jsxs(wt,{value:"home",children:["Главная",(O.alerts||[]).length>0?c.jsx(Ne,{variant:"count",className:"ml-2",children:(O.alerts||[]).length}):null]}),c.jsxs(wt,{value:"support",children:["Поддержка",(O.support||[]).length>0?c.jsx(Ne,{variant:"count",className:"ml-2",children:(O.support||[]).length}):null]}),c.jsx(wt,{value:"subs",children:"Подписки"}),c.jsx(wt,{value:"finance",children:"Финансы"}),c.jsx(wt,{value:"promos",children:"Промо"}),c.jsx(wt,{value:"fails",children:"Отказы"}),c.jsx(wt,{value:"audit",children:"Журнал"}),c.jsx(wt,{value:"ads",children:"Реклама"}),c.jsx(wt,{value:"referral",children:"Рефералы"}),c.jsx(wt,{value:"services",children:"Сервисы"}),c.jsx(wt,{value:"cache",children:"Кэш"}),c.jsx(wt,{value:"dht",children:"DHT"}),c.jsx(wt,{value:"monitor",children:"Мониторинг"}),c.jsx(wt,{value:"changes",children:"Изменения"}),c.jsx(wt,{value:"settings",children:"Настройки"}),c.jsx(wt,{value:"security",children:"Доступ"}),c.jsx(wt,{value:"users",children:"Пользователи"}),c.jsx(wt,{value:"devices",children:"Устройства"}),c.jsx(wt,{value:"sources",children:"Источники"}),c.jsx(wt,{value:"rank",children:"Подбор"}),c.jsx(wt,{value:"funnel",children:"Воронка"}),c.jsx(wt,{value:"revenue",children:"Выручка"}),c.jsx(wt,{value:"nuc",children:"NUC"}),c.jsx(wt,{value:"crashes",children:"Сбои"}),c.jsx(wt,{value:"broadcast",children:"Рассылка"}),c.jsx(wt,{value:"versions",children:"Версии"})]}),c.jsx(bt,{value:"support",children:c.jsx(D6,{csrf:O.csrf,threads:O.support||[],onSent:()=>void T(),initialTelegramId:A})}),c.jsxs(bt,{value:"home",className:"space-y-4",children:[c.jsx(Ple,{data:D,csrf:O.csrf||""}),c.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6",children:[[((k=O.stats)==null?void 0:k.accounts)??0,"аккаунтов"],[((I=O.stats)==null?void 0:I.activeSubs)??0,"активных"],[((P=O.stats)==null?void 0:P.payments30)??0,"оплат / 30 дн."],[Math.round(((B=O.stats)==null?void 0:B.revenue30)||0),"₽ / 30 дн."],[((F=O.stats)==null?void 0:F.devicesRefresh)==null?"-":O.stats.devicesRefresh,"новые токены"],[((se=O.stats)==null?void 0:se.devicesLegacy)==null?"-":O.stats.devicesLegacy,"старые токены"]].map(([G,ne])=>c.jsx(ye,{children:c.jsxs(xe,{className:"pt-4",children:[c.jsx("div",{className:"text-2xl font-bold",children:G}),c.jsx("div",{className:"text-xs text-muted-foreground",children:ne})]})},ne))}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Найти"})}),c.jsx(xe,{children:c.jsxs("form",{className:"flex flex-col gap-2 sm:flex-row",onSubmit:G=>{G.preventDefault(),R("/admin/find",{q:p})},children:[c.jsx(Oe,{placeholder:"Telegram / почта / код / идентификатор",value:p,onChange:G=>x(G.target.value)}),c.jsx(de,{type:"submit",children:"Найти"})]})})]}),c.jsx(Tse,{alerts:O.alerts}),c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Быстрое промо"})}),c.jsxs(xe,{className:"flex flex-wrap gap-2",children:[c.jsx(de,{onClick:()=>void R("/admin/promo",{days:1,maxUses:1}),children:"1 день × 1"}),c.jsx(de,{variant:"secondary",onClick:()=>void R("/admin/promo",{days:7,maxUses:10}),children:"7 дней × 10"}),c.jsx(de,{variant:"secondary",onClick:()=>void R("/admin/promo",{days:30,maxUses:1}),children:"30 дней × 1"})]})]}),c.jsx(sH,{run:R}),c.jsx(oH,{events:O.events||[]})]}),c.jsx(bt,{value:"users",children:c.jsx(kle,{users:(D==null?void 0:D.users)||[],go:G=>location.href="/admin/?id="+encodeURIComponent(G)})}),c.jsx(bt,{value:"devices",children:c.jsx(Ile,{rows:(D==null?void 0:D.devices)||[]})}),c.jsxs(bt,{value:"sources",className:"space-y-4",children:[c.jsx(zle,{data:D,csrf:O.csrf||""}),c.jsx(KE,{csrf:O.csrf||"",settings:O.settings||{},secrets:O.secrets,onSaved:()=>void T()})]}),c.jsx(bt,{value:"rank",children:f==="rank"?c.jsx(B8,{csrf:O.csrf||""}):null}),c.jsx(bt,{value:"funnel",children:c.jsx(Lle,{data:D})}),c.jsx(bt,{value:"revenue",children:c.jsx(Ule,{data:D})}),c.jsx(bt,{value:"nuc",children:c.jsx($le,{csrf:O.csrf||""})}),c.jsx(bt,{value:"subs",children:c.jsx(cH,{subs:O.subscriptions||[],filter:m,setFilter:v,csrf:O.csrf||""})}),c.jsxs(bt,{value:"finance",className:"space-y-4",children:[c.jsx(LM,{rows:O.pending||[],run:R,showWho:!0}),c.jsx(hH,{home:O})]}),c.jsx(bt,{value:"promos",children:c.jsx(uH,{run:R,promos:O.promos||[]})}),c.jsx(bt,{value:"fails",children:c.jsx(xH,{})}),c.jsxs(bt,{value:"audit",className:"space-y-4",children:[c.jsxs(ye,{children:[c.jsx(Te,{children:c.jsx(Re,{children:"Откат настройки"})}),c.jsx(xe,{children:c.jsx(Ble,{rows:(D==null?void 0:D.rollbacks)||[],csrf:O.csrf||""})})]}),c.jsx(yH,{})]}),c.jsx(bt,{value:"changes",children:c.jsx(c8,{})}),c.jsx(bt,{value:"settings",children:c.jsx(vH,{run:R,settings:O.settings||{},storage:O.storage,backup:O.backup,secrets:O.secrets})}),c.jsx(bt,{value:"ads",children:f==="ads"?c.jsx(q6,{csrf:O.csrf||""}):null}),c.jsx(bt,{value:"donations",children:c.jsx(t8,{settings:(ue=O.settings)==null?void 0:ue.donate,report:O.donations,run:R})}),c.jsx(bt,{value:"referral",children:c.jsx(i8,{csrf:O.csrf||"",settings:(he=O.settings)==null?void 0:he.referral,journal:O.referralJournal,run:G=>R("/admin/referral",G)})}),c.jsx(bt,{value:"services",children:c.jsx(KE,{csrf:O.csrf||"",settings:O.settings||{},secrets:O.secrets,onSaved:()=>void T()})}),c.jsx(bt,{value:"cache",children:f==="cache"?c.jsx(U8,{csrf:O.csrf||""}):null}),c.jsx(bt,{value:"dht",children:f==="dht"?c.jsx(k8,{csrf:O.csrf||""}):null}),c.jsx(bt,{value:"monitor",children:c.jsx(E8,{csrf:O.csrf||""})}),c.jsxs(bt,{value:"security",className:"space-y-4",children:[c.jsx(bH,{run:R,sessions:O.sessions||[],sessionId:O.sessionId||""}),c.jsx(Gle,{})]}),c.jsx(bt,{value:"crashes",children:c.jsx(Hle,{csrf:O.csrf||""})}),c.jsx(bt,{value:"broadcast",children:c.jsx(Fle,{csrf:O.csrf||""})}),c.jsx(bt,{value:"versions",children:c.jsx(Vle,{data:D})})]}),c.jsx(TE,{})]})]})}const Mse=new G$({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});s5.createRoot(document.getElementById("root")).render(c.jsx(b.StrictMode,{children:c.jsx(b$,{client:Mse,children:c.jsx(SH,{children:c.jsx(Rse,{})})})})); diff --git a/ops/billing/public/assets/index-CCVriGa7.css b/ops/billing/public/assets/index-CF_fVbTJ.css similarity index 87% rename from ops/billing/public/assets/index-CCVriGa7.css rename to ops/billing/public/assets/index-CF_fVbTJ.css index 1d23c199..a1c8fd9b 100644 --- a/ops/billing/public/assets/index-CCVriGa7.css +++ b/ops/billing/public/assets/index-CF_fVbTJ.css @@ -1 +1 @@ -/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--color-red-200:oklch(88.5% .062 18.334);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-950:oklch(26.2% .051 172.552);--color-zinc-50:oklch(98.5% 0 none);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:"IBM Plex Mono", ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:#31342c}html{scrollbar-width:none;-ms-overflow-style:none;height:100%;overflow-y:auto}html::-webkit-scrollbar{width:0;height:0;display:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#f2f2e9;scrollbar-width:none;-ms-overflow-style:none;background:#111310;min-height:100%;margin:0;font-family:Manrope,Segoe UI,system-ui,sans-serif;overflow-y:auto}body::-webkit-scrollbar{width:0;height:0;display:none}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.-left-\[7px\]{left:-7px}.left-1{left:var(--spacing)}.left-1\/2{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-36{height:calc(var(--spacing) * 36)}.h-40{height:calc(var(--spacing) * 40)}.h-48{height:calc(var(--spacing) * 48)}.h-80{height:calc(var(--spacing) * 80)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-0{min-height:0}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-\[2px\]{width:2px}.w-\[240px\]{width:240px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[90\%\]{max-width:90%}.max-w-\[260px\]{max-width:260px}.max-w-\[1200px\]{max-width:1200px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[4px\]{min-width:4px}.min-w-\[6px\]{min-width:6px}.min-w-\[32rem\]{min-width:32rem}.min-w-\[36rem\]{min-width:36rem}.min-w-\[40rem\]{min-width:40rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.75rem}.rounded-md{border-radius:.5rem}.rounded-sm{border-radius:.375rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-amber-500{border-color:var(--color-amber-500)}.border-amber-700\/60{border-color:#b7500099}@supports (color:color-mix(in lab,red,red)){.border-amber-700\/60{border-color:color-mix(in oklab,var(--color-amber-700) 60%,transparent)}}.border-amber-800\/50{border-color:#953d0080}@supports (color:color-mix(in lab,red,red)){.border-amber-800\/50{border-color:color-mix(in oklab,var(--color-amber-800) 50%,transparent)}}.border-border{border-color:#31342c}.border-border\/60{border-color:#31342c99}.border-current{border-color:currentColor}.border-destructive\/50{border-color:#c4483a80}.border-emerald-700\/50{border-color:#00795680}@supports (color:color-mix(in lab,red,red)){.border-emerald-700\/50{border-color:color-mix(in oklab,var(--color-emerald-700) 50%,transparent)}}.border-input{border-color:#31342c}.border-primary{border-color:#f9c400}.border-primary\/40{border-color:#f9c40066}.border-red-900\/50{border-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.border-red-900\/50{border-color:color-mix(in oklab,var(--color-red-900) 50%,transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#f5b700\]{background-color:#f5b700}.bg-amber-300\/20{background-color:#ffd23633}@supports (color:color-mix(in lab,red,red)){.bg-amber-300\/20{background-color:color-mix(in oklab,var(--color-amber-300) 20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-950{background-color:var(--color-amber-950)}.bg-amber-950\/30{background-color:#4619014d}@supports (color:color-mix(in lab,red,red)){.bg-amber-950\/30{background-color:color-mix(in oklab,var(--color-amber-950) 30%,transparent)}}.bg-background{background-color:#111310}.bg-background\/40{background-color:#11131066}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-card{background-color:#181a15}.bg-destructive{background-color:#c4483a}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-950{background-color:var(--color-emerald-950)}.bg-emerald-950\/30{background-color:#002c224d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-950\/30{background-color:color-mix(in oklab,var(--color-emerald-950) 30%,transparent)}}.bg-muted{background-color:#181a15}.bg-primary{background-color:#f9c400}.bg-red-600{background-color:var(--color-red-600)}.bg-red-950{background-color:var(--color-red-950)}.bg-red-950\/30{background-color:#4608094d}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/30{background-color:color-mix(in oklab,var(--color-red-950) 30%,transparent)}}.bg-red-950\/40{background-color:#46080966}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/40{background-color:color-mix(in oklab,var(--color-red-950) 40%,transparent)}}.bg-secondary{background-color:#31342c}.bg-transparent{background-color:#0000}.bg-zinc-700\/60{background-color:#3f3f4699}@supports (color:color-mix(in lab,red,red)){.bg-zinc-700\/60{background-color:color-mix(in oklab,var(--color-zinc-700) 60%,transparent)}}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-950{background-color:var(--color-zinc-950)}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0{padding-top:0}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[12vh\]{padding-top:12vh}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:IBM Plex Mono,ui-monospace,monospace}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-100{color:var(--color-amber-100)}.text-amber-200{color:var(--color-amber-200)}.text-amber-300{color:var(--color-amber-300)}.text-card-foreground{color:#f2f2e9}.text-destructive{color:#c4483a}.text-destructive-foreground{color:#f2f2e9}.text-emerald-100{color:var(--color-emerald-100)}.text-emerald-300{color:var(--color-emerald-300)}.text-foreground{color:#f2f2e9}.text-muted-foreground{color:#b3b8a8}.text-primary{color:#f9c400}.text-primary-foreground{color:#111310}.text-red-200{color:var(--color-red-200)}.text-secondary-foreground{color:#f2f2e9}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-950{color:var(--color-zinc-950)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-amber-700{--tw-ring-color:var(--color-amber-700)}.ring-emerald-800{--tw-ring-color:var(--color-emerald-800)}.ring-red-800{--tw-ring-color:var(--color-red-800)}.ring-zinc-500{--tw-ring-color:var(--color-zinc-500)}.ring-zinc-600{--tw-ring-color:var(--color-zinc-600)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.placeholder\:text-muted-foreground::placeholder{color:#b3b8a8}@media(hover:hover){.hover\:bg-destructive\/90:hover{background-color:#c4483ae6}.hover\:bg-muted\/60:hover{background-color:#181a1599}.hover\:bg-primary\/90:hover{background-color:#f9c400e6}.hover\:bg-secondary:hover{background-color:#31342c}.hover\:bg-secondary\/50:hover{background-color:#31342c80}.hover\:bg-secondary\/80:hover{background-color:#31342ccc}.hover\:bg-zinc-800\/80:hover{background-color:#27272acc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-zinc-800\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-800) 80%,transparent)}}.hover\:text-zinc-50:hover{color:var(--color-zinc-50)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:#f9c400}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=active\]\:bg-\[\#f5b700\][data-state=active]{background-color:#f5b700}.data-\[state\=active\]\:text-\[\#1a1400\][data-state=active]{color:#1a1400}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=inactive\]\:bg-transparent[data-state=inactive]{background-color:#0000}.data-\[state\=inactive\]\:text-zinc-200[data-state=inactive]{color:var(--color-zinc-200)}.data-\[state\=inactive\]\:shadow-none[data-state=inactive]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(min-width:40rem){.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}}@media(min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-56{width:calc(var(--spacing) * 56)}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}}.omp-scroll{scrollbar-width:thin;scrollbar-color:#3d4451 transparent}.omp-scroll::-webkit-scrollbar{width:8px;height:8px}.omp-scroll::-webkit-scrollbar-track{background:0 0}.omp-scroll::-webkit-scrollbar-thumb{background:#3d4451;border-radius:999px}.omp-scroll::-webkit-scrollbar-thumb:hover{background:#535c6e}[cmdk-input]{width:100%;color:inherit;background:0 0;border:0;outline:none;padding:12px 14px}[cmdk-item]{cursor:pointer;border-radius:6px;padding:8px 10px}[cmdk-item][data-selected=true]{background:#31342c}[cmdk-group-heading]{letter-spacing:.04em;text-transform:uppercase;color:#b3b8a8;padding:6px 10px;font-size:11px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} +/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--color-red-200:oklch(88.5% .062 18.334);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-950:oklch(26.2% .051 172.552);--color-zinc-50:oklch(98.5% 0 none);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:"IBM Plex Mono", ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:#31342c}html{scrollbar-width:none;-ms-overflow-style:none;height:100%;overflow-y:auto}html::-webkit-scrollbar{width:0;height:0;display:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#f2f2e9;scrollbar-width:none;-ms-overflow-style:none;background:#111310;min-height:100%;margin:0;font-family:Manrope,Segoe UI,system-ui,sans-serif;overflow-y:auto}body::-webkit-scrollbar{width:0;height:0;display:none}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.-left-\[7px\]{left:-7px}.left-1{left:var(--spacing)}.left-1\/2{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-36{height:calc(var(--spacing) * 36)}.h-40{height:calc(var(--spacing) * 40)}.h-48{height:calc(var(--spacing) * 48)}.h-80{height:calc(var(--spacing) * 80)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-0{min-height:0}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-\[2px\]{width:2px}.w-\[240px\]{width:240px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[90\%\]{max-width:90%}.max-w-\[260px\]{max-width:260px}.max-w-\[1200px\]{max-width:1200px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[4px\]{min-width:4px}.min-w-\[6px\]{min-width:6px}.min-w-\[32rem\]{min-width:32rem}.min-w-\[36rem\]{min-width:36rem}.min-w-\[40rem\]{min-width:40rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.75rem}.rounded-md{border-radius:.5rem}.rounded-sm{border-radius:.375rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-amber-500{border-color:var(--color-amber-500)}.border-amber-700\/60{border-color:#b7500099}@supports (color:color-mix(in lab,red,red)){.border-amber-700\/60{border-color:color-mix(in oklab,var(--color-amber-700) 60%,transparent)}}.border-amber-800\/50{border-color:#953d0080}@supports (color:color-mix(in lab,red,red)){.border-amber-800\/50{border-color:color-mix(in oklab,var(--color-amber-800) 50%,transparent)}}.border-border{border-color:#31342c}.border-border\/60{border-color:#31342c99}.border-current{border-color:currentColor}.border-destructive\/50{border-color:#c4483a80}.border-emerald-700\/50{border-color:#00795680}@supports (color:color-mix(in lab,red,red)){.border-emerald-700\/50{border-color:color-mix(in oklab,var(--color-emerald-700) 50%,transparent)}}.border-input{border-color:#31342c}.border-primary{border-color:#f9c400}.border-primary\/40{border-color:#f9c40066}.border-red-900\/50{border-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.border-red-900\/50{border-color:color-mix(in oklab,var(--color-red-900) 50%,transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#f5b700\]{background-color:#f5b700}.bg-amber-300\/20{background-color:#ffd23633}@supports (color:color-mix(in lab,red,red)){.bg-amber-300\/20{background-color:color-mix(in oklab,var(--color-amber-300) 20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-950{background-color:var(--color-amber-950)}.bg-amber-950\/30{background-color:#4619014d}@supports (color:color-mix(in lab,red,red)){.bg-amber-950\/30{background-color:color-mix(in oklab,var(--color-amber-950) 30%,transparent)}}.bg-background{background-color:#111310}.bg-background\/40{background-color:#11131066}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-card{background-color:#181a15}.bg-destructive{background-color:#c4483a}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-950{background-color:var(--color-emerald-950)}.bg-emerald-950\/30{background-color:#002c224d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-950\/30{background-color:color-mix(in oklab,var(--color-emerald-950) 30%,transparent)}}.bg-muted{background-color:#181a15}.bg-primary{background-color:#f9c400}.bg-red-600{background-color:var(--color-red-600)}.bg-red-950{background-color:var(--color-red-950)}.bg-red-950\/30{background-color:#4608094d}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/30{background-color:color-mix(in oklab,var(--color-red-950) 30%,transparent)}}.bg-red-950\/40{background-color:#46080966}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/40{background-color:color-mix(in oklab,var(--color-red-950) 40%,transparent)}}.bg-secondary{background-color:#31342c}.bg-transparent{background-color:#0000}.bg-zinc-700\/60{background-color:#3f3f4699}@supports (color:color-mix(in lab,red,red)){.bg-zinc-700\/60{background-color:color-mix(in oklab,var(--color-zinc-700) 60%,transparent)}}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-950{background-color:var(--color-zinc-950)}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0{padding-top:0}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[12vh\]{padding-top:12vh}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:IBM Plex Mono,ui-monospace,monospace}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-100{color:var(--color-amber-100)}.text-amber-200{color:var(--color-amber-200)}.text-amber-300{color:var(--color-amber-300)}.text-card-foreground{color:#f2f2e9}.text-destructive{color:#c4483a}.text-destructive-foreground{color:#f2f2e9}.text-emerald-100{color:var(--color-emerald-100)}.text-emerald-300{color:var(--color-emerald-300)}.text-foreground{color:#f2f2e9}.text-muted-foreground{color:#b3b8a8}.text-primary{color:#f9c400}.text-primary-foreground{color:#111310}.text-red-200{color:var(--color-red-200)}.text-secondary-foreground{color:#f2f2e9}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-950{color:var(--color-zinc-950)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-amber-700{--tw-ring-color:var(--color-amber-700)}.ring-emerald-800{--tw-ring-color:var(--color-emerald-800)}.ring-red-800{--tw-ring-color:var(--color-red-800)}.ring-zinc-500{--tw-ring-color:var(--color-zinc-500)}.ring-zinc-600{--tw-ring-color:var(--color-zinc-600)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.placeholder\:text-muted-foreground::placeholder{color:#b3b8a8}@media(hover:hover){.hover\:bg-destructive\/90:hover{background-color:#c4483ae6}.hover\:bg-muted\/60:hover{background-color:#181a1599}.hover\:bg-primary\/90:hover{background-color:#f9c400e6}.hover\:bg-secondary:hover{background-color:#31342c}.hover\:bg-secondary\/50:hover{background-color:#31342c80}.hover\:bg-secondary\/80:hover{background-color:#31342ccc}.hover\:bg-zinc-800\/80:hover{background-color:#27272acc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-zinc-800\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-800) 80%,transparent)}}.hover\:text-zinc-50:hover{color:var(--color-zinc-50)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:#f9c400}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=active\]\:bg-\[\#f5b700\][data-state=active]{background-color:#f5b700}.data-\[state\=active\]\:text-\[\#1a1400\][data-state=active]{color:#1a1400}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=inactive\]\:bg-transparent[data-state=inactive]{background-color:#0000}.data-\[state\=inactive\]\:text-zinc-200[data-state=inactive]{color:var(--color-zinc-200)}.data-\[state\=inactive\]\:shadow-none[data-state=inactive]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(min-width:40rem){.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}}@media(min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-56{width:calc(var(--spacing) * 56)}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}.\[\&_label\]\:mt-1 label{margin-top:var(--spacing)}.\[\&_label\]\:block label{display:block}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}}.omp-scroll{scrollbar-width:thin;scrollbar-color:#3d4451 transparent}.omp-scroll::-webkit-scrollbar{width:8px;height:8px}.omp-scroll::-webkit-scrollbar-track{background:0 0}.omp-scroll::-webkit-scrollbar-thumb{background:#3d4451;border-radius:999px}.omp-scroll::-webkit-scrollbar-thumb:hover{background:#535c6e}[cmdk-input]{width:100%;color:inherit;background:0 0;border:0;outline:none;padding:12px 14px}[cmdk-item]{cursor:pointer;border-radius:6px;padding:8px 10px}[cmdk-item][data-selected=true]{background:#31342c}[cmdk-group-heading]{letter-spacing:.04em;text-transform:uppercase;color:#b3b8a8;padding:6px 10px;font-size:11px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} diff --git a/ops/billing/public/assets/index-CXP6R3pY.js b/ops/billing/public/assets/index-CXP6R3pY.js deleted file mode 100644 index 6ec636f8..00000000 --- a/ops/billing/public/assets/index-CXP6R3pY.js +++ /dev/null @@ -1,240 +0,0 @@ -var d$=Object.defineProperty;var XA=e=>{throw TypeError(e)};var h$=(e,t,n)=>t in e?d$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Kh=(e,t,n)=>h$(e,typeof t!="symbol"?t+"":t,n),sx=(e,t,n)=>t.has(e)||XA("Cannot "+n);var $=(e,t,n)=>(sx(e,t,"read from private field"),n?n.call(e):t.get(e)),Ie=(e,t,n)=>t.has(e)?XA("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),be=(e,t,n,r)=>(sx(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),We=(e,t,n)=>(sx(e,t,"access private method"),n);var Yh=(e,t,n,r)=>({set _(l){be(e,t,l,n)},get _(){return $(e,t,r)}});function m$(e,t){for(var n=0;nr[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const u of o.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();function vR(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ux={exports:{}},ef={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var QA;function v$(){if(QA)return ef;QA=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,l,o){var u=null;if(o!==void 0&&(u=""+o),l.key!==void 0&&(u=""+l.key),"key"in l){o={};for(var c in l)c!=="key"&&(o[c]=l[c])}else o=l;return l=o.ref,{$$typeof:e,type:r,key:u,ref:l!==void 0?l:null,props:o}}return ef.Fragment=t,ef.jsx=n,ef.jsxs=n,ef}var ZA;function g$(){return ZA||(ZA=1,ux.exports=v$()),ux.exports}var f=g$(),cx={exports:{}},Be={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var WA;function p$(){if(WA)return Be;WA=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),x=Symbol.for("react.view_transition"),S=Symbol.iterator;function w(z){return z===null||typeof z!="object"?null:(z=S&&z[S]||z["@@iterator"],typeof z=="function"?z:null)}var j={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,A={};function N(z,Y,le){this.props=z,this.context=Y,this.refs=A,this.updater=le||j}N.prototype.isReactComponent={},N.prototype.setState=function(z,Y){if(typeof z!="object"&&typeof z!="function"&&z!=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,z,Y,"setState")},N.prototype.forceUpdate=function(z){this.updater.enqueueForceUpdate(this,z,"forceUpdate")};function O(){}O.prototype=N.prototype;function T(z,Y,le){this.props=z,this.context=Y,this.refs=A,this.updater=le||j}var R=T.prototype=new O;R.constructor=T,C(R,N.prototype),R.isPureReactComponent=!0;var E=Array.isArray;function D(){}var k={H:null,A:null,T:null,S:null},I=Object.prototype.hasOwnProperty;function P(z,Y,le){var fe=le.ref;return{$$typeof:e,type:z,key:Y,ref:fe!==void 0?fe:null,props:le}}function B(z,Y){return P(z.type,Y,z.props)}function F(z){return typeof z=="object"&&z!==null&&z.$$typeof===e}function se(z){var Y={"=":"=0",":":"=2"};return"$"+z.replace(/[=:]/g,function(le){return Y[le]})}var ue=/\/+/g;function de(z,Y){return typeof z=="object"&&z!==null&&z.key!=null?se(""+z.key):Y.toString(36)}function G(z){switch(z.status){case"fulfilled":return z.value;case"rejected":throw z.reason;default:switch(typeof z.status=="string"?z.then(D,D):(z.status="pending",z.then(function(Y){z.status==="pending"&&(z.status="fulfilled",z.value=Y)},function(Y){z.status==="pending"&&(z.status="rejected",z.reason=Y)})),z.status){case"fulfilled":return z.value;case"rejected":throw z.reason}}throw z}function ne(z,Y,le,fe,De){var te=typeof z;(te==="undefined"||te==="boolean")&&(z=null);var ge=!1;if(z===null)ge=!0;else switch(te){case"bigint":case"string":case"number":ge=!0;break;case"object":switch(z.$$typeof){case e:case t:ge=!0;break;case v:return ge=z._init,ne(ge(z._payload),Y,le,fe,De)}}if(ge)return De=De(z),ge=fe===""?"."+de(z,0):fe,E(De)?(le="",ge!=null&&(le=ge.replace(ue,"$&/")+"/"),ne(De,Y,le,"",function(ut){return ut})):De!=null&&(F(De)&&(De=B(De,le+(De.key==null||z&&z.key===De.key?"":(""+De.key).replace(ue,"$&/")+"/")+ge)),Y.push(De)),1;ge=0;var oe=fe===""?".":fe+":";if(E(z))for(var J=0;J{const t=b.useContext(gR);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},x$=({client:e,children:t})=>(b.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),f.jsx(gR.Provider,{value:e,children:t})),b$={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)};var Sl,Zb,aR,S$=(aR=class{constructor(){Ie(this,Sl,b$);Ie(this,Zb,!1)}setTimeoutProvider(e){be(this,Sl,e)}setTimeout(e,t){return $(this,Sl).setTimeout(e,t)}clearTimeout(e){$(this,Sl).clearTimeout(e)}setInterval(e,t){return $(this,Sl).setInterval(e,t)}clearInterval(e){$(this,Sl).clearInterval(e)}},Sl=new WeakMap,Zb=new WeakMap,aR);const So=new S$;function w$(e){setTimeout(e,0)}const j$=typeof window>"u"||"Deno"in globalThis;function sr(){}function C$(e,t){return typeof e=="function"?e(t):e}function pR(e){return typeof e=="number"&&e>=0&&e!==1/0}function yR(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Mt(e,t){return typeof e=="function"?e(t):e}function eE(e,t){const{type:n="all",exact:r,fetchStatus:l,predicate:o,queryKey:u,stale:c}=e;if(u){if(r){if(t.queryHash!==Jb(u,t.options))return!1}else if(!Du(t.queryKey,u))return!1}if(n!=="all"){const h=t.isActive();if(n==="active"&&!h||n==="inactive"&&h)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||l&&l!==t.state.fetchStatus||o&&!o(t))}function tE(e,t){const{exact:n,status:r,predicate:l,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(n){if(Of(t.options.mutationKey)!==Of(o))return!1}else if(!Du(t.options.mutationKey,o))return!1}return!(r&&t.state.status!==r||l&&!l(t))}function Jb(e,t){return((t==null?void 0:t.queryKeyHashFn)||Of)(e)}function Of(e){return JSON.stringify(e,(t,n)=>C0(n)?Object.keys(n).sort().reduce((r,l)=>(r[l]=n[l],r),{}):n)}function Du(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let r=0;r500)return t;const r=nE(e)&&nE(t);if(!r&&!(C0(e)&&C0(t)))return t;const l=(r?e:Object.keys(e)).length,o=r?t:Object.keys(t),u=o.length,c=r?new Array(u):{};let h=0;for(let m=0;m{So.setTimeout(t,e)})}function _0(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?bR(e,t):t}function A$(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(-n):r}function E$(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,n):r}const eS=Symbol();function SR(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===eS?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function wR(e,t){return typeof e=="function"?e(...t):!!e}const tS=Symbol();function O$(e,t,n,r){let l=!1,o;return Object.defineProperties(e,{[tS]:{value:r},signal:{enumerable:!0,get:()=>(o??(o=t()),l||(l=!0,o.aborted?n():o.addEventListener("abort",n,{once:!0})),o)}}),e}let N$=()=>j$;const nS=()=>N$();var Xf=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ao,wl,bu,lR,T$=(lR=class extends Xf{constructor(){super();Ie(this,Ao);Ie(this,wl);Ie(this,bu);be(this,bu,t=>{if(typeof window<"u"&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){$(this,wl)||this.setEventListener($(this,bu))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,wl))==null||t.call(this),be(this,wl,void 0))}setEventListener(t){var n;be(this,bu,t),(n=$(this,wl))==null||n.call(this),be(this,wl,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){$(this,Ao)!==t&&(be(this,Ao,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof $(this,Ao)=="boolean"?$(this,Ao):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Ao=new WeakMap,wl=new WeakMap,bu=new WeakMap,lR);const rS=new T$,R$=w$;function M$(){let e=[],t=0,n=c=>{c()},r=c=>{c()},l=R$;const o=c=>{t?e.push(c):l(()=>{n(c)})},u=()=>{const c=e;e=[],c.length&&l(()=>{r(()=>{c.forEach(h=>{n(h)})})})};return{batch:c=>{let h;t++;try{h=c()}finally{t--,t||u()}return h},batchCalls:c=>(...h)=>{o(()=>{c(...h)})},schedule:o,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c},setScheduler:c=>{l=c}}}const Mn=M$();var Su,jl,wu,oR,D$=(oR=class extends Xf{constructor(){super();Ie(this,Su,!0);Ie(this,jl);Ie(this,wu);be(this,wu,t=>{if(typeof window<"u"&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){$(this,jl)||this.setEventListener($(this,wu))}onUnsubscribe(){var t;this.hasListeners()||((t=$(this,jl))==null||t.call(this),be(this,jl,void 0))}setEventListener(t){var n;be(this,wu,t),(n=$(this,jl))==null||n.call(this),be(this,jl,t(this.setOnline.bind(this)))}setOnline(t){$(this,Su)!==t&&(be(this,Su,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return $(this,Su)}},Su=new WeakMap,jl=new WeakMap,wu=new WeakMap,oR);const km=new D$;function P$(e){return Math.min(1e3*2**e,3e4)}function jR(e){return(e??"online")==="online"?km.isOnline():!0}var A0=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function CR(e){let t=!1,n=0,r,l="pending",o,u;const c=new Promise((N,O)=>{o=N,u=O});c.catch(sr);const h=()=>l!=="pending",m=N=>{var O;if(!h()){const T=new A0(N);j(T),(O=e.onCancel)==null||O.call(e,T)}},v=()=>{t=!0},p=()=>{t=!1},x=()=>rS.isFocused()&&(e.networkMode==="always"||km.isOnline())&&e.canRun(),S=()=>jR(e.networkMode)&&e.canRun(),w=N=>{h()||(r==null||r(),l="resolved",o(N))},j=N=>{h()||(r==null||r(),l="rejected",u(N))},C=N=>new Promise(O=>{var T;r=R=>{(h()||N())&&O(R)},(T=e.onPause)==null||T.call(e)}).then(()=>{var O;r=void 0,h()||(O=e.onContinue)==null||O.call(e)}),A=()=>{if(h())return;let N;const O=n===0?e.initialPromise:void 0;try{N=O??e.fn()}catch(T){N=Promise.reject(T)}Promise.resolve(N).then(w).catch(T=>{var I;if(h())return;const R=e.retry??(nS()?0:3),E=e.retryDelay??P$,D=typeof E=="function"?E(n,T):E,k=R===!0||typeof R=="number"&&nh()||x()?void 0:C(x)).then(()=>{t?j(T):A()})})};return{promise:c,status:()=>l,cancel:m,continue:()=>(r==null||r(),c),cancelRetry:v,continueRetry:p,canStart:S,start:()=>(S()?A():C(S).then(A),c)}}var Eo,sR,_R=(sR=class{constructor(){Ie(this,Eo)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),pR(this.gcTime)&&be(this,Eo,So.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(nS()?1/0:3e5))}clearGcTimeout(){$(this,Eo)!==void 0&&(So.clearTimeout($(this,Eo)),be(this,Eo,void 0))}},Eo=new WeakMap,sR);function k$(e){return{onFetch:(t,n)=>{var v,p,x,S,w;const r=t.options,l=(x=(p=(v=t.fetchOptions)==null?void 0:v.meta)==null?void 0:p.fetchMore)==null?void 0:x.direction,o=((S=t.state.data)==null?void 0:S.pages)||[],u=((w=t.state.data)==null?void 0:w.pageParams)||[];let c={pages:[],pageParams:[]},h=0;const m=async()=>{let j=!1;const C=t,A=T=>{O$(T,()=>t.signal,()=>j=!0,C[tS])},N=SR(t.options,t.fetchOptions),O=async(T,R,E)=>{if(j)return Promise.reject(t.signal.reason);if(R==null&&T.pages.length)return Promise.resolve(T);const k=(()=>{const F={client:t.client,queryKey:t.queryKey,pageParam:R,direction:E?"backward":"forward",meta:t.options.meta};return A(F),F})(),I=await N(k),{maxPages:P}=t.options,B=E?E$:A$;return{pages:B(T.pages,I,P),pageParams:B(T.pageParams,R,P)}};if(l&&o.length){const T=l==="backward",R=T?I$:iE,E={pages:o,pageParams:u};c=await O(E,R(r,E),T)}else{const T=e??o.length;do{const R=h===0?u[0]===void 0?r.initialPageParam:u[0]:iE(r,c);if(h>0&&R==null)break;c=await O(c,R),h++}while(h{var j,C;return(C=(j=t.options).persister)==null?void 0:C.call(j,m,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=m}}}function iE(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function I$(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var ju,Oo,Cu,Hr,No,hn,ha,Vf,To,li,ua,uR,z$=(uR=class extends _R{constructor(t){super();Ie(this,li);Ie(this,ju);Ie(this,Oo);Ie(this,Cu);Ie(this,Hr);Ie(this,No);Ie(this,hn);Ie(this,ha);Ie(this,Vf);Ie(this,To);be(this,To,!1),be(this,Vf,t.defaultOptions),this.setOptions(t.options),this.observers=[],be(this,No,t.client),be(this,Hr,$(this,No).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,be(this,Oo,lE(this.options)),this.state=t.state??$(this,Oo),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return $(this,ju)}get promise(){var t;return(t=$(this,hn))==null?void 0:t.promise}setOptions(t){if(this.options={...$(this,Vf),...t},t!=null&&t._type&&be(this,ju,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=lE(this.options);n.data!==void 0&&(this.setState(aE(n.data,n.dataUpdatedAt)),be(this,Oo,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&$(this,Hr).remove(this)}setData(t,n){const r=_0(this.state.data,t,this.options);return We(this,li,ua).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t){We(this,li,ua).call(this,{type:"setState",state:t})}cancel(t){var r,l;const n=(r=$(this,hn))==null?void 0:r.promise;return(l=$(this,hn))==null||l.cancel(t),n?n.then(sr).catch(sr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return $(this,Oo)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Mt(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===eS||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.state.data===void 0?!1:this.getObserversCount()>0?this.observers.some(t=>Mt(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!yR(this.state.dataUpdatedAt,t)}onFocus(){var t,n;(t=this.observers.find(r=>r.shouldFetchOnWindowFocus()))==null||t.refetch({cancelRefetch:!1}),(n=$(this,hn))==null||n.continue()}onOnline(){var t,n;(t=this.observers.find(r=>r.shouldFetchOnReconnect()))==null||t.refetch({cancelRefetch:!1}),(n=$(this,hn))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),$(this,Hr).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){const n=this.observers.indexOf(t);n!==-1&&(this.observers.splice(n,1),this.observers.length||($(this,hn)&&($(this,To)||this.state.fetchStatus==="paused"&&this.state.status==="pending"?$(this,hn).cancel({revert:!0}):$(this,hn).cancelRetry()),this.scheduleGc()),$(this,Hr).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||We(this,li,ua).call(this,{type:"invalidate"})}async fetch(t,n){var v,p,x,S;if(this.state.fetchStatus!=="idle"&&((v=$(this,hn))==null?void 0:v.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if($(this,hn)&&$(this,ha))return $(this,hn).continueRetry(),$(this,ha)}if(t&&this.setOptions(t),!this.options.queryFn){const w=this.observers.find(j=>j.options.queryFn);w&&this.setOptions(w.options)}const r=new AbortController,l=w=>{Object.defineProperties(w,{[tS]:{value:r.signal,enumerable:!0},signal:{enumerable:!0,get:()=>(be(this,To,!0),r.signal)}})},o=()=>{const w=SR(this.options,n),C=(()=>{const A={client:$(this,No),queryKey:this.queryKey,meta:this.meta};return l(A),A})();return be(this,To,!1),this.options.persister?this.options.persister(w,C,this):w(C)},c=(()=>{const w={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:$(this,No),state:this.state,fetchFn:o};return l(w),w})();(p=$(this,ju)==="infinite"?k$(this.options.pages):this.options.behavior)==null||p.onFetch(c,this),be(this,Cu,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((x=c.fetchOptions)==null?void 0:x.meta))&&We(this,li,ua).call(this,{type:"fetch",meta:(S=c.fetchOptions)==null?void 0:S.meta});const h=be(this,hn,CR({initialPromise:n==null?void 0:n.initialPromise,fn:c.fetchFn,onCancel:w=>{w instanceof A0&&w.revert&&this.setState({...$(this,Cu),fetchStatus:"idle"}),r.abort()},onFail:(w,j)=>{We(this,li,ua).call(this,{type:"failed",failureCount:w,error:j})},onPause:()=>{We(this,li,ua).call(this,{type:"pause"})},onContinue:()=>{We(this,li,ua).call(this,{type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode,canRun:()=>!0})),m=(async()=>{var w,j,C,A,N,O,T,R;try{const E=await h.promise;if(E===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(E),(j=(w=$(this,Hr).config).onSuccess)==null||j.call(w,E,this),(A=(C=$(this,Hr).config).onSettled)==null||A.call(C,E,this.state.error,this),E}catch(E){if(E instanceof A0){if(E.silent){if($(this,hn)!==h&&$(this,ha))return $(this,ha);throw E}else if(E.revert){if(this.state.data===void 0)throw E;return this.state.data}}throw We(this,li,ua).call(this,{type:"error",error:E}),(O=(N=$(this,Hr).config).onError)==null||O.call(N,E,this),(R=(T=$(this,Hr).config).onSettled)==null||R.call(T,this.state.data,E,this),E}finally{$(this,hn)===h&&(be(this,hn,void 0),be(this,ha,void 0)),this.scheduleGc()}})();return be(this,ha,m),h.start(),m}},ju=new WeakMap,Oo=new WeakMap,Cu=new WeakMap,Hr=new WeakMap,No=new WeakMap,hn=new WeakMap,ha=new WeakMap,Vf=new WeakMap,To=new WeakMap,li=new WeakSet,ua=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...AR(r.data,this.options),fetchMeta:t.meta??null};case"success":const l={...r,...aE(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return be(this,Cu,t.manual?l:void 0),l;case"error":const o=t.error;return{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Mn.batch(()=>{this.observers.slice().forEach(r=>{r.onQueryUpdate()}),$(this,Hr).notify({query:this,type:"updated",action:t})})},uR);function AR(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:jR(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function aE(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function lE(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Yn,Je,Gf,Xn,Ro,_u,ma,qf,Au,Eu,Mo,Do,Cl,Ou,st,pf,E0,O0,N0,T0,R0,M0,D0,P0,cR,L$=(cR=class extends Xf{constructor(t,n){super();Ie(this,st);Ie(this,Yn);Ie(this,Je);Ie(this,Gf);Ie(this,Xn);Ie(this,Ro);Ie(this,_u);Ie(this,ma);Ie(this,qf);Ie(this,Au);Ie(this,Eu);Ie(this,Mo);Ie(this,Do);Ie(this,Cl);Ie(this,Ou,new Set);this.options=n,be(this,Yn,t),be(this,ma,null),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&($(this,Je).addObserver(this),oE($(this,Je),this.options)?We(this,st,pf).call(this):this.updateResult(),We(this,st,R0).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return k0($(this,Je),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return k0($(this,Je),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,We(this,st,M0).call(this),We(this,st,D0).call(this),$(this,Je).removeObserver(this)}setOptions(t){const n=this.options,r=$(this,Je);if(this.options=$(this,Yn).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Mt(this.options.enabled,$(this,Je))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");We(this,st,P0).call(this),$(this,Je).setOptions(this.options),n._defaulted&&!fx(this.options,n)&&$(this,Yn).getQueryCache().notify({type:"observerOptionsUpdated",query:$(this,Je),observer:this});const l=this.hasListeners();l&&sE($(this,Je),r,this.options,n)&&We(this,st,pf).call(this),this.updateResult(),l&&($(this,Je)!==r||Mt(this.options.enabled,$(this,Je))!==Mt(n.enabled,$(this,Je))||Mt(this.options.staleTime,$(this,Je))!==Mt(n.staleTime,$(this,Je)))&&We(this,st,O0).call(this);const o=We(this,st,N0).call(this);l&&($(this,Je)!==r||Mt(this.options.enabled,$(this,Je))!==Mt(n.enabled,$(this,Je))||o!==$(this,Cl))&&We(this,st,T0).call(this,o)}getOptimisticResult(t){const n=$(this,Yn).getQueryCache().build($(this,Yn),t),r=this.createResult(n,t);return fx(this.getCurrentResult(),r)||(be(this,Xn,r),be(this,_u,this.options),be(this,Ro,$(this,Je).state)),r}getCurrentResult(){return $(this,Xn)}trackResult(t,n){return new Proxy(t,{get:(r,l)=>(this.trackProp(l),n==null||n(l),Reflect.get(r,l))})}trackProp(t){$(this,Ou).add(t)}getCurrentQuery(){return $(this,Je)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=$(this,Yn).defaultQueryOptions(t),r=$(this,Yn).getQueryCache().build($(this,Yn),n);let l=()=>{},o;const u=new Promise(c=>{o=c,l=$(this,Yn).getQueryCache().subscribe(h=>{h.type==="updated"&&h.query.queryHash===r.queryHash&&r.state.data!==void 0&&(l(),c(this.createResult(r,n)))})});return Promise.race([r.fetch(n).then(()=>{const c=this.createResult(r,n);return o==null||o(c),c}).finally(()=>{l()}),u])}fetch(t){return We(this,st,pf).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),$(this,Xn)))}createResult(t,n){var E;const r=$(this,Je),l=this.options,o=$(this,Xn),u=$(this,Ro),c=$(this,_u),h=t!==r?t.state:$(this,Gf),{state:m}=t;let v={...m},p=!1,x;if(n._optimisticResults){const D=this.hasListeners(),k=!D&&oE(t,n),I=D&&sE(t,r,n,l);(k||I)&&(v={...v,...AR(m.data,t.options)}),n._optimisticResults==="isRestoring"&&(v.fetchStatus="idle")}let{error:S,errorUpdatedAt:w,status:j}=v;x=v.data;let C=!1;if(n.placeholderData!==void 0&&x===void 0&&j==="pending"){let D;o!=null&&o.isPlaceholderData&&n.placeholderData===(c==null?void 0:c.placeholderData)?(D=o.data,C=!0):D=typeof n.placeholderData=="function"?n.placeholderData((E=$(this,Eu))==null?void 0:E.state.data,$(this,Eu)):n.placeholderData,D!==void 0&&(j="success",x=_0(o==null?void 0:o.data,D,n),p=!0)}if(n.select&&x!==void 0&&!C)if(o&&x===(u==null?void 0:u.data)&&n.select===$(this,qf))x=$(this,Au);else try{be(this,qf,n.select),x=n.select(x),x=_0(o==null?void 0:o.data,x,n),be(this,Au,x),be(this,ma,null)}catch(D){be(this,ma,D)}else x===void 0&&be(this,ma,null);$(this,ma)&&(S=$(this,ma),x=$(this,Au),w=(o==null?void 0:o.error)===S?o.errorUpdatedAt:Date.now(),j="error",p=!1);const A=v.fetchStatus==="fetching",N=j==="pending",O=j==="error",T=N&&A,R=x!==void 0;return{status:j,fetchStatus:v.fetchStatus,isPending:N,isSuccess:j==="success",isError:O,isInitialLoading:T,isLoading:T,data:x,dataUpdatedAt:v.dataUpdatedAt,error:S,errorUpdatedAt:w,failureCount:v.fetchFailureCount,failureReason:v.fetchFailureReason,errorUpdateCount:v.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:v.dataUpdateCount>h.dataUpdateCount||v.errorUpdateCount>h.errorUpdateCount,isFetching:A,isRefetching:A&&!N,isLoadingError:O&&!R,isPaused:v.fetchStatus==="paused",isPlaceholderData:p,isRefetchError:O&&R,isStale:iS(t,n),refetch:this.refetch,isEnabled:Mt(n.enabled,t)!==!1}}updateResult(){const t=$(this,Xn),n=this.createResult($(this,Je),this.options);if(be(this,Ro,$(this,Je).state),be(this,_u,this.options),$(this,Ro).data!==void 0&&be(this,Eu,$(this,Je)),fx(n,t))return;be(this,Xn,n);const l=(()=>{if(!t)return!0;const{notifyOnChangeProps:o}=this.options,u=typeof o=="function"?o():o;if(u==="all"||!u&&!$(this,Ou).size||this.options.throwOnError&&$(this,Xn).error!==t.error)return!0;for(const c of u??$(this,Ou))if($(this,Xn)[c]!==t[c])return!0;return!1})();Mn.batch(()=>{l&&this.listeners.forEach(o=>{o($(this,Xn))}),$(this,Yn).getQueryCache().notify({query:$(this,Je),type:"observerResultsUpdated"})})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&We(this,st,R0).call(this)}},Yn=new WeakMap,Je=new WeakMap,Gf=new WeakMap,Xn=new WeakMap,Ro=new WeakMap,_u=new WeakMap,ma=new WeakMap,qf=new WeakMap,Au=new WeakMap,Eu=new WeakMap,Mo=new WeakMap,Do=new WeakMap,Cl=new WeakMap,Ou=new WeakMap,st=new WeakSet,pf=function(t){We(this,st,P0).call(this);let n=$(this,Je).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(sr)),n},E0=function(t){return!nS()&&Mt(this.options.enabled,$(this,Je))!==!1&&pR(t)},O0=function(){We(this,st,M0).call(this);const t=Mt(this.options.staleTime,$(this,Je));if($(this,Xn).isStale||!We(this,st,E0).call(this,t))return;const n=yR($(this,Xn).dataUpdatedAt,t)+1;be(this,Mo,So.setTimeout(()=>{$(this,Xn).isStale||this.updateResult()},n))},N0=function(){return Mt(this.options.refetchInterval,$(this,Je))??!1},T0=function(t){We(this,st,D0).call(this),be(this,Cl,t),!($(this,Cl)===0||!We(this,st,E0).call(this,$(this,Cl)))&&be(this,Do,So.setInterval(()=>{(this.options.refetchIntervalInBackground||rS.isFocused())&&We(this,st,pf).call(this)},$(this,Cl)))},R0=function(){We(this,st,O0).call(this),We(this,st,T0).call(this,We(this,st,N0).call(this))},M0=function(){$(this,Mo)!==void 0&&(So.clearTimeout($(this,Mo)),be(this,Mo,void 0))},D0=function(){$(this,Do)!==void 0&&(So.clearInterval($(this,Do)),be(this,Do,void 0))},P0=function(){const t=$(this,Yn).getQueryCache().build($(this,Yn),this.options);if(t===$(this,Je))return;const n=$(this,Je);be(this,Je,t),be(this,Gf,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},cR);function U$(e,t){return Mt(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Mt(t.retryOnMount,e)===!1)}function oE(e,t){return U$(e,t)||e.state.data!==void 0&&k0(e,t,t.refetchOnMount)}function k0(e,t,n){if(Mt(t.enabled,e)!==!1&&Mt(t.staleTime,e)!=="static"){const r=Mt(n,e);return r==="always"||r!==!1&&iS(e,t)}return!1}function sE(e,t,n,r){return(e!==t||Mt(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&iS(e,n)}function iS(e,t){return Mt(t.enabled,e)!==!1&&e.isStaleByTime(Mt(t.staleTime,e))}var Kf,Ti,zn,Po,Ri,pl,fR,$$=(fR=class extends _R{constructor(t){super();Ie(this,Ri);Ie(this,Kf);Ie(this,Ti);Ie(this,zn);Ie(this,Po);be(this,Kf,t.client),this.mutationId=t.mutationId,be(this,zn,t.mutationCache),be(this,Ti,[]),this.state=t.state||B$(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){$(this,Ti).includes(t)||($(this,Ti).push(t),this.clearGcTimeout(),$(this,zn).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){be(this,Ti,$(this,Ti).filter(n=>n!==t)),this.scheduleGc(),$(this,zn).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){$(this,Ti).length||(this.state.status==="pending"?this.scheduleGc():$(this,zn).remove(this))}continue(){var t;return((t=$(this,Po))==null?void 0:t.continue())??(this.state.status==="pending"?this.execute(this.state.variables):Promise.resolve())}async execute(t){var c,h,m,v,p,x,S,w,j,C,A,N,O,T,R,E,D,k;const n=()=>{We(this,Ri,pl).call(this,{type:"continue"})},r={client:$(this,Kf),meta:this.options.meta,mutationKey:this.options.mutationKey},l=be(this,Po,CR({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(I,P)=>{We(this,Ri,pl).call(this,{type:"failed",failureCount:I,error:P})},onPause:()=>{We(this,Ri,pl).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>$(this,zn).canRun(this)})),o=this.state.status==="pending",u=!l.canStart();try{if(o)n();else{We(this,Ri,pl).call(this,{type:"pending",variables:t,isPaused:u}),$(this,zn).config.onMutate&&await $(this,zn).config.onMutate(t,this,r);const P=await((h=(c=this.options).onMutate)==null?void 0:h.call(c,t,r));P!==this.state.context&&We(this,Ri,pl).call(this,{type:"pending",context:P,variables:t,isPaused:u})}this.state.isPaused&&l.canStart()&&n();const I=await l.start();return await((v=(m=$(this,zn).config).onSuccess)==null?void 0:v.call(m,I,t,this.state.context,this,r)),await((x=(p=this.options).onSuccess)==null?void 0:x.call(p,I,t,this.state.context,r)),await((w=(S=$(this,zn).config).onSettled)==null?void 0:w.call(S,I,null,this.state.variables,this.state.context,this,r)),await((C=(j=this.options).onSettled)==null?void 0:C.call(j,I,null,t,this.state.context,r)),We(this,Ri,pl).call(this,{type:"success",data:I}),I}catch(I){try{await((N=(A=$(this,zn).config).onError)==null?void 0:N.call(A,I,t,this.state.context,this,r))}catch(P){Promise.reject(P)}try{await((T=(O=this.options).onError)==null?void 0:T.call(O,I,t,this.state.context,r))}catch(P){Promise.reject(P)}try{await((E=(R=$(this,zn).config).onSettled)==null?void 0:E.call(R,void 0,I,this.state.variables,this.state.context,this,r))}catch(P){Promise.reject(P)}try{await((k=(D=this.options).onSettled)==null?void 0:k.call(D,void 0,I,t,this.state.context,r))}catch(P){Promise.reject(P)}throw We(this,Ri,pl).call(this,{type:"error",error:I}),I}finally{$(this,Po)===l&&be(this,Po,void 0),$(this,zn).runNext(this)}}},Kf=new WeakMap,Ti=new WeakMap,zn=new WeakMap,Po=new WeakMap,Ri=new WeakSet,pl=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Mn.batch(()=>{$(this,Ti).forEach(r=>{r.onMutationUpdate(t)}),$(this,zn).notify({mutation:this,type:"updated",action:t})})},fR);function B$(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var _l,oi,Yf,dR,H$=(dR=class extends Xf{constructor(t={}){super();Ie(this,_l);Ie(this,oi);Ie(this,Yf);this.config=t,be(this,_l,new Set),be(this,oi,new Map),be(this,Yf,0)}build(t,n,r){const l=new $$({client:t,mutationCache:this,mutationId:++Yh(this,Yf)._,options:t.defaultMutationOptions(n),state:r});return this.add(l),l}add(t){$(this,_l).add(t);const n=Xh(t);if(typeof n=="string"){const r=$(this,oi).get(n);r?r.push(t):$(this,oi).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if($(this,_l).delete(t)){const n=Xh(t);if(typeof n=="string"){const r=$(this,oi).get(n);if(r)if(r.length>1){const l=r.indexOf(t);l!==-1&&r.splice(l,1)}else r[0]===t&&$(this,oi).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){var r;const n=Xh(t);if(typeof n=="string"){const l=(r=$(this,oi).get(n))==null?void 0:r.find(o=>o.state.status==="pending");return!l||l===t}else return!0}runNext(t){var r,l;const n=Xh(t);return typeof n=="string"?((l=(r=$(this,oi).get(n))==null?void 0:r.find(o=>o!==t&&o.state.isPaused))==null?void 0:l.continue())??Promise.resolve():Promise.resolve()}clear(){Mn.batch(()=>{const t=this.getAll();$(this,_l).clear(),$(this,oi).clear(),t.forEach(n=>{this.notify({type:"removed",mutation:n})})})}getAll(){return Array.from($(this,_l))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>tE(n,r))}findAll(t={}){return this.getAll().filter(n=>tE(t,n))}notify(t){Mn.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Mn.batch(()=>Promise.all(t.map(n=>n.continue().catch(sr))))}},_l=new WeakMap,oi=new WeakMap,Yf=new WeakMap,dR);function Xh(e){var t;return(t=e.options.scope)==null?void 0:t.id}var Mi,hR,F$=(hR=class extends Xf{constructor(t={}){super();Ie(this,Mi);this.config=t,be(this,Mi,new Map)}build(t,n,r){const l=n.queryKey,o=n.queryHash??Jb(l,n);let u=this.get(o);return u||(u=new z$({client:t,queryKey:l,queryHash:o,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(l)}),this.add(u)),u}add(t){$(this,Mi).has(t.queryHash)||($(this,Mi).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){$(this,Mi).get(t.queryHash)===t&&(t.destroy(),$(this,Mi).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Mn.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return $(this,Mi).get(t)}getAll(){return[...$(this,Mi).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>eE(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>eE(t,r)):n}notify(t){Mn.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Mn.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Mn.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Mi=new WeakMap,hR),kt,Al,El,Nu,Tu,Ol,Ru,Mu,mR,V$=(mR=class{constructor(e={}){Ie(this,kt);Ie(this,Al);Ie(this,El);Ie(this,Nu);Ie(this,Tu);Ie(this,Ol);Ie(this,Ru);Ie(this,Mu);be(this,kt,e.queryCache||new F$),be(this,Al,e.mutationCache||new H$),be(this,El,e.defaultOptions||{}),be(this,Nu,new Map),be(this,Tu,new Map),be(this,Ol,0)}mount(){Yh(this,Ol)._++,$(this,Ol)===1&&(be(this,Ru,rS.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,kt).onFocus())})),be(this,Mu,km.subscribe(async e=>{e&&(await this.resumePausedMutations(),$(this,kt).onOnline())})))}unmount(){var e,t;Yh(this,Ol)._--,$(this,Ol)===0&&((e=$(this,Ru))==null||e.call(this),be(this,Ru,void 0),(t=$(this,Mu))==null||t.call(this),be(this,Mu,void 0))}isFetching(e){return $(this,kt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return $(this,Al).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=$(this,kt).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=$(this,kt).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Mt(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return $(this,kt).findAll(e).map(({queryKey:t,state:n})=>[t,n.data])}setQueryData(e,t,n){var u;const r=this.defaultQueryOptions({queryKey:e}),l=(u=$(this,kt).get(r.queryHash))==null?void 0:u.state.data,o=C$(t,l);if(o!==void 0)return $(this,kt).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(e,t,n){return Mn.batch(()=>$(this,kt).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=$(this,kt).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=$(this,kt);Mn.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=$(this,kt);return Mn.batch(()=>{const r=n.findAll(e),l=new Set(r);return r.forEach(o=>{o.reset()}),this.refetchQueries({type:"active",predicate:o=>l.has(o)},t)})}cancelQueries(e,t={}){const n={revert:!0,...t},r=Mn.batch(()=>$(this,kt).findAll(e).map(l=>l.cancel(n)));return Promise.all(r).then(sr).catch(sr)}invalidateQueries(e,t={}){return Mn.batch(()=>($(this,kt).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=Mn.batch(()=>$(this,kt).findAll(e).filter(l=>!l.isDisabled()&&!l.isStatic()).map(l=>{let o=l.fetch(void 0,n);const u=l.state.fetchStatus==="paused";return(!n.throwOnError||u)&&(o=o.catch(sr)),u?Promise.resolve():o}));return Promise.all(r).then(sr)}async query(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=$(this,kt).build(this,t),r=n.isStaleByTime(Mt(t.staleTime,n))?await n.fetch(t):n.state.data,l=t.select;return l?l(r):r}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=$(this,kt).build(this,t);return n.isStaleByTime(Mt(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(sr).catch(sr)}infiniteQuery(e){return e._type="infinite",this.query(e)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(sr).catch(sr)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return km.isOnline()?$(this,Al).resumePausedMutations():Promise.resolve()}getQueryCache(){return $(this,kt)}getMutationCache(){return $(this,Al)}getDefaultOptions(){return $(this,El)}setDefaultOptions(e){be(this,El,e)}setQueryDefaults(e,t){$(this,Nu).set(Of(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...$(this,Nu).values()],n={};return t.forEach(r=>{Du(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){$(this,Tu).set(Of(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...$(this,Tu).values()],n={};return t.forEach(r=>{Du(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...$(this,El).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Jb(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===eS&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...$(this,El).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){$(this,kt).clear(),$(this,Al).clear()}},kt=new WeakMap,Al=new WeakMap,El=new WeakMap,Nu=new WeakMap,Tu=new WeakMap,Ol=new WeakMap,Ru=new WeakMap,Mu=new WeakMap,mR);const ER=b.createContext(!1),G$=()=>b.useContext(ER);ER.Provider;function q$(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const K$=b.createContext(q$()),Y$=()=>b.useContext(K$),X$=(e,t,n)=>{const r=(n==null?void 0:n.state.status)==="error"&&typeof e.throwOnError=="function"?wR(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},Q$=e=>{b.useEffect(()=>{e.clearReset()},[e])},Z$=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:l})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(l&&e.data===void 0||wR(n,[e.error,r])),W$=e=>{if(e.suspense){const n=l=>l==="static"?l:Math.max(l??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...l)=>n(r(...l)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},J$=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,e5=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function t5(e,t,n){const r=G$(),l=Y$(),o=Wb(),u=o.defaultQueryOptions(e),c=o.getQueryCache().get(u.queryHash),h=e.subscribed!==!1;u._optimisticResults=r?"isRestoring":h?"optimistic":void 0,W$(u),X$(u,l,c),Q$(l);const[m]=b.useState(()=>new t(o,u)),v=m.getOptimisticResult(u);b.useEffect(()=>{m.setOptions(u)},[u,m]);const p=!r&&h;if(b.useSyncExternalStore(b.useCallback(x=>{const S=p?m.subscribe(Mn.batchCalls(x)):sr;return m.updateResult(),S},[m,p]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),J$(u,v))throw e5(u,m,l);if(Z$({result:v,errorResetBoundary:l,throwOnError:u.throwOnError,query:c,suspense:u.suspense}))throw v.error;return u.notifyOnChangeProps?v:m.trackResult(v)}function Tv(e,t){return t5(e,L$)}var dx={exports:{}},tf={},hx={exports:{}},mx={};/** - * @license React - * scheduler.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var uE;function n5(){return uE||(uE=1,(function(e){function t(G,ne){var ie=G.length;G.push(ne);e:for(;0>>1,U=G[ce];if(0>>1;cel(ve,ie))zl(Y,ve)?(G[ce]=Y,G[z]=ie,ce=z):(G[ce]=ve,G[ee]=ie,ce=ee);else if(zl(Y,ie))G[ce]=Y,G[z]=ie,ce=z;else break e}}return ne}function l(G,ne){var ie=G.sortIndex-ne.sortIndex;return ie!==0?ie:G.id-ne.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var u=Date,c=u.now();e.unstable_now=function(){return u.now()-c}}var h=[],m=[],v=1,p=null,x=3,S=!1,w=!1,j=!1,C=!1,A=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function T(G){for(var ne=n(m);ne!==null;){if(ne.callback===null)r(m);else if(ne.startTime<=G)r(m),ne.sortIndex=ne.expirationTime,t(h,ne);else break;ne=n(m)}}function R(G){if(j=!1,T(G),!w)if(n(h)!==null)w=!0,E||(E=!0,F());else{var ne=n(m);ne!==null&&de(R,ne.startTime-G)}}var E=!1,D=-1,k=5,I=-1;function P(){return C?!0:!(e.unstable_now()-IG&&P());){var ce=p.callback;if(typeof ce=="function"){p.callback=null,x=p.priorityLevel;var U=ce(p.expirationTime<=G);if(G=e.unstable_now(),typeof U=="function"){p.callback=U,T(G),ne=!0;break t}p===n(h)&&r(h),T(G)}else r(h);p=n(h)}if(p!==null)ne=!0;else{var Ee=n(m);Ee!==null&&de(R,Ee.startTime-G),ne=!1}}break e}finally{p=null,x=ie,S=!1}ne=void 0}}finally{ne?F():E=!1}}}var F;if(typeof O=="function")F=function(){O(B)};else if(typeof MessageChannel<"u"){var se=new MessageChannel,ue=se.port2;se.port1.onmessage=B,F=function(){ue.postMessage(null)}}else F=function(){A(B,0)};function de(G,ne){D=A(function(){G(e.unstable_now())},ne)}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(G){G.callback=null},e.unstable_forceFrameRate=function(G){0>G||125ce?(G.sortIndex=ie,t(m,G),n(h)===null&&G===n(m)&&(j?(N(D),D=-1):j=!0,de(R,ie-ce))):(G.sortIndex=U,t(h,G),w||S||(w=!0,E||(E=!0,F()))),G},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(G){var ne=x;return function(){var ie=x;x=ne;try{return G.apply(this,arguments)}finally{x=ie}}}})(mx)),mx}var cE;function r5(){return cE||(cE=1,hx.exports=n5()),hx.exports}var vx={exports:{}},On={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var fE;function i5(){if(fE)return On;fE=1;var e=Hu();function t(v){var p="https://react.dev/errors/"+v;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),vx.exports=i5(),vx.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var hE;function a5(){if(hE)return tf;hE=1;var e=r5(),t=Hu(),n=OR();function r(i){var a="https://react.dev/errors/"+i;if(1Pe||(i.current=Ke[Pe],Ke[Pe]=null,Pe--)}function mt(i,a){Pe++,Ke[Pe]=i.current,i.current=a}var hi=Tt(null),lc=Tt(null),Ua=Tt(null),pd=Tt(null);function yd(i,a){switch(mt(Ua,a),mt(lc,i),mt(hi,null),a.nodeType){case 9:case 11:i=(i=a.documentElement)&&(i=i.namespaceURI)?iA(i):0;break;default:if(i=a.tagName,a=a.namespaceURI)a=iA(a),i=aA(a,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}Et(hi),mt(hi,i)}function as(){Et(hi),Et(lc),Et(Ua)}function Og(i){var a=i.memoizedState;a!==null&&(qs._currentValue=a.memoizedState,mt(pd,i)),a=hi.current;var s=aA(a,i.type);a!==s&&(mt(lc,i),mt(hi,s))}function xd(i){lc.current===i&&(Et(hi),Et(lc)),pd.current===i&&(Et(pd),qs._currentValue=ut)}var Ng,_w;function $a(i){if(Ng===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);Ng=a&&a[1]||"",_w=-1)":-1g||L[d]!==K[g]){var Z=` -`+L[d].replace(" at new "," at ");return i.displayName&&Z.includes("")&&(Z=Z.replace("",i.displayName)),Z}while(1<=d&&0<=g);break}}}finally{Tg=!1,Error.prepareStackTrace=s}return(s=i?i.displayName||i.name:"")?$a(s):""}function gL(i,a){switch(i.tag){case 26:case 27:case 5:return $a(i.type);case 16:return $a("Lazy");case 13:return i.child!==a&&a!==null?$a("Suspense Fallback"):$a("Suspense");case 19:return $a("SuspenseList");case 0:case 15:return Rg(i.type,!1);case 11:return Rg(i.type.render,!1);case 1:return Rg(i.type,!0);case 31:return $a("Activity");case 30:return $a("ViewTransition");default:return""}}function Aw(i){try{var a="",s=null;do a+=gL(i,s),s=i,i=i.return;while(i);return a}catch(d){return` -Error generating stack: `+d.message+` -`+d.stack}}var Mg=Object.prototype.hasOwnProperty,Dg=e.unstable_scheduleCallback,Pg=e.unstable_cancelCallback,pL=e.unstable_shouldYield,yL=e.unstable_requestPaint,dr=e.unstable_now,xL=e.unstable_getCurrentPriorityLevel,Ew=e.unstable_ImmediatePriority,Ow=e.unstable_UserBlockingPriority,bd=e.unstable_NormalPriority,bL=e.unstable_LowPriority,Nw=e.unstable_IdlePriority,SL=e.log,wL=e.unstable_setDisableYieldValue,oc=null,hr=null;function Ba(i){if(typeof SL=="function"&&wL(i),hr&&typeof hr.setStrictMode=="function")try{hr.setStrictMode(oc,i)}catch{}}var mr=Math.clz32?Math.clz32:_L,jL=Math.log,CL=Math.LN2;function _L(i){return i>>>=0,i===0?32:31-(jL(i)/CL|0)|0}var Sd=256,wd=262144,jd=4194304;function Fl(i){var a=i&42;if(a!==0)return a;switch(i&-i){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 i&-i;case 262144:case 524288:case 1048576:case 2097152:return i&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function Cd(i,a,s){var d=i.pendingLanes;if(d===0)return 0;var g=0,y=i.suspendedLanes,_=i.pingedLanes;i=i.warmLanes;var M=d&134217727;return M!==0?(d=M&~y,d!==0?g=Fl(d):(_&=M,_!==0?g=Fl(_):s||(s=M&~i,s!==0&&(g=Fl(s))))):(M=d&~y,M!==0?g=Fl(M):_!==0?g=Fl(_):s||(s=d&~i,s!==0&&(g=Fl(s)))),g===0?0:a!==0&&a!==g&&(a&y)===0&&(y=g&-g,s=a&-a,y>=s||y===32&&(s&4194048)!==0)?a:g}function sc(i,a){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&a)===0}function Tw(i,a){(a&8)!==0&&(a|=a&32);var s=i.entangledLanes;if(s!==0)for(i=i.entanglements,s&=a;0s;s++)a.push(i);return a}function uc(i,a){i.pendingLanes|=a,a!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function EL(i,a,s,d,g,y){var _=i.pendingLanes;i.pendingLanes=s,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=s,i.entangledLanes&=s,i.errorRecoveryDisabledLanes&=s,i.shellSuspendCounter=0;var M=i.entanglements,L=i.expirationTimes,K=i.hiddenUpdates;for(s=_&~s;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Gg=!1;if(Xi)try{var hc={};Object.defineProperty(hc,"passive",{get:function(){Gg=!0}}),window.addEventListener("test",hc,hc),window.removeEventListener("test",hc,hc)}catch{Gg=!1}var Ha=null,qg=null,Td=null;function ej(){if(Td)return Td;var i,a=qg,s=a.length,d,g="value"in Ha?Ha.value:Ha.textContent,y=g.length;for(i=0;i=gc),lj=" ",oj=!1;function sj(i,a){switch(i){case"keyup":return u4.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function uj(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var ms=!1;function f4(i,a){switch(i){case"compositionend":return uj(a);case"keypress":return a.which!==32?null:(oj=!0,lj);case"textInput":return i=a.data,i===lj&&oj?null:i;default:return null}}function d4(i,a){if(ms)return i==="compositionend"||!Zg&&sj(i,a)?(i=ej(),Td=qg=Ha=null,ms=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1"u")return null;try{return i.activeElement||i.body}catch{return i.body}}function pj(i){for(;i&&i.firstChild;)i=i.firstChild;return i}function yj(i,a){var s=pj(i);i=0;for(var d;s;){if(s.nodeType===3){if(d=i+s.textContent.length,i<=a&&d>=a)return{node:s,offset:a-i};i=d}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=pj(s)}}function xj(i,a){return i&&a?i===a?!0:i&&i.nodeType===3?!1:a&&a.nodeType===3?xj(i,a.parentNode):"contains"in i?i.contains(a):i.compareDocumentPosition?!!(i.compareDocumentPosition(a)&16):!1:!1}function bj(i){i=i!=null&&i.ownerDocument!=null&&i.ownerDocument.defaultView!=null?i.ownerDocument.defaultView:window;for(var a=ep(i.document);a instanceof i.HTMLIFrameElement;){try{var s=typeof a.contentWindow.location.href=="string"}catch{s=!1}if(s)i=a.contentWindow;else break;a=ep(i.document)}return a}function tp(i){var a=i&&i.nodeName&&i.nodeName.toLowerCase();return a&&(a==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||a==="textarea"||i.contentEditable==="true")}var b4=Xi&&"documentMode"in document&&11>=document.documentMode,vs=null,np=null,bc=null,rp=!1;function Sj(i,a,s){var d=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;rp||vs==null||vs!==ep(d)||(d=vs,"selectionStart"in d&&tp(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),bc&&xc(bc,d)||(bc=d,d=kh(np,"onSelect"),0>=_,g-=_,vi=1<<32-mr(a)+g|s<ze?(Yt=Me,Me=null):Yt=Me.sibling;var tt=V(q,Me,X[ze],re);if(tt===null){Me===null&&(Me=Yt);break}i&&Me&&tt.alternate===null&&a(q,Me),H=y(tt,H,ze),Ze===null?we=tt:Ze.sibling=tt,Ze=tt,Me=Yt}if(ze===X.length)return s(q,Me),Ve&&Ji(q,ze),we;if(Me===null){for(;zeze?(Yt=Me,Me=null):Yt=Me.sibling;var hl=V(q,Me,tt.value,re);if(hl===null){Me===null&&(Me=Yt);break}i&&Me&&hl.alternate===null&&a(q,Me),H=y(hl,H,ze),Ze===null?we=hl:Ze.sibling=hl,Ze=hl,Me=Yt}if(tt.done)return s(q,Me),Ve&&Ji(q,ze),we;if(Me===null){for(;!tt.done;ze++,tt=X.next())tt=ae(q,tt.value,re),tt!==null&&(H=y(tt,H,ze),Ze===null?we=tt:Ze.sibling=tt,Ze=tt);return Ve&&Ji(q,ze),we}for(Me=d(Me);!tt.done;ze++,tt=X.next())tt=Q(Me,q,ze,tt.value,re),tt!==null&&(i&&(Yt=tt.alternate,Yt!==null&&Me.delete(Yt.key===null?ze:Yt.key)),H=y(tt,H,ze),Ze===null?we=tt:Ze.sibling=tt,Ze=tt);return i&&Me.forEach(function(f$){return a(q,f$)}),Ve&&Ji(q,ze),we}function Fe(q,H,X,re){if(typeof X=="object"&&X!==null&&X.type===B&&X.key===null&&X.props.ref===void 0&&(X=X.props.children),typeof X=="object"&&X!==null){switch(X.$$typeof){case I:e:{for(var we=X.key;H!==null;){if(H.key===we){if(we=X.type,we===B){if(H.tag===7){s(q,H.sibling),re=g(H,X.props.children),Ya(re,X),re.return=q,q=re;break e}}else if(H.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===U&&no(we)===H.type){s(q,H.sibling),re=g(H,X.props),Ya(re,X),re.return=q,q=re;break e}s(q,H);break}else a(q,H);H=H.sibling}X.type===B?(re=Xl(X.props.children,q.mode,re,X.key),Ya(re,X),re.return=q,q=re):(re=$d(X.type,X.key,X.props,null,q.mode,re),Ya(re,X),re.return=q,q=re)}return _(q);case P:e:{for(we=X.key;H!==null;){if(H.key===we)if(H.tag===4&&H.stateNode.containerInfo===X.containerInfo&&H.stateNode.implementation===X.implementation){s(q,H.sibling),re=g(H,X.children||[]),re.return=q,q=re;break e}else{s(q,H);break}else a(q,H);H=H.sibling}re=cp(X,q.mode,re),re.return=q,q=re}return _(q);case U:return X=no(X),Fe(q,H,X,re)}if(ge(X))return pe(q,H,X,re);if(fe(X)){if(we=fe(X),typeof we!="function")throw Error(r(150));return X=we.call(X),Ae(q,H,X,re)}if(typeof X.then=="function")return Fe(q,H,Qd(X),re);if(X.$$typeof===de)return Fe(q,H,qd(q,X),re);Zd(q,X)}return typeof X=="string"&&X!==""||typeof X=="number"||typeof X=="bigint"?(X=""+X,H!==null&&H.tag===6?(s(q,H.sibling),re=g(H,X),re.return=q,q=re):(s(q,H),re=up(X,q.mode,re),re.return=q,q=re),_(q)):s(q,H)}return function(q,H,X,re){try{Ac=0;var we=Fe(q,H,X,re);return Cs=null,we}catch(Me){if(Me===js||Me===Yd)throw Me;var Ze=nr(29,Me,null,q.mode);return Ze.lanes=re,Ze.return=q,Ze}finally{}}}var io=Gj(!0),qj=Gj(!1),Xa=!1;function bp(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Sp(i,a){i=i.updateQueue,a.updateQueue===i&&(a.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,callbacks:null})}function Qa(i){return{lane:i,tag:0,payload:null,callback:null,next:null}}function Za(i,a,s){var d=i.updateQueue;if(d===null)return null;if(d=d.shared,(lt&2)!==0){var g=d.pending;return g===null?a.next=a:(a.next=g.next,g.next=a),d.pending=a,a=Ud(i),Nj(i,null,s),a}return Ld(i,d,a,s),Ud(i)}function Ec(i,a,s){if(a=a.updateQueue,a!==null&&(a=a.shared,(s&4194048)!==0)){var d=a.lanes;d&=i.pendingLanes,s|=d,a.lanes=s,Dw(i,s)}}function wp(i,a){var s=i.updateQueue,d=i.alternate;if(d!==null&&(d=d.updateQueue,s===d)){var g=null,y=null;if(s=s.firstBaseUpdate,s!==null){do{var _={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};y===null?g=y=_:y=y.next=_,s=s.next}while(s!==null);y===null?g=y=a:y=y.next=a}else g=y=a;s={baseState:d.baseState,firstBaseUpdate:g,lastBaseUpdate:y,shared:d.shared,callbacks:d.callbacks},i.updateQueue=s;return}i=s.lastBaseUpdate,i===null?s.firstBaseUpdate=a:i.next=a,s.lastBaseUpdate=a}var jp=!1;function Oc(){if(jp){var i=ws;if(i!==null)throw i}}function Nc(i,a,s,d){jp=!1;var g=i.updateQueue;Xa=!1;var y=g.firstBaseUpdate,_=g.lastBaseUpdate,M=g.shared.pending;if(M!==null){g.shared.pending=null;var L=M,K=L.next;L.next=null,_===null?y=K:_.next=K,_=L;var Z=i.alternate;Z!==null&&(Z=Z.updateQueue,M=Z.lastBaseUpdate,M!==_&&(M===null?Z.firstBaseUpdate=K:M.next=K,Z.lastBaseUpdate=L))}if(y!==null){var ae=g.baseState;_=0,Z=K=L=null,M=y;do{var V=M.lane&-536870913,Q=V!==M.lane;if(Q?(Qe&V)===V:(d&V)===V){V!==0&&V===eo&&(jp=!0),Z!==null&&(Z=Z.next={lane:0,tag:M.tag,payload:M.payload,callback:null,next:null});e:{var pe=i,Ae=M;V=a;var Fe=s;switch(Ae.tag){case 1:if(pe=Ae.payload,typeof pe=="function"){ae=pe.call(Fe,ae,V);break e}ae=pe;break e;case 3:pe.flags=pe.flags&-65537|128;case 0:if(pe=Ae.payload,V=typeof pe=="function"?pe.call(Fe,ae,V):pe,V==null)break e;ae=D({},ae,V);break e;case 2:Xa=!0}}V=M.callback,V!==null&&(i.flags|=64,Q&&(i.flags|=8192),Q=g.callbacks,Q===null?g.callbacks=[V]:Q.push(V))}else Q={lane:V,tag:M.tag,payload:M.payload,callback:M.callback,next:null},Z===null?(K=Z=Q,L=ae):Z=Z.next=Q,_|=V;if(M=M.next,M===null){if(M=g.shared.pending,M===null)break;Q=M,M=Q.next,Q.next=null,g.lastBaseUpdate=Q,g.shared.pending=null}}while(!0);Z===null&&(L=ae),g.baseState=L,g.firstBaseUpdate=K,g.lastBaseUpdate=Z,y===null&&(g.shared.lanes=0),il|=_,i.lanes=_,i.memoizedState=ae}}function Kj(i,a){if(typeof i!="function")throw Error(r(191,i));i.call(a)}function Yj(i,a){var s=i.callbacks;if(s!==null)for(i.callbacks=null,i=0;iy?y:8;var _=oe.T,M={};M.types=_!==null?_.types:null,oe.T=M,Fp(i,!1,a,s);try{var L=g(),K=oe.S;if(K!==null&&K(M,L),L!==null&&typeof L=="object"&&typeof L.then=="function"){var Z=R4(L,d);Dc(i,a,Z,Sr(i))}else Dc(i,a,d,Sr(i))}catch(ae){Dc(i,a,{then:function(){},status:"rejected",reason:ae},Sr())}finally{J.p=y,_!==null&&M.types!==null&&(_.types=M.types),oe.T=_}}function z4(){}function Bp(i,a,s,d){if(i.tag!==5)throw Error(r(476));var g=AC(i).queue;_C(i,g,a,ut,s===null?z4:function(){return EC(i),s(d)})}function AC(i){var a=i.memoizedState;if(a!==null)return a;a={memoizedState:ut,baseState:ut,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ra,lastRenderedState:ut},next:null};var s={};return a.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ra,lastRenderedState:s},next:null},i.memoizedState=a,i=i.alternate,i!==null&&(i.memoizedState=a),a}function EC(i){var a=AC(i);a.next===null&&(a=i.alternate.memoizedState),Dc(i,a.next.queue,{},Sr())}function Hp(){return jn(qs)}function OC(){return Ht().memoizedState}function NC(){return Ht().memoizedState}function L4(i){for(var a=i.return;a!==null;){switch(a.tag){case 24:case 3:var s=Sr();i=Qa(s);var d=Za(a,i,s);d!==null&&(lr(d,a,s),Ec(d,a,s)),a={cache:gp()},i.payload=a;return}a=a.return}}function U4(i,a,s){var d=Sr();s={lane:d,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},oh(i)?RC(a,s):(s=op(i,a,s,d),s!==null&&(lr(s,i,d),MC(s,a,d)))}function TC(i,a,s){var d=Sr();Dc(i,a,s,d)}function Dc(i,a,s,d){var g={lane:d,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(oh(i))RC(a,g);else{var y=i.alternate;if(i.lanes===0&&(y===null||y.lanes===0)&&(y=a.lastRenderedReducer,y!==null))try{var _=a.lastRenderedState,M=y(_,s);if(g.hasEagerState=!0,g.eagerState=M,gr(M,_))return Ld(i,a,g,0),St===null&&zd(),!1}catch{}finally{}if(s=op(i,a,g,d),s!==null)return lr(s,i,d),MC(s,a,d),!0}return!1}function Fp(i,a,s,d){if(d={lane:2,revertLane:Dy(),gesture:null,action:d,hasEagerState:!1,eagerState:null,next:null},oh(i)){if(a)throw Error(r(479))}else a=op(i,s,d,2),a!==null&&lr(a,i,2)}function oh(i){var a=i.alternate;return i===He||a!==null&&a===He}function RC(i,a){_s=eh=!0;var s=i.pending;s===null?a.next=a:(a.next=s.next,s.next=a),i.pending=a}function MC(i,a,s){if((s&4194048)!==0){var d=a.lanes;d&=i.pendingLanes,s|=d,a.lanes=s,Dw(i,s)}}var sh={readContext:jn,use:rh,useCallback:zt,useContext:zt,useEffect:zt,useImperativeHandle:zt,useLayoutEffect:zt,useInsertionEffect:zt,useMemo:zt,useReducer:zt,useRef:zt,useState:zt,useDebugValue:zt,useDeferredValue:zt,useTransition:zt,useSyncExternalStore:zt,useId:zt,useHostTransitionStatus:zt,useFormState:zt,useActionState:zt,useOptimistic:zt,useMemoCache:zt,useCacheRefresh:zt,useEffectEvent:zt},DC={readContext:jn,use:rh,useCallback:function(i,a){return Gn().memoizedState=[i,a===void 0?null:a],i},useContext:jn,useEffect:gC,useImperativeHandle:function(i,a,s){s=s!=null?s.concat([i]):null,ah(4194308,4,bC.bind(null,a,i),s)},useLayoutEffect:function(i,a){return ah(4194308,4,i,a)},useInsertionEffect:function(i,a){ah(4,2,i,a)},useMemo:function(i,a){var s=Gn();a=a===void 0?null:a;var d=i();if(ao){Ba(!0);try{i()}finally{Ba(!1)}}return s.memoizedState=[d,a],d},useReducer:function(i,a,s){var d=Gn();if(s!==void 0){var g=s(a);if(ao){Ba(!0);try{s(a)}finally{Ba(!1)}}}else g=a;return d.memoizedState=d.baseState=g,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:g},d.queue=i,i=i.dispatch=U4.bind(null,He,i),[d.memoizedState,i]},useRef:function(i){var a=Gn();return i={current:i},a.memoizedState=i},useState:function(i){i=Ip(i);var a=i.queue,s=TC.bind(null,He,a);return a.dispatch=s,[i.memoizedState,s]},useDebugValue:Up,useDeferredValue:function(i,a){var s=Gn();return $p(s,i,a)},useTransition:function(){var i=Ip(!1);return i=_C.bind(null,He,i.queue,!0,!1),Gn().memoizedState=i,[!1,i]},useSyncExternalStore:function(i,a,s){var d=He,g=Gn();if(Ve){if(s===void 0)throw Error(r(407));s=s()}else{if(s=a(),St===null)throw Error(r(349));(Qe&127)!==0||eC(d,a,s)}g.memoizedState=s;var y={value:s,getSnapshot:a};return g.queue=y,gC(nC.bind(null,d,y,i),[i]),d.flags|=2048,Es(9,{destroy:void 0},tC.bind(null,d,y,s,a),null),s},useId:function(){var i=Gn(),a=St.identifierPrefix;if(Ve){var s=gi,d=vi;s=(d&~(1<<32-mr(d)-1)).toString(32)+s,a="_"+a+"R_"+s,s=th++,0<\/script>",y=y.removeChild(y.firstChild);break;case"select":y=typeof d.is=="string"?_.createElement("select",{is:d.is}):_.createElement("select"),d.multiple?y.multiple=!0:d.size&&(y.size=d.size);break;default:y=typeof d.is=="string"?_.createElement(g,{is:d.is}):_.createElement(g)}}y[wn]=a,y[tr]=d;e:for(_=a.child;_!==null;){if(_.tag===5||_.tag===6)y.appendChild(_.stateNode);else if(_.tag!==4&&_.tag!==27&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===a)break e;for(;_.sibling===null;){if(_.return===null||_.return===a)break e;_=_.return}_.sibling.return=_.return,_=_.sibling}a.stateNode=y;e:switch(En(y,g,d),g){case"button":case"input":case"select":case"textarea":d=!!d.autoFocus;break e;case"img":d=!0;break e;default:d=!1}d&&aa(a)}}return At(a),a.subtreeFlags&=-33554433,ny(a,a.type,i===null?null:i.memoizedProps,a.pendingProps,s),null;case 6:if(i&&a.stateNode!=null)i.memoizedProps!==d&&aa(a);else{if(typeof d!="string"&&a.stateNode===null)throw Error(r(166));if(i=Ua.current,Ss(a)){if(i=a.stateNode,s=a.memoizedProps,d=null,g=cn,g!==null)switch(g.tag){case 27:case 5:d=g.memoizedProps}i[wn]=a,i=!!(i.nodeValue===s||d!==null&&d.suppressHydrationWarning===!0||nA(i.nodeValue,s)),i||qa(a,!0)}else i=qc(i).createTextNode(d),i[wn]=a,a.stateNode=i}return At(a),null;case 31:if(s=a.memoizedState,i===null||i.memoizedState!==null){if(d=Ss(a),s!==null){if(i===null){if(!d)throw Error(r(318));if(i=a.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(r(557));i[wn]=a}else Ql(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;At(a),i=!1}else s=hp(),i!==null&&i.memoizedState!==null&&(i.memoizedState.hydrationErrors=s),i=!0;if(!i)return a.flags&256?(pr(a),a):(pr(a),null);if((a.flags&128)!==0)throw Error(r(558))}return At(a),null;case 13:if(d=a.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(g=Ss(a),d!==null&&d.dehydrated!==null){if(i===null){if(!g)throw Error(r(318));if(g=a.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(r(317));g[wn]=a}else Ql(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;At(a),g=!1}else g=hp(),i!==null&&i.memoizedState!==null&&(i.memoizedState.hydrationErrors=g),g=!0;if(!g)return a.flags&256?(pr(a),a):(pr(a),null)}return pr(a),(a.flags&128)!==0?(a.lanes=s,a):(s=d!==null,i=i!==null&&i.memoizedState!==null,s&&(d=a.child,g=null,d.alternate!==null&&d.alternate.memoizedState!==null&&d.alternate.memoizedState.cachePool!==null&&(g=d.alternate.memoizedState.cachePool.pool),y=null,d.memoizedState!==null&&d.memoizedState.cachePool!==null&&(y=d.memoizedState.cachePool.pool),y!==g&&(d.flags|=2048)),s!==i&&s&&(a.child.flags|=8192),mh(a,a.updateQueue),At(a),null);case 4:return as(),i===null&&zy(a.stateNode.containerInfo),a.flags|=67108864,At(a),null;case 10:return ta(a.type),At(a),null;case 19:if(Ep(a),d=a.memoizedState,d===null)return At(a),null;if(g=(a.flags&128)!==0,y=d.rendering,y===null)if(g)kc(d,!1);else{if(Lt!==0||i!==null&&(i.flags&128)!==0)for(i=a.child;i!==null;){if(y=Jd(i),y!==null){for(a.flags|=128,kc(d,!1),i=y.updateQueue,a.updateQueue=i,mh(a,i),a.subtreeFlags=0,i=s,s=a.child;s!==null;)Tj(s,i),s=s.sibling;return Tc(a,_n.current&1|2),Ve&&Ji(a,d.treeForkCount),a.child}i=i.sibling}d.tail!==null&&dr()>Ah&&(a.flags|=128,g=!0,kc(d,!1),a.lanes=4194304)}else{if(!g)if(i=Jd(y),i!==null){if(a.flags|=128,g=!0,i=i.updateQueue,a.updateQueue=i,mh(a,i),kc(d,!0),d.tail===null&&d.tailMode!=="collapsed"&&d.tailMode!=="visible"&&!y.alternate&&!Ve)return At(a),null}else 2*dr()-d.renderingStartTime>Ah&&s!==536870912&&(a.flags|=128,g=!0,kc(d,!1),a.lanes=4194304);d.isBackwards?(y.sibling=a.child,a.child=y):(i=d.last,i!==null?i.sibling=y:a.child=y,d.last=y)}if(d.tail!==null){i=d.tail;e:{for(s=i;s!==null;){if(s.alternate!==null){s=!1;break e}s=s.sibling}s=!0}return d.rendering=i,d.tail=i.sibling,d.renderingStartTime=dr(),i.sibling=null,y=_n.current,y=g?y&1|2:y&1,d.tailMode==="visible"||d.tailMode==="collapsed"||!s||Ve?Tc(a,y):(s=y,mt(Cn,a),mt(_n,s),kn===null&&(kn=a)),Ve&&Ji(a,d.treeForkCount),i}return At(a),null;case 22:case 23:return pr(a),_p(),d=a.memoizedState!==null,i!==null?i.memoizedState!==null!==d&&(a.flags|=8192):d&&(a.flags|=8192),d?(s&536870912)!==0&&(a.flags&128)===0&&(At(a),a.subtreeFlags&6&&(a.flags|=8192)):At(a),s=a.updateQueue,s!==null&&mh(a,s.retryQueue),s=null,i!==null&&i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(s=i.memoizedState.cachePool.pool),d=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(d=a.memoizedState.cachePool.pool),d!==s&&(a.flags|=2048),i!==null&&Et(to),null;case 24:return s=null,i!==null&&(s=i.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),ta(Gt),At(a),null;case 25:return null;case 30:return a.flags|=33554432,At(a),null}throw Error(r(156,a.tag))}function q4(i,a){switch(fp(a),a.tag){case 1:return i=a.flags,i&65536?(a.flags=i&-65537|128,a):null;case 3:return ta(Gt),as(),i=a.flags,(i&65536)!==0&&(i&128)===0?(a.flags=i&-65537|128,a):null;case 26:case 27:case 5:return xd(a),null;case 31:if(a.memoizedState!==null){if(pr(a),a.alternate===null)throw Error(r(340));Ql()}return i=a.flags,i&65536?(a.flags=i&-65537|128,a):null;case 13:if(pr(a),i=a.memoizedState,i!==null&&i.dehydrated!==null){if(a.alternate===null)throw Error(r(340));Ql()}return i=a.flags,i&65536?(a.flags=i&-65537|128,a):null;case 19:return Ep(a),i=a.flags,i&65536?(a.flags=i&-65537|128,i=a.memoizedState,i!==null&&(i.rendering=null,i.tail=null),a.flags|=4,a):null;case 4:return as(),null;case 10:return ta(a.type),null;case 22:case 23:return pr(a),_p(),i!==null&&Et(to),i=a.flags,i&65536?(a.flags=i&-65537|128,a):null;case 24:return ta(Gt),null;case 25:return null;default:return null}}function i_(i,a){switch(fp(a),a.tag){case 3:ta(Gt),as();break;case 26:case 27:case 5:xd(a);break;case 4:as();break;case 31:a.memoizedState!==null&&pr(a);break;case 13:pr(a);break;case 19:Ep(a);break;case 10:ta(a.type);break;case 22:case 23:pr(a),_p(),i!==null&&Et(to);break;case 24:ta(Gt)}}function Ic(i,a){try{var s=a.updateQueue,d=s!==null?s.lastEffect:null;if(d!==null){var g=d.next;s=g;do{if((s.tag&i)===i){d=void 0;var y=s.create,_=s.inst;d=y(),_.destroy=d}s=s.next}while(s!==g)}}catch(M){gt(a,a.return,M)}}function tl(i,a,s){try{var d=a.updateQueue,g=d!==null?d.lastEffect:null;if(g!==null){var y=g.next;d=y;do{if((d.tag&i)===i){var _=d.inst,M=_.destroy;if(M!==void 0){_.destroy=void 0,g=a;var L=s,K=M;try{K()}catch(Z){gt(g,L,Z)}}}d=d.next}while(d!==y)}}catch(Z){gt(a,a.return,Z)}}function a_(i){var a=i.updateQueue;if(a!==null){var s=i.stateNode;try{Yj(a,s)}catch(d){gt(i,i.return,d)}}}function l_(i,a,s){s.props=lo(i.type,i.memoizedProps),s.state=i.memoizedState;try{s.componentWillUnmount()}catch(d){gt(i,a,d)}}function pi(i,a){try{var s=i.ref;if(s!==null){switch(i.tag){case 26:case 27:case 5:var d=i.stateNode;break;case 30:var g=i.stateNode,y=Qi(i.memoizedProps,g);(g.ref===null||g.ref.name!==y)&&(g.ref=hA(y)),d=g.ref;break;case 7:if(i.stateNode===null){var _=new wr(i);p(i.child,!1,IU,_,void 0,void 0),i.stateNode=_}d=i.stateNode;break;default:d=i.stateNode}typeof s=="function"?i.refCleanup=s(d):s.current=d}}catch(M){gt(i,a,M)}}function An(i,a){var s=i.ref,d=i.refCleanup;if(s!==null)if(typeof d=="function")try{d()}catch(g){gt(i,a,g)}finally{i.refCleanup=null,i=i.alternate,i!=null&&(i.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(g){gt(i,a,g)}else s.current=null}function vh(i,a){if((i.tag===5||i.tag===27||i.tag===6)&&i.alternate===null&&a!==null)for(var s=0;s title"))),En(d,a,s),d[wn]=i,un(d),a=d;break e;case"link":if(y=TA("link","href",g).get(a+(s.href||""))){for(_=0;_Fe&&(_=Fe,Fe=Ae,Ae=_);var q=yj(M,Ae),H=yj(M,Fe);if(q&&H&&(Q.rangeCount!==1||Q.anchorNode!==q.node||Q.anchorOffset!==q.offset||Q.focusNode!==H.node||Q.focusOffset!==H.offset)){var X=ae.createRange();X.setStart(q.node,q.offset),Q.removeAllRanges(),Ae>Fe?(Q.addRange(X),Q.extend(H.node,H.offset)):(X.setEnd(H.node,H.offset),Q.addRange(X))}}}}for(ae=[],Q=M;Q=Q.parentNode;)Q.nodeType===1&&ae.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof M.focus=="function"&&M.focus(),M=0;Ms?32:s,oe.T=null,s=jy,jy=null;var y=ii,_=ji;if(Pt=0,co=ii=null,ji=0,(lt&6)!==0)throw Error(r(331));var M=lt;if(lt|=4,N_(y.current),A_(y,y.current,_,s),lt=M,Fc(0,!1),hr&&typeof hr.onPostCommitFiberRoot=="function")try{hr.onPostCommitFiberRoot(oc,y)}catch{}return!0}finally{J.p=g,oe.T=d,V_(i,a)}}function G_(i,a,s){a=Dr(s,a),a=qp(i.stateNode,a,2),i=Za(i,a,2),i!==null&&(uc(i,2),Ci(i))}function gt(i,a,s){if(i.tag===3)G_(i,i,s);else for(;a!==null;){if(a.tag===3){G_(a,i,s);break}else if(a.tag===1){var d=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof d.componentDidCatch=="function"&&(al===null||!al.has(d))){i=Dr(s,i),s=BC(2),d=Za(a,s,2),d!==null&&(HC(s,d,a,i),uc(d,2),Ci(d));break}}a=a.return}}function Ty(i,a,s){var d=i.pingCache;if(d===null){d=i.pingCache=new Q4;var g=new Set;d.set(a,g)}else g=d.get(a),g===void 0&&(g=new Set,d.set(a,g));g.has(s)||(by=!0,g.add(s),i=iU.bind(null,i,a,s),a.then(i,i))}function iU(i,a,s){var d=i.pingCache;d!==null&&d.delete(a),i.pingedLanes|=i.suspendedLanes&s,i.warmLanes&=~s,St===i&&(Qe&s)===s&&((Lt===4||Lt===3&&(Qe&62914560)===Qe&&300>dr()-_h)&&(lt&2)===0?Ls(i,0):Ch|=s,Ds===Qe&&(Ds=0)),Ci(i)}function q_(i,a){a===0&&(a=Rw()),i=Yl(i,a),i!==null&&(uc(i,a),Ci(i))}function aU(i){var a=i.memoizedState,s=0;a!==null&&(s=a.retryLane),q_(i,s)}function lU(i,a){var s=0;switch(i.tag){case 31:case 13:var d=i.stateNode,g=i.memoizedState;g!==null&&(s=g.retryLane);break;case 19:d=i.stateNode;break;case 22:d=i.stateNode._retryCache;break;default:throw Error(r(314))}d!==null&&d.delete(a),q_(i,s)}function oU(i,a){return Dg(i,a)}var $s=null,Bs=null,Ry=!1,Dh=!1,My=!1,ol=0;function Ci(i){i!==Bs&&i.next===null&&(Bs===null?$s=Bs=i:Bs=Bs.next=i),Dh=!0,Ry||(Ry=!0,uU())}function Fc(i,a){if(!My&&Dh){My=!0;do for(var s=!1,d=$s;d!==null;){if(i!==0){var g=d.pendingLanes;if(g===0)var y=0;else{var _=d.suspendedLanes,M=d.pingedLanes;y=(1<<31-mr(42|i)+1)-1,y&=g&~(_&~M),y=y&201326741?y&201326741|1:y?y|2:0}y!==0&&(s=!0,Q_(d,y))}else y=Qe,y=Cd(d,d===St?y:0,d.cancelPendingCommit!==null||d.timeoutHandle!==-1),(y&3)===0||sc(d,y)||(s=!0,Q_(d,y));d=d.next}while(s);My=!1}}function sU(){K_()}function K_(){Dh=Ry=!1;var i=0;ol!==0&&bU()&&(i=ol);for(var a=dr(),s=null,d=$s;d!==null;){var g=d.next,y=Y_(d,a);y===0?(d.next=null,s===null?$s=g:s.next=g,g===null&&(Bs=s)):(s=d,(i!==0||(y&3)!==0)&&(Dh=!0)),d=g}Pt!==0&&Pt!==5||Fc(i),ol!==0&&(ol=0)}function Y_(i,a){for(var s=i.suspendedLanes,d=i.pingedLanes,g=i.expirationTimes,y=i.pendingLanes&-62914561;0M)break;var Z=L.transferSize,ae=L.initiatorType;Z&&rA(ae)&&(L=L.responseEnd,_+=Z*(LLh){Ae.length=pe;break}X=new Promise(AU.bind(X)),Ae.push(X)}}}if(0"u"?null:document;function AA(i,a,s){var d=Fs;if(d&&typeof a=="string"&&a){var g=Rr(a);g='link[rel="'+i+'"][href="'+g+'"]',typeof s=="string"&&(g+='[crossorigin="'+s+'"]'),_A.has(g)||(_A.add(g),i={rel:i,crossOrigin:s,href:a},d.querySelector(g)===null&&(a=d.createElement("link"),En(a,"link",i),un(a),d.head.appendChild(a)))}}function GU(i){oa.D(i),AA("dns-prefetch",i,null)}function qU(i,a){oa.C(i,a),AA("preconnect",i,a)}function KU(i,a,s){oa.L(i,a,s);var d=Fs;if(d&&i&&a){var g='link[rel="preload"][as="'+Rr(a)+'"]';a==="image"&&s&&s.imageSrcSet?(g+='[imagesrcset="'+Rr(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(g+='[imagesizes="'+Rr(s.imageSizes)+'"]')):g+='[href="'+Rr(i)+'"]';var y=g;switch(a){case"style":y=Vs(i);break;case"script":y=Gs(i)}if(!(Ur.has(y)||(i=D({rel:"preload",href:a==="image"&&s&&s.imageSrcSet?void 0:i,as:a},s),Ur.set(y,i),d.querySelector(g)!==null||a==="style"&&d.querySelector(Yc(y))||a==="script"&&d.querySelector(Xc(y))))){var _=d.createElement("link");En(_,"link",i),a==="style"&&(_[_d]=!0,_.onload=_.onerror=function(){Uw(_)}),un(_),d.head.appendChild(_)}}}function YU(i,a){oa.m(i,a);var s=Fs;if(s&&i){var d=a&&typeof a.as=="string"?a.as:"script",g='link[rel="modulepreload"][as="'+Rr(d)+'"][href="'+Rr(i)+'"]',y=g;switch(d){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":y=Gs(i)}if(!Ur.has(y)&&(i=D({rel:"modulepreload",href:i},a),Ur.set(y,i),s.querySelector(g)===null)){switch(d){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Xc(y)))return}d=s.createElement("link"),En(d,"link",i),un(d),s.head.appendChild(d)}}}function XU(i,a,s){oa.S(i,a,s);var d=Fs;if(d&&i){var g=ss(d).hoistableStyles,y=Vs(i);a=a||"default";var _=g.get(y);if(!_){var M={loading:0,preload:null};if(_=d.querySelector(Yc(y)))M.loading=5;else{i=D({rel:"stylesheet",href:i,"data-precedence":a},s),(s=Ur.get(y))&&Jy(i,s);var L=_=d.createElement("link");un(L),En(L,"link",i),L._p=new Promise(function(K,Z){L.onload=K,L.onerror=Z}),L.addEventListener("load",function(){M.loading|=1}),L.addEventListener("error",function(){M.loading|=2}),M.loading|=4,Ih(_,a,d)}_={type:"stylesheet",instance:_,count:1,state:M},g.set(y,_)}}}function QU(i,a){oa.X(i,a);var s=Fs;if(s&&i){var d=ss(s).hoistableScripts,g=Gs(i),y=d.get(g);y||(y=s.querySelector(Xc(g)),y||(i=D({src:i,async:!0},a),(a=Ur.get(g))&&ex(i,a),y=s.createElement("script"),un(y),En(y,"link",i),s.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},d.set(g,y))}}function ZU(i,a){oa.M(i,a);var s=Fs;if(s&&i){var d=ss(s).hoistableScripts,g=Gs(i),y=d.get(g);y||(y=s.querySelector(Xc(g)),y||(i=D({src:i,async:!0,type:"module"},a),(a=Ur.get(g))&&ex(i,a),y=s.createElement("script"),un(y),En(y,"link",i),s.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},d.set(g,y))}}function EA(i,a,s,d){var g=(g=Ua.current)?Kc(g):null;if(!g)throw Error(r(446));switch(i){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(s=Vs(s.href),a=ss(g).hoistableStyles,d=a.get(s),d||(d={type:"style",instance:null,count:0,state:null},a.set(s,d)),d):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){i=Vs(s.href);var y=ss(g).hoistableStyles,_=y.get(i);if(_||(g=g.ownerDocument||g,_={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},y.set(i,_),(y=g.querySelector(Yc(i)))?y._p||(_.instance=y,_.state.loading=5):(y=Ur.get(i),y||(y={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},Ur.set(i,y)),WU(g,i,y,_.state))),a&&d===null)throw Error(r(528,""));return _}if(a&&d!==null)throw Error(r(529,""));return null;case"script":return a=s.async,s=s.src,typeof s=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(s=Gs(s),a=ss(g).hoistableScripts,d=a.get(s),d||(d={type:"script",instance:null,count:0,state:null},a.set(s,d)),d):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,i))}}function Vs(i){return'href="'+Rr(i)+'"'}function Yc(i){return'link[rel="stylesheet"]['+i+"]"}function OA(i){return D({},i,{"data-precedence":i.precedence,precedence:null})}function WU(i,a,s,d){if(a=i.querySelector('link[rel="preload"][as="style"]['+a+"]")){if(a[_d]!==!0){d.loading=1;return}}else a=i.createElement("link"),a[_d]=!0,a.onload=a.onerror=Uw.bind(null,a),En(a,"link",s),un(a),i.head.appendChild(a);d.preload=a,a.addEventListener("load",function(){return d.loading|=1}),a.addEventListener("error",function(){return d.loading|=2})}function Gs(i){return'[src="'+Rr(i)+'"]'}function Xc(i){return"script[async]"+i}function NA(i,a,s){if(a.count++,a.instance===null)switch(a.type){case"style":var d=i.querySelector('style[data-href~="'+Rr(s.href)+'"]');if(d)return a.instance=d,un(d),d;var g=D({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return d=(i.ownerDocument||i).createElement("style"),un(d),En(d,"style",g),Ih(d,s.precedence,i),a.instance=d;case"stylesheet":g=Vs(s.href);var y=i.querySelector(Yc(g));if(y)return a.state.loading|=4,a.instance=y,un(y),y;d=OA(s),(g=Ur.get(g))&&Jy(d,g),y=(i.ownerDocument||i).createElement("link"),un(y);var _=y;return _._p=new Promise(function(M,L){_.onload=M,_.onerror=L}),En(y,"link",d),a.state.loading|=4,Ih(y,s.precedence,i),a.instance=y;case"script":return y=Gs(s.src),(g=i.querySelector(Xc(y)))?(a.instance=g,un(g),g):(d=s,(g=Ur.get(y))&&(d=D({},s),ex(d,g)),i=i.ownerDocument||i,g=i.createElement("script"),un(g),En(g,"link",d),i.head.appendChild(g),a.instance=g);case"void":return null;default:throw Error(r(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(d=a.instance,a.state.loading|=4,Ih(d,s.precedence,i));return a.instance}function Ih(i,a,s){for(var d=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=d.length?d[d.length-1]:null,y=g,_=0;_ title"):null)}function JU(i,a,s){if(s===1||a.itemProp!=null)return!1;switch(i){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return i=a.disabled,typeof a.precedence=="string"&&i==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function RA(i,a){return i==="img"&&a.src!=null&&a.src!==""&&a.onLoad==null&&a.loading!=="lazy"}function MA(i){return!(i.type==="stylesheet"&&(i.state.loading&3)===0)}function DA(i){return(i.width||100)*(i.height||100)*(typeof devicePixelRatio=="number"?devicePixelRatio:1)*.25}function PA(i,a){typeof a.decode=="function"&&(i.imgCount++,a.complete||(i.imgBytes+=DA(a),i.suspenseyImages.push(a)),i=n$.bind(i),a.decode().then(i,i))}function e$(i,a,s,d){if(s.type==="stylesheet"&&(typeof d.media!="string"||matchMedia(d.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var g=Vs(d.href),y=a.querySelector(Yc(g));if(y){a=y._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(i.count++,i=Qc.bind(i),a.then(i,i)),s.state.loading|=4,s.instance=y,un(y);return}y=a.ownerDocument||a,d=OA(d),(g=Ur.get(g))&&Jy(d,g),y=y.createElement("link"),un(y);var _=y;_._p=new Promise(function(M,L){_.onload=M,_.onerror=L}),En(y,"link",d),s.instance=y}i.stylesheets===null&&(i.stylesheets=new Map),i.stylesheets.set(s,a),(a=s.state.preload)&&(s.state.loading&3)===0&&(i.count++,s=Qc.bind(i),a.addEventListener("load",s),a.addEventListener("error",s))}}var Lh=0;function t$(i,a){return i.stylesheets&&i.count===0&&$h(i,i.stylesheets),0Lh?50:800)+a);return i.unsuspend=s,function(){i.unsuspend=null,clearTimeout(d),clearTimeout(g)}}:null}function kA(i){if(i.count===0&&(i.imgCount===0||!i.waitingForImages)){if(i.stylesheets)$h(i,i.stylesheets);else if(i.unsuspend){var a=i.unsuspend;i.unsuspend=null,a()}}}function Qc(){this.count--,kA(this)}function n$(){this.imgCount--,kA(this)}var Uh=null;function $h(i,a){i.stylesheets=null,i.unsuspend!==null&&(i.count++,Uh=new Map,a.forEach(r$,i),Uh=null,Qc.call(i))}function r$(i,a){if(!(a.state.loading&4)){var s=Uh.get(i);if(s)var d=s.get(null);else{s=new Map,Uh.set(i,s);for(var g=i.querySelectorAll("link[data-precedence],style[data-precedence]"),y=0;y"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),dx.exports=a5(),dx.exports}var o5=l5();function NR(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;ttypeof e=="boolean"?`${e}`:e===0?"0":e,gE=Ct,aS=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return gE(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:l,defaultVariants:o}=t,u=Object.keys(l).map(m=>{const v=n==null?void 0:n[m],p=o==null?void 0:o[m];if(v===null)return null;const x=vE(v)||vE(p);return l[m][x]}),c=n&&Object.entries(n).reduce((m,v)=>{let[p,x]=v;return x===void 0||(m[p]=x),m},{}),h=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((m,v)=>{let{class:p,className:x,...S}=v;return Object.entries(S).every(w=>{let[j,C]=w;return Array.isArray(C)?C.includes({...o,...c}[j]):{...o,...c}[j]===C})?[...m,p,x]:m},[]);return gE(e,u,h,n==null?void 0:n.class,n==null?void 0:n.className)},s5=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r({classGroupId:e,validator:t}),TR=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Im="-",pE=[],c5="arbitrary..",f5=e=>{const t=h5(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return d5(u);const c=u.split(Im),h=c[0]===""&&c.length>1?1:0;return RR(c,h,t)},getConflictingClassGroupIds:(u,c)=>{if(c){const h=r[u],m=n[u];return h?m?s5(m,h):h:m||pE}return n[u]||pE}}},RR=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const l=e[t],o=n.nextPart.get(l);if(o){const m=RR(e,t+1,o);if(m)return m}const u=n.validators;if(u===null)return;const c=t===0?e.join(Im):e.slice(t).join(Im),h=u.length;for(let m=0;me.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?c5+r:void 0})(),h5=e=>{const{theme:t,classGroups:n}=e;return m5(n,t)},m5=(e,t)=>{const n=TR();for(const r in e){const l=e[r];lS(l,n,r,t)}return n},lS=(e,t,n,r)=>{const l=e.length;for(let o=0;o{if(typeof e=="string"){g5(e,t,n);return}if(typeof e=="function"){p5(e,t,n,r);return}y5(e,t,n,r)},g5=(e,t,n)=>{const r=e===""?t:MR(t,e);r.classGroupId=n},p5=(e,t,n,r)=>{if(x5(e)){lS(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(u5(n,e))},y5=(e,t,n,r)=>{const l=Object.entries(e),o=l.length;for(let u=0;u{let n=e;const r=t.split(Im),l=r.length;for(let o=0;o"isThemeGetter"in e&&e.isThemeGetter===!0,b5=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const l=(o,u)=>{n[o]=u,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(o){let u=n[o];if(u!==void 0)return u;if((u=r[o])!==void 0)return l(o,u),u},set(o,u){o in n?n[o]=u:l(o,u)}}},I0="!",yE=":",S5=[],xE=(e,t,n,r,l)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:l}),w5=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=l=>{const o=[];let u=0,c=0,h=0,m;const v=l.length;for(let j=0;jh?m-h:void 0;return xE(o,S,x,w)};if(t){const l=t+yE,o=r;r=u=>u.startsWith(l)?o(u.slice(l.length)):xE(S5,!1,u,void 0,!0)}if(n){const l=r;r=o=>n({className:o,parseClassName:l})}return r},j5=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let l=[];for(let o=0;o0&&(l.sort(),r.push(...l),l=[]),r.push(u)):l.push(u)}return l.length>0&&(l.sort(),r.push(...l)),r}},C5=e=>({cache:b5(e.cacheSize),parseClassName:w5(e),sortModifiers:j5(e),postfixLookupClassGroupIds:_5(e),...f5(e)}),_5=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let r=0;r{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:l,sortModifiers:o,postfixLookupClassGroupIds:u}=t,c=[],h=e.trim().split(A5);let m="";for(let v=h.length-1;v>=0;v-=1){const p=h[v],{isExternal:x,modifiers:S,hasImportantModifier:w,baseClassName:j,maybePostfixModifierPosition:C}=n(p);if(x){m=p+(m.length>0?" "+m:m);continue}let A=!!C,N;if(A){const D=j.substring(0,C);N=r(D);const k=N&&u[N]?r(j):void 0;k&&k!==N&&(N=k,A=!1)}else N=r(j);if(!N){if(!A){m=p+(m.length>0?" "+m:m);continue}if(N=r(j),!N){m=p+(m.length>0?" "+m:m);continue}A=!1}const O=S.length===0?"":S.length===1?S[0]:o(S).join(":"),T=w?O+I0:O,R=T+N;if(c.indexOf(R)>-1)continue;c.push(R);const E=l(N,A);for(let D=0;D0?" "+m:m)}return m},O5=(...e)=>{let t=0,n,r,l="";for(;t{if(typeof e=="string")return e;let t,n="";for(let r=0;r{let n,r,l,o;const u=h=>{const m=t.reduce((v,p)=>p(v),e());return n=C5(m),r=n.cache.get,l=n.cache.set,o=c,c(h)},c=h=>{const m=r(h);if(m)return m;const v=E5(h,n);return l(h,v),v};return o=u,(...h)=>o(O5(...h))},T5=[],en=e=>{const t=n=>n[e]||T5;return t.isThemeGetter=!0,t.themeKey=e,t},PR=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,kR=/^\((?:(\w[\w-]*):)?(.+)\)$/i,R5=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,M5=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,D5=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,P5=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,k5=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,I5=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ml=e=>R5.test(e),Ge=e=>!!e&&!Number.isNaN(Number(e)),_i=e=>!!e&&Number.isInteger(Number(e)),gx=e=>e.endsWith("%")&&Ge(e.slice(0,-1)),sa=e=>M5.test(e),IR=()=>!0,z5=e=>D5.test(e)&&!P5.test(e),oS=()=>!1,L5=e=>k5.test(e),U5=e=>I5.test(e),$5=e=>!je(e)&&!Ce(e),B5=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),H5=e=>Ul(e,UR,oS),je=e=>PR.test(e),ho=e=>Ul(e,$R,z5),bE=e=>Ul(e,Q5,Ge),F5=e=>Ul(e,HR,IR),V5=e=>Ul(e,BR,oS),SE=e=>Ul(e,zR,oS),G5=e=>Ul(e,LR,U5),Qh=e=>Ul(e,FR,L5),Ce=e=>kR.test(e),nf=e=>Wo(e,$R),q5=e=>Wo(e,BR),wE=e=>Wo(e,zR),K5=e=>Wo(e,UR),Y5=e=>Wo(e,LR),Zh=e=>Wo(e,FR,!0),X5=e=>Wo(e,HR,!0),Ul=(e,t,n)=>{const r=PR.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Wo=(e,t,n=!1)=>{const r=kR.exec(e);return r?r[1]?t(r[1]):n:!1},zR=e=>e==="position"||e==="percentage",LR=e=>e==="image"||e==="url",UR=e=>e==="length"||e==="size"||e==="bg-size",$R=e=>e==="length",Q5=e=>e==="number",BR=e=>e==="family-name",HR=e=>e==="number"||e==="weight",FR=e=>e==="shadow",Z5=()=>{const e=en("color"),t=en("font"),n=en("text"),r=en("font-weight"),l=en("tracking"),o=en("leading"),u=en("breakpoint"),c=en("container"),h=en("spacing"),m=en("radius"),v=en("shadow"),p=en("inset-shadow"),x=en("text-shadow"),S=en("drop-shadow"),w=en("blur"),j=en("perspective"),C=en("aspect"),A=en("ease"),N=en("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],R=()=>[...T(),Ce,je],E=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto","contain","none"],k=()=>[Ce,je,h],I=()=>[ml,"full","auto",...k()],P=()=>[_i,"none","subgrid",Ce,je],B=()=>["auto",{span:["full",_i,Ce,je]},_i,Ce,je],F=()=>[_i,"auto",Ce,je],se=()=>["auto","min","max","fr",Ce,je],ue=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],de=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...k()],ne=()=>[ml,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...k()],ie=()=>[c,ml,"screen","full","dvw","lvw","svw","min","max","fit",...k()],ce=()=>[ml,"screen","full","lh","dvh","lvh","svh","min","max","fit",...k()],U=()=>[e,Ce,je],Ee=()=>[...T(),wE,SE,{position:[Ce,je]}],ee=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ve=()=>["auto","cover","contain",K5,H5,{size:[Ce,je]}],z=()=>[gx,nf,ho],Y=()=>["","none","full",m,Ce,je],le=()=>["",Ge,nf,ho],fe=()=>["solid","dashed","dotted","double"],De=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],te=()=>[Ge,gx,wE,SE],ge=()=>["","none",w,Ce,je],oe=()=>["none",Ge,Ce,je],J=()=>["none",Ge,Ce,je],ut=()=>[Ge,Ce,je],Ke=()=>[ml,"full",...k()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[sa],breakpoint:[sa],color:[IR],container:[sa],"drop-shadow":[sa],ease:["in","out","in-out"],font:[$5],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[sa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[sa],shadow:[sa],spacing:["px",Ge],text:[sa],"text-shadow":[sa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ml,je,Ce,C]}],container:["container"],"container-type":[{"@container":["","normal","size",Ce,je]}],"container-named":[B5],columns:[{columns:[Ge,"auto",je,Ce,c]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:R()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:I()}],"inset-x":[{"inset-x":I()}],"inset-y":[{"inset-y":I()}],start:[{"inset-s":I(),start:I()}],end:[{"inset-e":I(),end:I()}],"inset-bs":[{"inset-bs":I()}],"inset-be":[{"inset-be":I()}],top:[{top:I()}],right:[{right:I()}],bottom:[{bottom:I()}],left:[{left:I()}],visibility:["visible","invisible","collapse"],z:[{z:[_i,"auto",Ce,je]}],basis:[{basis:[ml,"full","auto",c,...k()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ge,ml,"auto","initial","none",je]}],grow:[{grow:["",Ge,Ce,je]}],shrink:[{shrink:["",Ge,Ce,je]}],order:[{order:[_i,"first","last","none",Ce,je]}],"grid-cols":[{"grid-cols":P()}],"col-start-end":[{col:B()}],"col-start":[{"col-start":F()}],"col-end":[{"col-end":F()}],"grid-rows":[{"grid-rows":P()}],"row-start-end":[{row:B()}],"row-start":[{"row-start":F()}],"row-end":[{"row-end":F()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":se()}],"auto-rows":[{"auto-rows":se()}],gap:[{gap:k()}],"gap-x":[{"gap-x":k()}],"gap-y":[{"gap-y":k()}],"justify-content":[{justify:[...ue(),"normal"]}],"justify-items":[{"justify-items":[...de(),"normal"]}],"justify-self":[{"justify-self":["auto",...de()]}],"align-content":[{content:["normal",...ue()]}],"align-items":[{items:[...de(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...de(),{baseline:["","last"]}]}],"place-content":[{"place-content":ue()}],"place-items":[{"place-items":[...de(),"baseline"]}],"place-self":[{"place-self":["auto",...de()]}],p:[{p:k()}],px:[{px:k()}],py:[{py:k()}],ps:[{ps:k()}],pe:[{pe:k()}],pbs:[{pbs:k()}],pbe:[{pbe:k()}],pt:[{pt:k()}],pr:[{pr:k()}],pb:[{pb:k()}],pl:[{pl:k()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mbs:[{mbs:G()}],mbe:[{mbe:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":k()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":k()}],"space-y-reverse":["space-y-reverse"],size:[{size:ne()}],"inline-size":[{inline:["auto",...ie()]}],"min-inline-size":[{"min-inline":["auto",...ie()]}],"max-inline-size":[{"max-inline":["none",...ie()]}],"block-size":[{block:["auto",...ce()]}],"min-block-size":[{"min-block":["auto",...ce()]}],"max-block-size":[{"max-block":["none",...ce()]}],w:[{w:[c,"screen",...ne()]}],"min-w":[{"min-w":[c,"screen","none",...ne()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[u]},...ne()]}],h:[{h:["screen","lh",...ne()]}],"min-h":[{"min-h":["screen","lh","none",...ne()]}],"max-h":[{"max-h":["screen","lh","none",...ne()]}],"font-size":[{text:["base",n,nf,ho]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,X5,F5]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",gx,je]}],"font-family":[{font:[q5,V5,t]}],"font-features":[{"font-features":[je]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,Ce,je]}],"line-clamp":[{"line-clamp":[Ge,"none",Ce,bE]}],leading:[{leading:["none",o,...k()]}],"list-image":[{"list-image":["none",Ce,je]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,je]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:U()}],"text-color":[{text:U()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ge,"from-font","auto",Ce,ho]}],"text-decoration-color":[{decoration:U()}],"underline-offset":[{"underline-offset":[Ge,"auto",Ce,je]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:k()}],"tab-size":[{tab:[_i,Ce,je]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,je]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,je]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ee()}],"bg-repeat":[{bg:ee()}],"bg-size":[{bg:ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},_i,Ce,je],radial:["",Ce,je],conic:["",_i,Ce,je]},Y5,G5]}],"bg-color":[{bg:U()}],"gradient-from-pos":[{from:z()}],"gradient-via-pos":[{via:z()}],"gradient-to-pos":[{to:z()}],"gradient-from":[{from:U()}],"gradient-via":[{via:U()}],"gradient-to":[{to:U()}],rounded:[{rounded:Y()}],"rounded-s":[{"rounded-s":Y()}],"rounded-e":[{"rounded-e":Y()}],"rounded-t":[{"rounded-t":Y()}],"rounded-r":[{"rounded-r":Y()}],"rounded-b":[{"rounded-b":Y()}],"rounded-l":[{"rounded-l":Y()}],"rounded-ss":[{"rounded-ss":Y()}],"rounded-se":[{"rounded-se":Y()}],"rounded-ee":[{"rounded-ee":Y()}],"rounded-es":[{"rounded-es":Y()}],"rounded-tl":[{"rounded-tl":Y()}],"rounded-tr":[{"rounded-tr":Y()}],"rounded-br":[{"rounded-br":Y()}],"rounded-bl":[{"rounded-bl":Y()}],"border-w":[{border:le()}],"border-w-x":[{"border-x":le()}],"border-w-y":[{"border-y":le()}],"border-w-s":[{"border-s":le()}],"border-w-e":[{"border-e":le()}],"border-w-bs":[{"border-bs":le()}],"border-w-be":[{"border-be":le()}],"border-w-t":[{"border-t":le()}],"border-w-r":[{"border-r":le()}],"border-w-b":[{"border-b":le()}],"border-w-l":[{"border-l":le()}],"divide-x":[{"divide-x":le()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":le()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...fe(),"hidden","none"]}],"divide-style":[{divide:[...fe(),"hidden","none"]}],"border-color":[{border:U()}],"border-color-x":[{"border-x":U()}],"border-color-y":[{"border-y":U()}],"border-color-s":[{"border-s":U()}],"border-color-e":[{"border-e":U()}],"border-color-bs":[{"border-bs":U()}],"border-color-be":[{"border-be":U()}],"border-color-t":[{"border-t":U()}],"border-color-r":[{"border-r":U()}],"border-color-b":[{"border-b":U()}],"border-color-l":[{"border-l":U()}],"divide-color":[{divide:U()}],"outline-style":[{outline:[...fe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ge,Ce,je]}],"outline-w":[{outline:["",Ge,nf,ho]}],"outline-color":[{outline:U()}],shadow:[{shadow:["","inner","none",v,Zh,Qh]}],"shadow-color":[{shadow:U()}],"inset-shadow":[{"inset-shadow":["none",p,Zh,Qh]}],"inset-shadow-color":[{"inset-shadow":U()}],"ring-w":[{ring:le()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:U()}],"ring-offset-w":[{"ring-offset":[Ge,ho]}],"ring-offset-color":[{"ring-offset":U()}],"inset-ring-w":[{"inset-ring":le()}],"inset-ring-color":[{"inset-ring":U()}],"text-shadow":[{"text-shadow":["none",x,Zh,Qh]}],"text-shadow-color":[{"text-shadow":U()}],opacity:[{opacity:[Ge,Ce,je]}],"mix-blend":[{"mix-blend":[...De(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":De()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Ge]}],"mask-image-linear-from-pos":[{"mask-linear-from":te()}],"mask-image-linear-to-pos":[{"mask-linear-to":te()}],"mask-image-linear-from-color":[{"mask-linear-from":U()}],"mask-image-linear-to-color":[{"mask-linear-to":U()}],"mask-image-t-from-pos":[{"mask-t-from":te()}],"mask-image-t-to-pos":[{"mask-t-to":te()}],"mask-image-t-from-color":[{"mask-t-from":U()}],"mask-image-t-to-color":[{"mask-t-to":U()}],"mask-image-r-from-pos":[{"mask-r-from":te()}],"mask-image-r-to-pos":[{"mask-r-to":te()}],"mask-image-r-from-color":[{"mask-r-from":U()}],"mask-image-r-to-color":[{"mask-r-to":U()}],"mask-image-b-from-pos":[{"mask-b-from":te()}],"mask-image-b-to-pos":[{"mask-b-to":te()}],"mask-image-b-from-color":[{"mask-b-from":U()}],"mask-image-b-to-color":[{"mask-b-to":U()}],"mask-image-l-from-pos":[{"mask-l-from":te()}],"mask-image-l-to-pos":[{"mask-l-to":te()}],"mask-image-l-from-color":[{"mask-l-from":U()}],"mask-image-l-to-color":[{"mask-l-to":U()}],"mask-image-x-from-pos":[{"mask-x-from":te()}],"mask-image-x-to-pos":[{"mask-x-to":te()}],"mask-image-x-from-color":[{"mask-x-from":U()}],"mask-image-x-to-color":[{"mask-x-to":U()}],"mask-image-y-from-pos":[{"mask-y-from":te()}],"mask-image-y-to-pos":[{"mask-y-to":te()}],"mask-image-y-from-color":[{"mask-y-from":U()}],"mask-image-y-to-color":[{"mask-y-to":U()}],"mask-image-radial":[{"mask-radial":[Ce,je]}],"mask-image-radial-from-pos":[{"mask-radial-from":te()}],"mask-image-radial-to-pos":[{"mask-radial-to":te()}],"mask-image-radial-from-color":[{"mask-radial-from":U()}],"mask-image-radial-to-color":[{"mask-radial-to":U()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":T()}],"mask-image-conic-pos":[{"mask-conic":[Ge]}],"mask-image-conic-from-pos":[{"mask-conic-from":te()}],"mask-image-conic-to-pos":[{"mask-conic-to":te()}],"mask-image-conic-from-color":[{"mask-conic-from":U()}],"mask-image-conic-to-color":[{"mask-conic-to":U()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ee()}],"mask-repeat":[{mask:ee()}],"mask-size":[{mask:ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,je]}],filter:[{filter:["","none",Ce,je]}],blur:[{blur:ge()}],brightness:[{brightness:[Ge,Ce,je]}],contrast:[{contrast:[Ge,Ce,je]}],"drop-shadow":[{"drop-shadow":["","none",S,Zh,Qh]}],"drop-shadow-color":[{"drop-shadow":U()}],grayscale:[{grayscale:["",Ge,Ce,je]}],"hue-rotate":[{"hue-rotate":[Ge,Ce,je]}],invert:[{invert:["",Ge,Ce,je]}],saturate:[{saturate:[Ge,Ce,je]}],sepia:[{sepia:["",Ge,Ce,je]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,je]}],"backdrop-blur":[{"backdrop-blur":ge()}],"backdrop-brightness":[{"backdrop-brightness":[Ge,Ce,je]}],"backdrop-contrast":[{"backdrop-contrast":[Ge,Ce,je]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ge,Ce,je]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ge,Ce,je]}],"backdrop-invert":[{"backdrop-invert":["",Ge,Ce,je]}],"backdrop-opacity":[{"backdrop-opacity":[Ge,Ce,je]}],"backdrop-saturate":[{"backdrop-saturate":[Ge,Ce,je]}],"backdrop-sepia":[{"backdrop-sepia":["",Ge,Ce,je]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":k()}],"border-spacing-x":[{"border-spacing-x":k()}],"border-spacing-y":[{"border-spacing-y":k()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,je]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ge,"initial",Ce,je]}],ease:[{ease:["linear","initial",A,Ce,je]}],delay:[{delay:[Ge,Ce,je]}],animate:[{animate:["none",N,Ce,je]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[j,Ce,je]}],"perspective-origin":[{"perspective-origin":R()}],rotate:[{rotate:oe()}],"rotate-x":[{"rotate-x":oe()}],"rotate-y":[{"rotate-y":oe()}],"rotate-z":[{"rotate-z":oe()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:ut()}],"skew-x":[{"skew-x":ut()}],"skew-y":[{"skew-y":ut()}],transform:[{transform:[Ce,je,"","none","gpu","cpu"]}],"transform-origin":[{origin:R()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ke()}],"translate-x":[{"translate-x":Ke()}],"translate-y":[{"translate-y":Ke()}],"translate-z":[{"translate-z":Ke()}],"translate-none":["translate-none"],zoom:[{zoom:[_i,Ce,je]}],accent:[{accent:U()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:U()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,je]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":U()}],"scrollbar-track-color":[{"scrollbar-track":U()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mbs":[{"scroll-mbs":k()}],"scroll-mbe":[{"scroll-mbe":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pbs":[{"scroll-pbs":k()}],"scroll-pbe":[{"scroll-pbe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,je]}],fill:[{fill:["none",...U()]}],"stroke-w":[{stroke:[Ge,nf,ho,bE]}],stroke:[{stroke:["none",...U()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["start","end","right","left"],"inset-y":["inset-bs","inset-be","top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["ps","pe","pr","pl"],py:["pbs","pbe","pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["ms","me","mr","ml"],my:["mbs","mbe","mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-s","border-w-e","border-w-r","border-w-l"],"border-w-y":["border-w-bs","border-w-be","border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-s","border-color-e","border-color-r","border-color-l"],"border-color-y":["border-color-bs","border-color-be","border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-ms","scroll-me","scroll-mr","scroll-ml"],"scroll-my":["scroll-mbs","scroll-mbe","scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-ps","scroll-pe","scroll-pr","scroll-pl"],"scroll-py":["scroll-pbs","scroll-pbe","scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},W5=N5(Z5);function Wt(...e){return W5(Ct(e))}const J5=aS("inline-flex items-center rounded-md px-2 py-0.5 text-xs font-medium",{variants:{variant:{default:"bg-zinc-800 text-zinc-100 ring-1 ring-zinc-600",secondary:"bg-zinc-800 text-zinc-100 ring-1 ring-zinc-600",count:"bg-zinc-950 text-zinc-50 ring-1 ring-zinc-500",ok:"bg-emerald-950 text-emerald-300 ring-1 ring-emerald-800",bad:"bg-red-950 text-red-200 ring-1 ring-red-800",warn:"bg-amber-950 text-amber-200 ring-1 ring-amber-700"}},defaultVariants:{variant:"default"}});function Oe({className:e,variant:t,...n}){return f.jsx("div",{className:Wt(J5({variant:t}),e),...n})}var eB=Object.defineProperty,sS=(e,t)=>eB(e,"name",{value:t,configurable:!0});function z0(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}sS(z0,"setRef");function Bo(...e){return t=>{let n=!1;const r=e.map(l=>{const o=z0(l,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let l=0;ltB(e,"name",{value:t,configurable:!0});function Ml(e){const t=b.forwardRef((n,r)=>{let{children:l,...o}=n,u=null,c=!1;const h=[];l=XR(l),b.Children.forEach(l,x=>{var S;if(KR(x)){c=!0;const w=x;let j="child"in w.props?w.props.child:w.props.children;for(;uS(j)&&typeof zm=="function";)j=zm(j._payload);u=iB(w,j),h.push((S=u==null?void 0:u.props)==null?void 0:S.children)}else h.push(x)}),u?u=b.cloneElement(u,void 0,h):!c&&b.Children.count(l)===1&&b.isValidElement(l)&&(u=l);const m=u?qR(u):void 0,v=Kr(r,m);if(!u){if(l||l===0)throw new Error(c?oB(e):lB(e));return l}const p=GR(o,u.props??{});return u.type!==b.Fragment&&(p.ref=r?v:m),b.cloneElement(u,p)});return t.displayName=`${e}.Slot`,t}Nr(Ml,"createSlot");var nB=Ml("Slot"),VR=Symbol.for("radix.slottable");function rB(e){const t=Nr(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=VR,t}Nr(rB,"createSlottable");var iB=Nr((e,t)=>"child"in e.props?b.isValidElement(t)?b.cloneElement(t,void 0,e.props.children(t.props.children)):null:b.isValidElement(t)?t:null,"getSlottableElementFromSlottable");function GR(e,t){const n={...t};for(const r in t){const l=e[r],o=t[r];/^on[A-Z]/.test(r)?l&&o?n[r]=(...c)=>{const h=o(...c);return l(...c),h}:l&&(n[r]=l):r==="style"?n[r]={...l,...o}:r==="className"?n[r]=[l,o].filter(Boolean).join(" "):r==="aria-describedby"&&(n[r]=QR(o,l))}return{...e,...n}}Nr(GR,"mergeProps");function qR(e){var r,l;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(l=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:l.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Nr(qR,"getElementRef");function KR(e){return b.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===VR}Nr(KR,"isSlottable");var aB=Symbol.for("react.lazy");function uS(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===aB&&"_payload"in e&&YR(e._payload)}Nr(uS,"isLazyComponent");function YR(e){return typeof e=="object"&&e!==null&&"then"in e}Nr(YR,"isPromiseLike");function XR(e){let t=e;for(;uS(t)&&typeof zm=="function";)t=zm(t._payload);return t}Nr(XR,"useUnwrappedLazy");function QR(...e){const t=new Set;for(const n of e)if(typeof n=="string")for(const r of String(n).trim().split(/\s+/))r&&t.add(r);return t.size>0?Array.from(t).join(" "):void 0}Nr(QR,"concatAriaDescribedby");var lB=Nr(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),oB=Nr(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),zm=Ll[" use ".trim().toString()];const sB=aS("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",outline:"border border-border bg-transparent hover:bg-secondary",ghost:"hover:bg-secondary",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),he=b.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...l},o)=>{const u=r?nB:"button";return f.jsx(u,{className:Wt(sB({variant:t,size:n,className:e})),ref:o,...l})});he.displayName="Button";function ye({className:e,...t}){return f.jsx("div",{className:Wt("rounded-lg border border-border bg-card text-card-foreground shadow-sm",e),...t})}function Ne({className:e,...t}){return f.jsx("div",{className:Wt("flex flex-col gap-1.5 p-4",e),...t})}function Te({className:e,...t}){return f.jsx("h3",{className:Wt("text-base font-semibold leading-none",e),...t})}function ht({className:e,...t}){return f.jsx("p",{className:Wt("text-sm text-muted-foreground",e),...t})}function xe({className:e,...t}){return f.jsx("div",{className:Wt("p-4 pt-0",e),...t})}const $e=b.forwardRef(({className:e,type:t,...n},r)=>f.jsx("input",{type:t,className:Wt("flex h-10 w-full rounded-md border border-input bg-secondary px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));$e.displayName="Input";var uB=Object.defineProperty,Fu=(e,t)=>uB(e,"name",{value:t,configurable:!0}),ZR=!!(typeof window<"u"&&window.document&&window.document.createElement);function $n(e,t,{checkForDefaultPrevented:n=!0}={}){return Fu(function(l){if(e==null||e(l),n===!1||!l||!l.defaultPrevented)return t==null?void 0:t(l)},"handleEvent")}Fu($n,"composeEventHandlers");function cB(e){var t;if(!ZR)throw new Error("Cannot access window outside of the DOM");return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)??window}Fu(cB,"getOwnerWindow");function L0(e){if(!ZR)throw new Error("Cannot access document outside of the DOM");return(e==null?void 0:e.ownerDocument)??document}Fu(L0,"getOwnerDocument");function WR(e,t=!1){const{activeElement:n}=L0(e);if(!(n!=null&&n.nodeName))return null;if(JR(n)&&n.contentDocument)return WR(n.contentDocument.body,t);if(t){const r=n.getAttribute("aria-activedescendant");if(r){const l=L0(n).getElementById(r);if(l)return l}}return n}Fu(WR,"getActiveElement");function JR(e){return e.tagName==="IFRAME"}Fu(JR,"isFrame");var fB=Object.defineProperty,Fr=(e,t)=>fB(e,"name",{value:t,configurable:!0});function dB(e,t){const n=b.createContext(t);n.displayName=e+"Context";const r=Fr(o=>{const{children:u,...c}=o,h=b.useMemo(()=>c,Object.values(c));return f.jsx(n.Provider,{value:h,children:u})},"Provider");r.displayName=e+"Provider";function l(o,u={}){const{optional:c=!1}=u,h=b.useContext(n);if(h)return h;if(t!==void 0)return t;if(!c)throw new Error(`\`${o}\` must be used within \`${e}\``)}return Fr(l,"useContext"),[r,l]}Fr(dB,"createContext");function Vu(e,t=[]){let n=[];function r(o,u){const c=b.createContext(u);c.displayName=o+"Context";const h=n.length;n=[...n,u];const m=Fr(p=>{var A;const{scope:x,children:S,...w}=p,j=((A=x==null?void 0:x[e])==null?void 0:A[h])||c,C=b.useMemo(()=>w,Object.values(w));return f.jsx(j.Provider,{value:C,children:S})},"Provider");m.displayName=o+"Provider";function v(p,x,S={}){var A;const{optional:w=!1}=S,j=((A=x==null?void 0:x[e])==null?void 0:A[h])||c,C=b.useContext(j);if(C)return C;if(u!==void 0)return u;if(!w)throw new Error(`\`${p}\` must be used within \`${o}\``)}return Fr(v,"useContext"),[m,v]}Fr(r,"createContext");const l=Fr(()=>{const o=n.map(u=>b.createContext(u));return Fr(function(c){const h=(c==null?void 0:c[e])||o;return b.useMemo(()=>({[`__scope${e}`]:{...c,[e]:h}}),[c,h])},"useScope")},"createScope");return l.scopeName=e,[r,eM(l,...t)]}Fr(Vu,"createContextScope");function eM(...e){const t=e[0];if(e.length===1)return t;const n=Fr(()=>{const r=e.map(l=>({useScope:l(),scopeName:l.scopeName}));return Fr(function(o){const u=r.reduce((c,{useScope:h,scopeName:m})=>{const p=h(o)[`__scope${m}`];return{...c,...p}},{});return b.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}Fr(eM,"composeContextScopes");var ja=globalThis!=null&&globalThis.document?b.useLayoutEffect:()=>{},hB=Object.defineProperty,rn=(e,t)=>hB(e,"name",{value:t,configurable:!0});function tM(e){const t=e+"CollectionProvider",[n,r]=Vu(t),[l,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),u=rn(j=>{const{scope:C,children:A}=j,N=b.useRef(null),O=b.useRef(new Map).current;return f.jsx(l,{scope:C,itemMap:O,collectionRef:N,children:A})},"CollectionProvider");u.displayName=t;const c=e+"CollectionSlot",h=Ml(c),m=b.forwardRef((j,C)=>{const{scope:A,children:N}=j,O=o(c,A),T=Kr(C,O.collectionRef);return f.jsx(h,{ref:T,children:N})});m.displayName=c;const v=e+"CollectionItemSlot",p="data-radix-collection-item",x=Ml(v),S=b.forwardRef((j,C)=>{const{scope:A,children:N,...O}=j,T=b.useRef(null),R=Kr(C,T),E=o(v,A);return b.useEffect(()=>(E.itemMap.set(T,{ref:T,...O}),()=>void E.itemMap.delete(T))),f.jsx(x,{[p]:"",ref:R,children:N})});S.displayName=v;function w(j){const C=o(e+"CollectionConsumer",j);return b.useCallback(()=>{const N=C.collectionRef.current;if(!N)return[];const O=Array.from(N.querySelectorAll(`[${p}]`));return Array.from(C.itemMap.values()).sort((E,D)=>O.indexOf(E.ref.current)-O.indexOf(D.ref.current))},[C.collectionRef,C.itemMap])}return rn(w,"useCollection"),[{Provider:u,Slot:m,ItemSlot:S},w,r]}rn(tM,"createCollection");var jE=new WeakMap,Ft,jr,Wh=(jr=class extends Map{constructor(n){super(n);Ie(this,Ft);be(this,Ft,[...super.keys()]),jE.set(this,!0)}set(n,r){return jE.get(this)&&!this.has(n)&&$(this,Ft).push(n),super.set(n,r),this}insert(n,r,l){const o=this.has(r),u=o?this.size:this.size+1,c=cS(n),h=c>=0?Math.min(c,u-1):Math.max(u+c,0);if(o?$(this,Ft).indexOf(r)===h:h===this.size)return this.set(r,l),this;const m=$(this,Ft).filter(p=>p!==r);m.splice(h,0,r);const v=m.map(p=>[p,p===r?l:this.get(p)]);this.clear();for(const[p,x]of v)this.set(p,x);return this}with(n,r,l){const o=new jr(this);return o.insert(n,r,l),o}before(n){const r=$(this,Ft).indexOf(n)-1;if(!(r<0))return this.entryAt(r)}setBefore(n,r,l){const o=$(this,Ft).indexOf(n);if(o===-1)return this;const u=$(this,Ft).indexOf(r),c=u!==-1&&u=this.size&&(o=this.size-1),this.at(o)}keyFrom(n,r){const l=this.indexOf(n);if(l===-1)return;let o=l+r;return o<0&&(o=0),o>=this.size&&(o=this.size-1),this.keyAt(o)}find(n,r){let l=0;for(const o of this){if(Reflect.apply(n,r,[o,l,this]))return o;l++}}findIndex(n,r){let l=0;for(const o of this){if(Reflect.apply(n,r,[o,l,this]))return l;l++}return-1}filter(n,r){const l=[];let o=0;for(const u of this)Reflect.apply(n,r,[u,o,this])&&l.push(u),o++;return new jr(l)}map(n,r){const l=[];let o=0;for(const u of this)l.push([u[0],Reflect.apply(n,r,[u,o,this])]),o++;return new jr(l)}reduce(...n){const[r,l]=n,o=n.length>1;if(!o&&this.size===0)throw new TypeError("Reduce of empty OrderedDict with no initial value");let u=0,c=l;for(const h of this)u===0&&!o?c=h:c=Reflect.apply(r,this,[c,h,u,this]),u++;return c}reduceRight(...n){const[r,l]=n,o=n.length>1;if(!o&&this.size===0)throw new TypeError("Reduce of empty OrderedDict with no initial value");let u=l;for(let c=this.size-1;c>=0;c--){const h=this.entryAt(c);c===this.size-1&&!o?u=h:u=Reflect.apply(r,this,[u,h,c,this])}return u}sort(n){if(typeof n!="function")throw new TypeError("OrderedDict.sort requires a compare function");const r=[...this.entries()].sort(n);this.clear();for(const[l,o]of r)this.set(l,o);return this}toSorted(n){if(typeof n!="function")throw new TypeError("OrderedDict.toSorted requires a compare function");const r=[...this.entries()].sort(n);return new jr(r)}toReversed(){const n=new jr;for(let r=this.size-1;r>=0;r--){const l=this.keyAt(r),o=this.get(l);n.set(l,o)}return n}toSpliced(...n){const r=[...this.entries()];return r.splice(...n),new jr(r)}slice(n,r){const l=new jr;for(const o of $(this,Ft).slice(n,r))l.set(o,this.get(o));return l}every(n,r){let l=0;for(const o of this){if(!Reflect.apply(n,r,[o,l,this]))return!1;l++}return!0}some(n,r){let l=0;for(const o of this){if(Reflect.apply(n,r,[o,l,this]))return!0;l++}return!1}},Ft=new WeakMap,rn(jr,"OrderedDict"),jr);function Am(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=nM(e,t);return n===-1?void 0:e[n]}rn(Am,"at");function nM(e,t){const n=e.length,r=cS(t),l=r>=0?r:n+r;return l<0||l>=n?-1:l}rn(nM,"toSafeIndex");function cS(e){return e!==e||e===0?0:Math.trunc(e)}rn(cS,"toSafeInteger");function mB(e){const t=e+"CollectionProvider",[n,r]=Vu(t),[l,o]=n(t);l.displayName=e+"CollectionStableContextProvider";const[u,c]=n(t);u.displayName=e+"CollectionStatefulContextProvider";const h=rn(({state:E,...D})=>E?f.jsx(v,{...D,state:E}):f.jsx(m,{...D}),"CollectionProvider");h.displayName=t;const m=rn(E=>{const D=N();return f.jsx(v,{...E,state:D})},"CollectionInit");m.displayName=e+"CollectionInit";const v=rn(E=>{const{scope:D,children:k,state:I}=E,P=b.useRef(null),[B,F]=b.useState(null),se=Kr(P,F),[ue,de]=I,G=b.useRef(new Wh),ne=b.useCallback(()=>{const ie=G.current;return aM(ie)||ie.sort(Em),ie},[]);return b.useEffect(()=>{if(!B)return;const ie=lM(()=>{de(ce=>{const U=ce.toSorted(Em);return U.some(([ee],ve)=>ce.keyAt(ve)!==ee)?U:ce})});return ie.observe(B,{childList:!0,subtree:!0}),()=>{ie.disconnect()}},[B,de]),f.jsx(l,{scope:D,collectionElementRef:se,collectionElementRefObject:P,getCollection:ne,setCollection:de,registryRef:G,children:f.jsx(u,{scope:D,collectionElement:B,collection:ue,children:k})})},"CollectionProviderImpl");v.displayName=e+"CollectionProviderImpl";const p=e+"CollectionSlot",x=Ml(p),S=b.forwardRef((E,D)=>{const{scope:k,children:I}=E,P=o(p,k),B=Kr(D,P.collectionElementRef);return f.jsx(x,{ref:B,children:I})});S.displayName=p;const w=e+"CollectionItemSlot",j="data-radix-collection-item",C=Ml(w),A=b.forwardRef((E,D)=>{const{scope:k,children:I,...P}=E,B=b.useRef(null),F=o(w,k),{setCollection:se,registryRef:ue}=F,de=b.useRef(P);rM(de.current,P)||(de.current=P);const G=de.current,ne=b.useCallback(U=>{const Ee=ue.current;U?Ee.set(U,{...de.current,element:U}):B.current&&Ee.delete(B.current)},[ue]),ie=Kr(D,ne,B);ja(()=>{const U=B.current,Ee=ue.current;U&&Ee.has(U)&&Ee.set(U,{...G,element:U})},[G,ue]);const ce=b.useRef(null);return b.useEffect(()=>{const U=B.current,Ee=ce.current;((Ee==null?void 0:Ee.element)??null)===U&&(!U||(Ee==null?void 0:Ee.itemData)===G)||(ce.current=U?{element:U,itemData:G}:null,se(ee=>{const ve=new Wh(ee);return Ee&&Ee.element!==U&&ve.delete(Ee.element),U&&ve.set(U,{...G,element:U}),ve.sort(Em)}))}),b.useEffect(()=>()=>{const U=ce.current;ce.current=null,U&&se(Ee=>{if(!Ee.has(U.element))return Ee;const ee=new Wh(Ee);return ee.delete(U.element),ee})},[se]),f.jsx(C,{[j]:"",ref:ie,children:I})});A.displayName=w;function N(){return b.useState(new Wh)}rn(N,"useInitCollection");function O(E){const{collection:D}=c(e+"CollectionConsumer",E);return D}rn(O,"useCollection");function T(E){const{getCollection:D}=o(e+"CollectionConsumer",E);return D}return rn(T,"useGetCollection"),[{Provider:h,Slot:S,ItemSlot:A},{createCollectionScope:r,useCollection:O,useGetCollection:T,useInitCollection:N}]}rn(mB,"createCollection");function rM(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const l of n)if(!Object.prototype.hasOwnProperty.call(t,l)||e[l]!==t[l])return!1;return!0}rn(rM,"shallowEqual");function iM(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}rn(iM,"isElementPreceding");function aM(e){let t;for(const n of e.keys()){if(t){const r=t.compareDocumentPosition(n);if(!(r&Node.DOCUMENT_POSITION_DISCONNECTED)&&r&Node.DOCUMENT_POSITION_PRECEDING)return!1}t=n}return!0}rn(aM,"isInDocumentOrder");function Em(e,t){return!e[1].element||!t[1].element?0:iM(e[1].element,t[1].element)?-1:1}rn(Em,"sortByDocumentPosition");function lM(e){return new MutationObserver(n=>{for(const r of n)if(r.type==="childList"){e();return}})}rn(lM,"getChildListObserver");var vB=Object.defineProperty,gB=(e,t)=>vB(e,"name",{value:t,configurable:!0}),pB=Ll[" useId ".trim().toString()]||(()=>{}),yB=0;function Yr(e){const[t,n]=b.useState(pB());return ja(()=>{e||n(r=>r??String(yB++))},[e]),e||(t?`radix-${t}`:"")}gB(Yr,"useId");var Rv=OR(),xB=Object.defineProperty,bB=(e,t)=>xB(e,"name",{value:t,configurable:!0}),SB=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ln=SB.reduce((e,t)=>{const n=Ml(`Primitive.${t}`),r=b.forwardRef((l,o)=>{const{asChild:u,...c}=l,h=u?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(h,{...c,ref:o})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function oM(e,t){e&&Rv.flushSync(()=>e.dispatchEvent(t))}bB(oM,"dispatchDiscreteCustomEvent");var wB=Object.defineProperty,jB=(e,t)=>wB(e,"name",{value:t,configurable:!0}),CE=Ll[" useInsertionEffect ".trim().toString()];function Ho(e){const t=b.useRef(e);return typeof CE=="function"?CE(()=>{t.current=e}):ja(()=>{t.current=e}),b.useMemo(()=>((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)}),[])}jB(Ho,"useCallbackRef");var CB=Object.defineProperty,_B=(e,t)=>CB(e,"name",{value:t,configurable:!0}),_E=Ll[" useEffectEvent ".trim().toString()],AE=Ll[" useInsertionEffect ".trim().toString()];function sM(e){if(typeof _E=="function")return _E(e);const t=b.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof AE=="function"?AE(()=>{t.current=e}):ja(()=>{t.current=e}),b.useMemo(()=>((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)}),[])}_B(sM,"useEffectEvent");var AB=Object.defineProperty,Qf=(e,t)=>AB(e,"name",{value:t,configurable:!0}),EB=Ll[" useInsertionEffect ".trim().toString()]||ja;function Mv({prop:e,defaultProp:t,onChange:n=Qf(()=>{},"onChange"),caller:r}){const[l,o,u]=uM({defaultProp:t,onChange:n}),c=e!==void 0,h=c?e:l,m=b.useCallback(v=>{var p;if(c){const x=cM(v)?v(e):v;x!==e&&((p=u.current)==null||p.call(u,x))}else o(v)},[c,e,o,u]);return[h,m]}Qf(Mv,"useControllableState");function uM({defaultProp:e,onChange:t}){const[n,r]=b.useState(e),l=b.useRef(n),o=b.useRef(t);return EB(()=>{o.current=t},[t]),b.useEffect(()=>{var u;l.current!==n&&((u=o.current)==null||u.call(o,n),l.current=n)},[n,l]),[n,r,o]}Qf(uM,"useUncontrolledState");function cM(e){return typeof e=="function"}Qf(cM,"isFunction");var EE=Symbol("RADIX:SYNC_STATE");function OB(e,t,n,r){const{prop:l,defaultProp:o,onChange:u,caller:c}=t,h=l!==void 0,m=sM(u),v=[{...n,state:o}];r&&v.push(r);const[p,x]=b.useReducer((C,A)=>{if(A.type===EE)return{...C,state:A.state};const N=e(C,A);return h&&!Object.is(N.state,C.state)&&m(N.state),N},...v),S=p.state,w=b.useRef(S);b.useEffect(()=>{w.current!==S&&(w.current=S,h||m(S))},[S,w,h]);const j=b.useMemo(()=>l!==void 0?{...p,state:l}:p,[p,l]);return b.useEffect(()=>{h&&!Object.is(l,p.state)&&x({type:EE,state:l})},[l,p.state,h]),[j,x]}Qf(OB,"useControllableStateReducer");var NB=Object.defineProperty,TB=(e,t)=>NB(e,"name",{value:t,configurable:!0}),RB={LTR:"ltr"},MB=b.createContext(void 0);function fS(e){const t=b.useContext(MB);return e||t||RB.LTR}TB(fS,"useDirection");var DB=Object.defineProperty,dS=(e,t)=>DB(e,"name",{value:t,configurable:!0}),px=!1;function fM(){const[e,t]=b.useState(px);return b.useEffect(()=>{px||(px=!0,t(!0))},[]),e}dS(fM,"useIsHydrated");var dM=Ll[" useSyncExternalStore ".trim().toString()];function hM(){return()=>{}}dS(hM,"subscribe");function mM(){return dM(hM,()=>!0,()=>!1)}dS(mM,"useIsHydratedModern");var PB=typeof dM=="function"?mM:fM,kB=Object.defineProperty,Jo=(e,t)=>kB(e,"name",{value:t,configurable:!0}),yx="rovingFocusGroup.onEntryFocus",IB={bubbles:!1,cancelable:!0},Dv="RovingFocusGroup",[U0,vM,zB]=tM(Dv),[LB,gM]=Vu(Dv,[zB]),OE={Vertical:"vertical",Horizontal:"horizontal"},UB={RTL:"rtl"},[$B,BB]=LB(Dv),HB=b.forwardRef(Jo(function(t,n){return f.jsx(U0.Provider,{scope:t.__scopeRovingFocusGroup,children:f.jsx(U0.Slot,{scope:t.__scopeRovingFocusGroup,children:f.jsx(FB,{...t,ref:n})})})},"RovingFocusGroup")),FB=b.forwardRef(Jo(function(t,n){const{__scopeRovingFocusGroup:r,orientation:l,loop:o=!1,dir:u,currentTabStopId:c,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:m,onEntryFocus:v,preventScrollOnEntryFocus:p=!1,...x}=t,S=b.useRef(null),w=Kr(n,S),j=fS(u),[C,A]=Mv({prop:c,defaultProp:h??null,onChange:m,caller:Dv}),[N,O]=b.useState(!1),T=Ho(v),R=vM(r),E=b.useRef(!1),[D,k]=b.useState(0);return b.useEffect(()=>{const I=S.current;if(I)return I.addEventListener(yx,T),()=>I.removeEventListener(yx,T)},[T]),f.jsx($B,{scope:r,orientation:l,dir:j,loop:o,currentTabStopId:C,onItemFocus:b.useCallback(I=>A(I),[A]),onItemShiftTab:b.useCallback(()=>O(!0),[]),onFocusableItemAdd:b.useCallback(()=>k(I=>I+1),[]),onFocusableItemRemove:b.useCallback(()=>k(I=>I-1),[]),children:f.jsx(ln.div,{tabIndex:N||D===0?-1:0,"data-orientation":l,...x,ref:w,style:{outline:"none",...t.style},onMouseDown:$n(t.onMouseDown,()=>{E.current=!0}),onFocus:$n(t.onFocus,I=>{const P=!E.current;if(I.target===I.currentTarget&&P&&!N){const B=new CustomEvent(yx,IB);if(I.currentTarget.dispatchEvent(B),!B.defaultPrevented){const F=R().filter(ne=>ne.focusable),se=F.find(ne=>ne.active),ue=F.find(ne=>ne.id===C),G=[se,ue,...F].filter(Boolean).map(ne=>ne.ref.current);hS(G,p)}}E.current=!1}),onBlur:$n(t.onBlur,()=>O(!1))})})},"RovingFocusGroupImpl")),VB="RovingFocusGroupItem",GB=b.forwardRef(Jo(function(t,n){const{__scopeRovingFocusGroup:r,focusable:l=!0,active:o=!1,tabStopId:u,children:c,...h}=t,m=Yr(),v=u||m,p=BB(VB,r),x=p.currentTabStopId===v,S=vM(r),{onFocusableItemAdd:w,onFocusableItemRemove:j,currentTabStopId:C}=p,A=PB();return ja(()=>{if(!(!A||!l))return w(),()=>j()},[A,l,w,j]),b.useEffect(()=>{if(!(A||!l))return w(),()=>j()},[A,l,w,j]),f.jsx(U0.ItemSlot,{scope:r,id:v,focusable:l,active:o,children:f.jsx(ln.span,{tabIndex:x?0:-1,"data-orientation":p.orientation,...h,ref:n,onMouseDown:$n(t.onMouseDown,N=>{l?p.onItemFocus(v):N.preventDefault()}),onFocus:$n(t.onFocus,()=>p.onItemFocus(v)),onKeyDown:$n(t.onKeyDown,N=>{if(N.key==="Tab"&&N.shiftKey){p.onItemShiftTab();return}if(N.target!==N.currentTarget)return;const O=yM(N,p.orientation,p.dir);if(O!==void 0){if(N.metaKey||N.ctrlKey||N.altKey||N.shiftKey)return;N.preventDefault();let R=S().filter(E=>E.focusable).map(E=>E.ref.current);if(O==="last")R.reverse();else if(O==="prev"||O==="next"){O==="prev"&&R.reverse();const E=R.indexOf(N.currentTarget);R=p.loop?xM(R,E+1):R.slice(E+1)}setTimeout(()=>hS(R))}}),children:typeof c=="function"?c({isCurrentTabStop:x,hasTabStop:C!=null}):c})})},"RovingFocusGroupItem")),qB={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function pM(e,t){return t!==UB.RTL?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}Jo(pM,"getDirectionAwareKey");function yM(e,t,n){const r=pM(e.key,n);if(!(t===OE.Vertical&&["ArrowLeft","ArrowRight"].includes(r))&&!(t===OE.Horizontal&&["ArrowUp","ArrowDown"].includes(r)))return qB[r]}Jo(yM,"getFocusIntent");function hS(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Jo(hS,"focusFirst");function xM(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Jo(xM,"wrapArray");var KB=Object.defineProperty,Ca=(e,t)=>KB(e,"name",{value:t,configurable:!0});function bM(e,t){return b.useReducer((n,r)=>t[n][r]??n,e)}Ca(bM,"useStateMachine");var Pv=Ca(e=>{const{present:t,children:n}=e,r=SM(t),l=typeof n=="function"?n({present:r.isPresent}):b.Children.only(n),o=wM(r.ref,jM(l));return typeof n=="function"||r.isPresent?b.cloneElement(l,{ref:o}):null},"Presence");function SM(e){const[t,n]=b.useState(),r=b.useRef(null),l=b.useRef(e),o=b.useRef("none"),u=b.useRef(void 0),c=e?"mounted":"unmounted",[h,m]=bM(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return b.useEffect(()=>{h==="mounted"?(o.current=u.current??ou(r.current),u.current=void 0):o.current="none"},[h]),ja(()=>{const v=r.current,p=l.current;if(p!==e){const S=o.current,w=ou(v);e?(u.current=w,m("MOUNT")):w==="none"||(v==null?void 0:v.display)==="none"?m("UNMOUNT"):m(p&&S!==w?"ANIMATION_OUT":"UNMOUNT"),l.current=e}},[e,m]),ja(()=>{if(t){let v;const p=t.ownerDocument.defaultView??window,x=Ca(w=>{const C=ou(r.current).includes(CSS.escape(w.animationName));if(w.target===t&&C&&(m("ANIMATION_END"),!l.current)){const A=t.style.animationFillMode;t.style.animationFillMode="forwards",v=p.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=A)})}},"handleAnimationEnd"),S=Ca(w=>{w.target===t&&(o.current=ou(r.current))},"handleAnimationStart");return t.addEventListener("animationstart",S),t.addEventListener("animationcancel",x),t.addEventListener("animationend",x),()=>{p.clearTimeout(v),t.removeEventListener("animationstart",S),t.removeEventListener("animationcancel",x),t.removeEventListener("animationend",x)}}else m("ANIMATION_END")},[t,m]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:b.useCallback(v=>{if(v){const p=getComputedStyle(v);r.current=p,u.current=ou(p)}else r.current=null;n(v)},[])}}Ca(SM,"usePresence");function $0(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}Ca($0,"setRef");function wM(...e){const t=b.useRef(e);return t.current=e,b.useCallback(n=>{const r=t.current;let l=!1;const o=r.map(u=>{const c=$0(u,n);return!l&&typeof c=="function"&&(l=!0),c});if(l)return()=>{for(let u=0;uYB(e,"name",{value:t,configurable:!0}),CM={Automatic:"automatic",Manual:"manual"},mS="Tabs",[XB,Rse]=Vu(mS,[gM]),_M=gM(),[QB,vS]=XB(mS),ZB=b.forwardRef(Gu(function(t,n){const{__scopeTabs:r,value:l,onValueChange:o,defaultValue:u,orientation:c="horizontal",dir:h,activationMode:m=CM.Automatic,...v}=t,p=fS(h),[x,S]=Mv({prop:l,onChange:o,defaultProp:u??"",caller:mS});return f.jsx(QB,{scope:r,baseId:Yr(),value:x,onValueChange:S,orientation:c,dir:p,activationMode:m,children:f.jsx(ln.div,{dir:p,"data-orientation":c,...v,ref:n})})},"Tabs")),WB="TabsList",AM=b.forwardRef(Gu(function(t,n){const{__scopeTabs:r,loop:l=!0,...o}=t,u=vS(WB,r),c=_M(r);return f.jsx(HB,{asChild:!0,...c,orientation:u.orientation,dir:u.dir,loop:l,children:f.jsx(ln.div,{role:"tablist","aria-orientation":u.orientation,...o,ref:n})})},"TabsList")),JB="TabsTrigger",EM=b.forwardRef(Gu(function(t,n){const{__scopeTabs:r,value:l,disabled:o=!1,...u}=t,c=vS(JB,r),h=_M(r),m=gS(c.baseId,l),v=pS(c.baseId,l),p=l===c.value;return f.jsx(GB,{asChild:!0,...h,focusable:!o,active:p,children:f.jsx(ln.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":v,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:m,...u,ref:n,onMouseDown:$n(t.onMouseDown,x=>{!o&&x.button===0&&x.ctrlKey===!1?(x.currentTarget.focus(),c.onValueChange(l)):x.preventDefault()}),onKeyDown:$n(t.onKeyDown,x=>{o||x.target!==x.currentTarget||[" ","Enter"].includes(x.key)&&c.onValueChange(l)}),onFocus:$n(t.onFocus,()=>{const x=c.activationMode!==CM.Manual;!p&&!o&&x&&c.onValueChange(l)})})})},"TabsTrigger")),e6="TabsContent",OM=b.forwardRef(Gu(function(t,n){const{__scopeTabs:r,value:l,forceMount:o,children:u,...c}=t,h=vS(e6,r),m=gS(h.baseId,l),v=pS(h.baseId,l),p=l===h.value,x=b.useRef(p);return b.useEffect(()=>{const S=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(S)},[]),f.jsx(Pv,{present:o||p,children:({present:S})=>f.jsx(ln.div,{"data-state":p?"active":"inactive","data-orientation":h.orientation,role:"tabpanel","aria-labelledby":m,hidden:!S,id:v,tabIndex:0,...c,ref:n,style:{...t.style,animationDuration:x.current?"0s":void 0},children:S&&u})})},"TabsContent"));function gS(e,t){return`${e}-trigger-${t}`}Gu(gS,"makeTriggerId");function pS(e,t){return`${e}-content-${t}`}Gu(pS,"makeContentId");const t6=ZB,NM=b.forwardRef(({className:e,...t},n)=>f.jsx(AM,{ref:n,className:Wt("inline-flex h-auto flex-wrap gap-1 rounded-lg bg-secondary p-1 text-muted-foreground",e),...t}));NM.displayName=AM.displayName;const wt=b.forwardRef(({className:e,...t},n)=>f.jsx(EM,{ref:n,className:Wt("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-2 text-sm font-medium text-zinc-200 transition-all hover:bg-zinc-800/80 hover:text-zinc-50 data-[state=active]:bg-[#f5b700] data-[state=active]:text-[#1a1400] data-[state=active]:shadow data-[state=inactive]:bg-transparent data-[state=inactive]:text-zinc-200 data-[state=inactive]:shadow-none",e),...t}));wt.displayName=EM.displayName;const bt=b.forwardRef(({className:e,...t},n)=>f.jsx(OM,{ref:n,className:Wt("mt-4 focus-visible:outline-none",e),...t}));bt.displayName=OM.displayName;const n6=aS("relative w-full rounded-lg border px-3 py-2 text-sm",{variants:{variant:{default:"border-border bg-secondary text-foreground",destructive:"border-destructive/50 bg-red-950/40 text-red-200",warn:"border-primary/40 bg-amber-950/30 text-amber-100",success:"border-emerald-700/50 bg-emerald-950/30 text-emerald-100"}},defaultVariants:{variant:"default"}});function Bt({className:e,variant:t,...n}){return f.jsx("div",{role:"alert",className:Wt(n6({variant:t}),e),...n})}function ft(e){const t=document.getElementById("toast");t&&(t.textContent=e,t.style.display="block",window.clearTimeout(t._t),t._t=window.setTimeout(()=>{t.style.display="none"},2200))}function NE(){return f.jsx("div",{id:"toast",className:"fixed bottom-6 left-1/2 z-50 hidden max-w-md -translate-x-1/2 rounded-md bg-primary px-4 py-2 text-center font-bold text-zinc-950"})}function ko({value:e}){return e?f.jsx(he,{type:"button",size:"sm",variant:"secondary",className:"ml-1 h-7 px-2 text-xs",onClick:()=>void navigator.clipboard.writeText(e).then(()=>ft("Скопировано")),children:"Копировать"}):null}function r6({a:e}){return f.jsx(Bt,{variant:e.level==="bad"?"destructive":"warn",children:e.accountId?f.jsx("a",{className:"underline underline-offset-2 hover:opacity-90",href:"/admin/?id="+encodeURIComponent(e.accountId),children:e.text}):e.text})}function TM({flash:e}){return e?e.error?f.jsx(Bt,{variant:"destructive",children:e.error}):e.code?f.jsxs(Bt,{variant:"success",children:["Код: ",f.jsx("code",{className:"font-mono tracking-wider",children:e.code})," ",f.jsx(ko,{value:e.code})]}):e.promo?f.jsxs(Bt,{variant:"success",children:["Промо: ",f.jsx("code",{className:"font-mono",children:e.promo})," ",f.jsx(ko,{value:e.promo})]}):e.text?f.jsx(Bt,{children:e.text}):null:null}function an({className:e}){return f.jsx("div",{className:"animate-pulse rounded-md bg-zinc-800 "+(e||"h-8 w-full")})}function i6(){return f.jsxs("main",{className:"mx-auto w-full max-w-5xl space-y-4 px-4 py-8",children:[f.jsx(an,{className:"h-10 w-48"}),f.jsxs("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:[f.jsx(an,{className:"h-20"}),f.jsx(an,{className:"h-20"}),f.jsx(an,{className:"h-20"}),f.jsx(an,{className:"h-20"})]}),f.jsx(an,{className:"h-40"})]})}function a6({className:e}){return f.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",className:e,"aria-hidden":"true",children:[f.jsx("rect",{x:"0",y:"0",width:"100",height:"100",rx:"20",fill:"#181B22"}),f.jsxs("g",{transform:"translate(9 9) scale(0.82)",children:[f.jsx("rect",{x:"14",y:"22",width:"72",height:"56",rx:"10",fill:"none",stroke:"#F5B700",strokeWidth:"7"}),f.jsx("path",{d:"M44 41 L59 50 L44 59 Z",fill:"#E8EAF0",stroke:"#E8EAF0",strokeWidth:"4",strokeLinejoin:"round"})]})]})}function RM(){return f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx(a6,{className:"h-10 w-10 shrink-0"}),f.jsx("h1",{className:"text-2xl font-bold leading-none",children:"OMP Billing"})]})}function MM({status:e}){return e==="expired"?f.jsx(Oe,{variant:"bad",children:"истекла"}):e==="grace"?f.jsx(Oe,{variant:"warn",children:"льготный период"}):e==="expiring"?f.jsx(Oe,{variant:"warn",children:"истекает"}):e==="soon"?f.jsx(Oe,{variant:"warn",children:"до 7 дней"}):e==="unbound"?f.jsx(Oe,{variant:"secondary",children:"без устройства"}):f.jsx(Oe,{variant:"ok",children:"активна"})}function l6({bound:e,limit:t,over:n}){const r=n||e>t;return f.jsxs("span",{className:r?"font-medium text-amber-200":"",children:[e,"/",t,r?" · сверх лимита":""]})}function kv({page:e,pages:t,total:n,onPage:r}){return n===0?null:f.jsxs("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-2 text-sm text-muted-foreground",children:[f.jsxs("span",{children:[n," · стр. ",e," из ",t]}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(he,{type:"button",size:"sm",variant:"secondary",disabled:e<=1,onClick:()=>r(e-1),children:"Назад"}),f.jsx(he,{type:"button",size:"sm",variant:"secondary",disabled:e>=t,onClick:()=>r(e+1),children:"Дальше"})]})]})}function TE({rows:e,field:t,label:n}){var l,o;const r=Math.max(1,...e.map(u=>u[t]));return f.jsxs("div",{children:[f.jsx("div",{className:"mb-2 text-sm text-muted-foreground",children:n}),f.jsx("div",{className:"flex h-36 items-end gap-px overflow-x-auto",children:e.map(u=>f.jsx("div",{title:u.day+": "+u[t],className:"flex h-full min-w-[6px] flex-1 flex-col justify-end",children:f.jsx("div",{className:"w-full rounded-sm bg-[#f5b700]",style:{height:Math.max(2,Math.round(u[t]/r*128))+"px"}})},u.day))}),f.jsxs("div",{className:"mt-1 flex justify-between text-xs text-muted-foreground",children:[f.jsx("span",{children:((l=e[0])==null?void 0:l.day)||""}),f.jsx("span",{children:((o=e[e.length-1])==null?void 0:o.day)||""})]})]})}async function ot(e,t){const n=await fetch(e,{credentials:"same-origin",headers:{Accept:"application/json",...(t==null?void 0:t.headers)||{}},...t}),l=(n.headers.get("content-type")||"").includes("json")?await n.json():{ok:n.ok,status:n.status};return n.status===401?{...l,auth:!1}:l}async function Qt(e,t,n){return ot(e,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({csrf:t,...n})})}function o6(){const[e,t]=b.useState(!1),[n,r]=b.useState(""),[l,o]=b.useState(null),[u,c]=b.useState("");b.useEffect(()=>{if(!(l!=null&&l.token))return;let m=!1;const v=async()=>{const x=await ot("/admin/login/telegram/status?token="+encodeURIComponent(l.token));if(!m){if(x.status==="ok"||x.ok){location.href="/admin/";return}if(x.status==="denied"){r("Этот Telegram не входит в список администраторов"),o(null),c("");return}if(x.status==="expired"){r("Ссылка устарела - нажмите «Войти через Telegram» ещё раз"),o(null),c("");return}c("Ожидаю подтверждение в Telegram…")}};v();const p=window.setInterval(()=>void v(),2e3);return()=>{m=!0,window.clearInterval(p)}},[l==null?void 0:l.token]);async function h(){t(!0),r(""),c("");const m=await ot("/admin/login/telegram",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:"{}"});if(t(!1),m.status===403){r("Панель ещё не перезапущена - сервер не знает вход через Telegram.");return}if(!m.ok||!m.token||!m.deepLink){r(m.error||"Не удалось начать вход через Telegram");return}o({token:m.token,deepLink:m.deepLink}),window.open(m.deepLink,"_blank","noopener,noreferrer")}return f.jsx("main",{className:"flex min-h-screen items-center justify-center px-4 py-10",children:f.jsxs("div",{className:"w-full max-w-sm",children:[f.jsxs("div",{className:"mb-6 text-center",children:[f.jsx("div",{className:"flex justify-center",children:f.jsx(RM,{})}),f.jsx("p",{className:"mt-3 text-sm text-muted-foreground",children:"Вход только через Telegram"})]}),n?f.jsx(Bt,{variant:"destructive",className:"mb-4",children:n}):null,u?f.jsx(Bt,{className:"mb-4",children:u}):null,f.jsx(ye,{children:f.jsxs(xe,{className:"space-y-4 pt-6",children:[f.jsx(he,{className:"w-full",disabled:e,onClick:()=>void h(),children:e&&!l?"…":"Войти через Telegram"}),l!=null&&l.deepLink?f.jsxs("p",{className:"text-sm text-muted-foreground",children:["Если бот не открылся:"," ",f.jsx("a",{className:"underline",href:l.deepLink,target:"_blank",rel:"noreferrer",children:"открыть ссылку"})]}):null]})})]})})}const yS=b.forwardRef(({className:e,...t},n)=>f.jsx("textarea",{className:Wt("flex min-h-[80px] w-full rounded-md border border-input bg-secondary px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...t}));yS.displayName="Textarea";function s6(e,t){return!t||t==="all"?!0:t==="week"?e.status==="soon"||e.status==="expiring":t==="active"?!!e.active:t==="unbound"?!!e.active&&!(Number(e.bound)>0):e.status===t}function u6(e,t,n=""){return e&&t.includes(e)||n&&e===n?e:t[0]||""}function c6(e){const t=new Map;for(const r of e||[]){const l=r&&r.accountId;if(!l)continue;const o=t.get(l);(!o||(r.paidUntil||0)>(o.paidUntil||0))&&t.set(l,r)}const n=[];for(const r of t.values())(r.status==="soon"||r.status==="expiring")&&r.telegramId&&n.push(r);return n}const f6="Europe/Moscow",d6="МСК",DM=["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];function _r(e){return(e<10?"0":"")+e}function Zf(e){const t=new Intl.DateTimeFormat("en-US",{timeZone:f6,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),n={};for(const l of t.formatToParts(new Date(e)))l.type!=="literal"&&(n[l.type]=l.value);let r=Number(n.hour);return r===24&&(r=0),{year:Number(n.year),month:Number(n.month),day:Number(n.day),hour:r,minute:Number(n.minute),second:Number(n.second)}}function B0(e){const t=Zf(e);return t.year+"-"+_r(t.month)+"-"+_r(t.day)}function h6(e,t){const[n,r,l]=e.split("-").map(Number),o=new Date(Date.UTC(n,r-1,l+t));return o.getUTCFullYear()+"-"+_r(o.getUTCMonth()+1)+"-"+_r(o.getUTCDate())}function m6(e){const t=Zf(e);return _r(t.hour)+":"+_r(t.minute)}function Fo(e){const t=Zf(e);return _r(t.day)+"."+_r(t.month)+"."+t.year+" "+_r(t.hour)+":"+_r(t.minute)}function v6(e){const t=Zf(e);return t.day+" "+DM[t.month-1]+" "+t.year+", "+_r(t.hour)+":"+_r(t.minute)+":"+_r(t.second)+" "+d6}function g6(e,t=Date.now()){const n=B0(e),r=B0(t);if(n===r)return"Сегодня";if(n===h6(r,-1))return"Вчера";const l=Zf(e);return l.day+" "+DM[l.month-1]+" "+l.year}function p6(e,t=Date.now()){const n=[];for(const r of e){const l=r.at||0,o=l>0?B0(l):"none",u=l>0?g6(l,t):"Без даты",c=n[n.length-1];c&&c.key===o?c.items.push(r):n.push({key:o,title:u,items:[r]})}return n}function dt({ms:e,variant:t="datetime",toggle:n=!0}){const[r,l]=b.useState(!1);if(!e)return f.jsx("span",{className:"text-muted-foreground",children:"-"});const o=v6(e),u=t==="time"?m6(e):Fo(e)+" МСК",c=r&&n?o:u;return n?f.jsx("button",{type:"button",className:"inline whitespace-nowrap rounded-sm text-left underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",title:o,"aria-label":o,onClick:h=>{h.stopPropagation(),l(m=>!m)},children:f.jsx("time",{dateTime:new Date(e).toISOString(),children:c})}):f.jsx("time",{dateTime:new Date(e).toISOString(),title:o,className:"whitespace-nowrap",children:u})}function zi(e){return e?Fo(e)+" МСК":""}const y6={user:"пользователь",device:"устройство",admin:"админ",system:"система"};function xS(e,t){const n=(t==null?void 0:t.deviceId)||"",r=(t==null?void 0:t.fallback)||"система";if(!e||!e.kind)return n?"устройство · "+n.slice(0,8):r;const l=y6[e.kind]||e.kind,o=e.label?" · "+e.label:"";let u=l+o;const c=n.slice(0,8);return e.kind==="user"&&c&&u.indexOf(c)<0&&(u+=" · устройство "+c),u}function H0(e,t,n){const r=t?"@"+t.replace(/^@/,""):n||"";return r&&e?r+" · "+e:r||e}const x6={pay:"оплата",promo:"промо",activate:"активация",fail:"отказ",admin:"админ",device:"устройство"},b6={bad_code:"неверный код",expired:"подписка истекла",other_device:"чужое устройство",device_limit:"лимит устройств"},S6={grant:"выдача дней",promo_create:"создание промо",bulk_promo:"пакет промо",bulk_issue:"пакет кодов",issue:"выдача кода",login:"вход",login_fail:"неудачный вход",login_cli:"аварийная ссылка",login_telegram_start:"вход через Telegram",logout:"выход",message:"сообщение",support_reply:"ответ поддержки",support_close:"закрытие диалога",unbind:"сброс устройства",settings_save:"сохранение настроек",services_save:"сохранение сервисов",monitor_run:"проверка мониторинга",monitor_config:"интервал мониторинга",password_change:"смена пароля",session_revoke:"завершение сессии",code_reveal:"показ кода",device_revoke:"отзыв устройства",device_clone:"отключение клона",limit_set:"смена лимита устройств",bonus_grant:"выдача бонусных устройств",bonus_remove:"снятие бонусных устройств",days_subtract:"убавление дней",payment_confirm:"подтверждение платежа",payment_reject:"отклонение платежа",swaps_reset:"сброс счётчика смен",ads_config:"настройки рекламы",ads_banner_add:"новый баннер",ads_banner_save:"изменение баннера",ads_banner_remove:"удаление баннера"},w6={bad_label:"неверная метка",duplicate:"повтор уведомления",amount:"неверная сумма",bad_signature:"неверная подпись",ignored:"игнорирован",webhook:"уведомление",no_account:"нет аккаунта",no_subscription:"нет подписки",unaccepted:"ждёт подтверждения",rejected:"отклонён",refunded:"возврат звёзд"},j6={new:"новая подписка",sub:"продление",dev:"доп. устройство"};function C6(e,t){const n=e&&j6[e]||"метка не найдена";return t?n+" · "+t+" ₽":n}function _6(e){return x6[e]||e}function A6(e){return b6[e]||e||"неизвестно"}function E6(e){return S6[e]||e}function PM(e){return w6[e]||e||"проблема"}function kM(e){return e&&e.provider==="stars"?"Звёзды":e&&e.provider==="crypto"?"Крипта"+(e.asset?" "+e.asset:""):"ЮMoney"}function O6(e){return!e||e==="down"?"недоступен":e==="timeout"?"таймаут":e.indexOf("http_")===0?"ошибка HTTP "+e.slice(5):e}function IM(e,t){const n=u=>'"'+String(u??"").replace(/"/g,'""')+'"',r=t.map(u=>u.map(c=>n(c)).join(",")).join(` -`)+` -`,l=new Blob([r],{type:"text/csv;charset=utf-8"}),o=document.createElement("a");o.href=URL.createObjectURL(l),o.download=e,o.click(),URL.revokeObjectURL(o.href)}const N6=[["","Все действия"],["login","Вход"],["grant","Выдача дней"],["issue","Выдача кода"],["promo_create","Промо"],["code_reveal","Показ кода"],["device_revoke","Отзыв устройства"],["device_clone","Отключение клона"],["limit_set","Лимит устройств"],["bonus_grant","Бонусные устройства"],["bonus_remove","Снятие бонуса"],["days_subtract","Убавление дней"],["payment_confirm","Подтверждение платежа"],["payment_reject","Отклонение платежа"],["swaps_reset","Сброс смен"],["message","Сообщение"],["settings_save","Настройки"],["ads_config","Реклама: настройки"],["ads_banner_add","Реклама: новый баннер"],["ads_banner_save","Реклама: изменение баннера"],["ads_banner_remove","Реклама: удаление баннера"]],T6=[["","Все причины"],["bad_code","Неверный код"],["expired","Подписка истекла"],["other_device","Чужое устройство"],["device_limit","Лимит устройств"],["extra_expired","Доп. устройство не продлено"]];function RE(e){const t=Number(e)||0;if(t<1024)return t+" Б";const n=["КБ","МБ","ГБ"];let r=t/1024,l=0;for(;r>=1024&&l{r&&o(r)},[r]),b.useEffect(()=>{const B=t.map(F=>F.telegramId);o(F=>u6(F,B,r||""))},[t,r]);function T(B){if(!O.current)return;const F=A.current,se=N.current;F&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{se?se.scrollIntoView({block:"end"}):F.scrollTop=F.scrollHeight})})}b.useEffect(()=>{if(O.current=!0,!u){h([]),v("");return}let B=!1;async function F(){const ue=await ot("/admin/api/support?telegramId="+encodeURIComponent(u));if(B)return;const de=ue.messages||[];h(G=>R6(G,de)?G:de),v(u)}F();const se=window.setInterval(()=>void F(),2500);return()=>{B=!0,window.clearInterval(se)}},[u]),b.useEffect(()=>{T()},[c,u]);async function R(B){var de,G;B.preventDefault();const F=p.trim();if(!u||!F||S)return;w(!0),C("");const se=await Qt("/admin/support",e,{telegramId:u,text:F});if(w(!1),!se.ok||(de=se.flash)!=null&&de.error){C(((G=se.flash)==null?void 0:G.error)||"Не отправилось");return}x(""),O.current=!0;const ue=await ot("/admin/api/support?telegramId="+encodeURIComponent(u));h(ue.messages||[]),v(u),n()}async function E(){var F,se;if(!u||S||!window.confirm("Завершить диалог? Пользователь получит уведомление в боте."))return;w(!0),C("");const B=await Qt("/admin/support-close",e,{telegramId:u});if(w(!1),!B.ok||(F=B.flash)!=null&&F.error){C(((se=B.flash)==null?void 0:se.error)||"Не завершилось");return}n()}const D=t.find(B=>B.telegramId===u),k=!!u&&m!==u,I=!!r&&u===r&&!t.some(B=>B.telegramId===u);return f.jsxs("div",{className:"grid gap-4 lg:grid-cols-[280px_1fr]",children:[f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Диалоги"}),f.jsx(ht,{children:"Сообщения из бота"})]}),f.jsxs(xe,{className:"space-y-1",children:[t.length===0&&!I?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Пока пусто"}):null,I?f.jsxs("button",{type:"button",className:"block w-full rounded-md bg-muted px-2 py-2 text-left text-sm",onClick:()=>o(r||""),children:[f.jsx("div",{className:"font-medium",children:r}),f.jsx("div",{className:"truncate text-xs text-muted-foreground",children:"диалог из карточки пользователя"})]}):null,t.map(B=>f.jsxs("button",{type:"button",className:"block w-full rounded-md px-2 py-2 text-left text-sm "+(B.telegramId===u?"bg-muted":"hover:bg-muted/60"),onClick:()=>o(B.telegramId),children:[f.jsx("div",{className:"font-medium",children:H0(B.telegramId,B.username,B.name)}),f.jsx("div",{className:"text-xs text-muted-foreground",children:f.jsx(dt,{ms:B.lastAt,toggle:!1})}),f.jsx("div",{className:"truncate text-xs text-muted-foreground",children:B.lastText})]},B.telegramId))]})]}),f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:u?H0(u,D==null?void 0:D.username,D==null?void 0:D.name):"Выберите диалог"}),f.jsx(ht,{children:"Ответ уходит этому пользователю в бота. Ответ на уведомление в Telegram делает то же самое."})]}),f.jsxs(xe,{className:"flex flex-col gap-3",children:[f.jsxs("div",{ref:A,className:"omp-scroll h-80 min-h-0 space-y-2 overflow-y-auto overscroll-contain rounded-md border border-border/60 bg-background/40 p-3",onScroll:()=>{const B=A.current;B&&(O.current=B.scrollHeight-B.scrollTop-B.clientHeight<64)},children:[k?f.jsxs("div",{className:"space-y-2",children:[f.jsx(an,{className:"h-12 w-2/3"}),f.jsx(an,{className:"ml-auto h-12 w-1/2"})]}):null,!k&&c.length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:u?"Пока нет сообщений":"Выберите диалог слева"}):null,c.map(B=>f.jsxs("div",{className:B.direction==="out"?"text-right":"",children:[f.jsxs("div",{className:"text-xs text-muted-foreground",children:[B.direction==="out"?"Админ":"Пользователь"," · ",f.jsx(dt,{ms:B.at,toggle:!1}),B.via==="panel"?" · панель":""]}),f.jsx("div",{className:"inline-block max-w-[90%] whitespace-pre-wrap rounded-md bg-muted px-3 py-2 text-sm",children:B.text})]},B.id)),f.jsx("div",{ref:N,className:"h-px w-full shrink-0","aria-hidden":!0})]}),j?f.jsx(Bt,{variant:"destructive",children:j}):null,f.jsxs("form",{className:"shrink-0 space-y-2",onSubmit:B=>void R(B),children:[f.jsx(yS,{value:p,onChange:B=>x(B.target.value),placeholder:"Ответ пользователю",rows:3}),f.jsxs("div",{className:"flex flex-wrap gap-2",children:[f.jsx(he,{type:"submit",disabled:S||!u||!p.trim(),children:S?"Отправляю…":"Ответить"}),f.jsx(he,{type:"button",variant:"secondary",disabled:S||!u,onClick:()=>void E(),children:"Завершить диалог"})]})]})]})]})]})}function Wn({className:e,...t}){return f.jsx("div",{className:"relative w-full overflow-auto",children:f.jsx("table",{className:Wt("w-full caption-bottom text-sm",e),...t})})}function Jn({className:e,...t}){return f.jsx("thead",{className:Wt("[&_tr]:border-b",e),...t})}function er({className:e,...t}){return f.jsx("tbody",{className:Wt("[&_tr:last-child]:border-0",e),...t})}function qe({className:e,...t}){return f.jsx("tr",{className:Wt("border-b border-border transition-colors hover:bg-secondary/50",e),...t})}function Se({className:e,...t}){return f.jsx("th",{className:Wt("h-10 px-2 text-left align-middle font-medium text-muted-foreground",e),...t})}function me({className:e,...t}){return f.jsx("td",{className:Wt("p-2 align-middle",e),...t})}const D6=1440*60*1e3;function Dl({label:e,question:t,yes:n,onYes:r,variant:l="secondary",disabled:o}){const[u,c]=b.useState(!1);return u?f.jsxs("span",{className:"inline-flex flex-wrap items-center gap-2 rounded-md border border-amber-700/60 bg-amber-950/30 px-2 py-1 text-sm",children:[f.jsx("span",{children:t}),f.jsx(he,{size:"sm",variant:"destructive",onClick:()=>{c(!1),r()},children:n}),f.jsx(he,{size:"sm",variant:"ghost",onClick:()=>c(!1),children:"Отмена"})]}):f.jsx(he,{size:"sm",variant:l,disabled:o,onClick:()=>c(!0),children:e})}function P6({ms:e}){return e?f.jsx(dt,{ms:e}):f.jsx("span",{className:"text-muted-foreground",children:"не было"})}function k6({user:e}){const t=e.subscription;return!t||!t.overLimit?null:f.jsxs(Bt,{variant:"warn",children:["Устройств больше лимита: привязано ",t.bound," при лимите ",t.deviceLimit,". Устройства сверх лимита (привязанные последними) не работают. Отзовите лишнее или поднимите лимит."]})}function I6({user:e,run:t}){const n=e.subscription,r=e.devices||[],l=n==null?void 0:n.swaps;return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsxs(Te,{children:["Устройства"," ",n?f.jsxs(Oe,{variant:n.overLimit?"warn":"count",className:"ml-2 align-middle",children:[r.length," из ",n.deviceLimit]}):null]}),f.jsx(ht,{children:"«Последний раз» - поиск, скачивание или проверка подписки с этого устройства (обновляется не чаще раза в 10 минут). IP хранится без последней части. «Отозвать» отвязывает устройство и сразу гасит его токен, для слота выпускается новый код, пользователю уходит сообщение в Telegram."})]}),f.jsxs(xe,{className:"space-y-3",children:[r.length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Привязанных устройств нет"}):null,r.length>0?f.jsxs(Wn,{className:"min-w-[40rem]",children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Устройство"}),f.jsx(Se,{children:"Привязано, МСК"}),f.jsx(Se,{children:"Последний раз, МСК"}),f.jsx(Se,{children:"IP"}),f.jsx(Se,{})]})}),f.jsx(er,{children:r.map(o=>f.jsxs(qe,{children:[f.jsxs(me,{className:"font-mono",children:[o.name?f.jsxs("span",{className:"font-sans",children:[o.name," "]}):null,o.deviceId,"…"," ",o.overLimit?f.jsx(Oe,{variant:"warn",className:"ml-1",children:"сверх лимита, не работает"}):null,o.cloneAt?f.jsxs(Oe,{variant:"warn",className:"ml-1",title:"Использованный ключ этого устройства пришёл повторно. Если это не потеря сети - отзовите устройство.",children:["возможен клон",o.cloneCount&&o.cloneCount>1?" ×"+o.cloneCount:""]}):null,f.jsxs("div",{className:"font-sans text-xs text-muted-foreground",children:[o.auth==="refresh"?"новые токены":"старый токен",o.cloneAt?f.jsxs(f.Fragment,{children:[" · клон: ",f.jsx(dt,{ms:o.cloneAt})]}):null]})]}),f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:o.boundAt})}),f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(P6,{ms:o.lastSeenAt})}),f.jsx(me,{className:"font-mono text-xs",children:o.lastIp||"-"}),f.jsx(me,{children:f.jsx(Dl,{label:"Отозвать",variant:"destructive",question:f.jsxs(f.Fragment,{children:["Отозвать ",o.deviceId,"…? Поиск на нём перестанет работать сразу, пользователь получит сообщение в Telegram."]}),yes:"Да, отозвать",onYes:()=>void t("/admin/device-revoke",{accountId:e.account.id,deviceRowId:o.id||"",codeId:o.codeId,confirm:"yes"})})})]},o.id||o.codeId))})]}):null,l?f.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[f.jsxs("span",{children:["Смены устройства в боте: ",l.used," из ",l.limit," за 30 дней",l.left<1&&l.nextAt?f.jsxs(f.Fragment,{children:[" · следующая с ",Fo(l.nextAt)," МСК"]}):null,l.resetAt?f.jsxs("span",{className:"text-muted-foreground",children:[" ","· сброшен ",f.jsx(dt,{ms:l.resetAt})]}):null]}),f.jsx(Dl,{label:"Сбросить счётчик",question:"Разрешить пользователю ещё 2 смены прямо сейчас?",yes:"Да, сбросить",disabled:l.used===0,onYes:()=>void t("/admin/swaps-reset",{accountId:e.account.id})})]}):null]})]})}function z6({user:e,run:t}){const n=e.subscription,[r,l]=b.useState(n!=null&&n.limitOverride?String(n.limitOverride):""),[o,u]=b.useState(String((n==null?void 0:n.extraSlots)??0)),[c,h]=b.useState("1"),[m,v]=b.useState(""),[p,x]=b.useState("");if(!n)return null;const S=n.globalBase??2,w=n.bonusSlots??0,j=(r.trim()?Number(r)||0:S)+w+(Number(o)||0),C=j<(n.bound||0),A=n.bonus||[];return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsxs(Te,{children:["Лимит устройств"," ",f.jsx(Oe,{variant:"count",className:"ml-2 align-middle",children:n.deviceLimit}),n.limitOverride?f.jsx(Oe,{variant:"warn",className:"ml-2 align-middle",children:"индивидуальный лимит"}):null]}),f.jsxs(ht,{children:["Сейчас: ",n.limitText||n.deviceLimit,n.extraSlots?", купленные до "+Fo(n.extraUntil||0)+" МСК":"",". Лимит = база + бонусные + купленные. База - общая из настроек (",S,"), если не задан индивидуальный лимит: он заменяет базу и не меняется, когда меняют общую. Бонусные - бесплатно, навсегда или до даты, в цену продления не входят. Купленные (доп.) - помесячные: выданные здесь действуют до конца оплаченного периода и дальше продлеваются вместе с подпиской."]})]}),f.jsxs(xe,{className:"space-y-4",children:[f.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[f.jsxs("label",{className:"grid gap-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Индивидуальный лимит"}),f.jsx($e,{className:"w-40",type:"number",min:1,max:20,placeholder:"пусто = общий ("+S+")",value:r,onChange:N=>l(N.target.value)})]}),f.jsxs("label",{className:"grid gap-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Купленные (доп.)"}),f.jsx($e,{className:"w-24",type:"number",min:0,max:20,value:o,onChange:N=>u(N.target.value)})]}),f.jsx(Dl,{label:"Сохранить",variant:"default",question:f.jsxs(f.Fragment,{children:["Лимит станет ",j,r.trim()?" (индивидуальный "+r.trim()+")":" (общая база "+S+")",C?". Привязано "+n.bound+": последние сверх лимита перестанут работать":"",". Сохранить?"]}),yes:"Да, сохранить",onYes:()=>void t("/admin/limit",{accountId:e.account.id,limitOverride:r.trim(),extraSlots:o})})]}),f.jsxs("div",{className:"space-y-2",children:[f.jsx("p",{className:"text-sm font-medium",children:"Бонусные устройства"}),A.length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Нет"}):null,A.length>0?f.jsxs(Wn,{className:"min-w-[36rem]",children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Кол-во"}),f.jsx(Se,{children:"Срок"}),f.jsx(Se,{children:"Причина"}),f.jsx(Se,{children:"Выдано, МСК"}),f.jsx(Se,{})]})}),f.jsx(er,{children:A.map(N=>f.jsxs(qe,{children:[f.jsxs(me,{children:["+",N.count]}),f.jsxs(me,{children:[N.until===null?"навсегда":"до "+Fo(N.until),N.active?null:f.jsx(Oe,{variant:"secondary",className:"ml-1",children:"истёк"})]}),f.jsxs(me,{children:[N.reason||f.jsx("span",{className:"text-muted-foreground",children:"-"}),N.source==="promo"?null:f.jsx("span",{className:"text-xs text-muted-foreground",children:" · вручную"})]}),f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:N.grantedAt})}),f.jsx(me,{children:f.jsx(Dl,{label:"Снять",question:f.jsxs(f.Fragment,{children:["Снять ",N.count," бонусн. устр.?"]}),yes:"Да, снять",onYes:()=>void t("/admin/bonus-remove",{accountId:e.account.id,bonusId:N.id,confirm:"yes"})})})]},N.id))})]}):null,f.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[f.jsxs("label",{className:"grid gap-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Устройств"}),f.jsx($e,{className:"w-20",type:"number",min:1,max:20,value:c,onChange:N=>h(N.target.value)})]}),f.jsxs("label",{className:"grid gap-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Дней"}),f.jsx($e,{className:"w-36",type:"number",min:1,max:3650,placeholder:"пусто = навсегда",value:m,onChange:N=>v(N.target.value)})]}),f.jsxs("label",{className:"grid gap-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Причина"}),f.jsx($e,{className:"w-56",maxLength:80,value:p,onChange:N=>x(N.target.value)})]}),f.jsx(he,{size:"sm",onClick:()=>void t("/admin/bonus",{accountId:e.account.id,count:c,days:m.trim(),reason:p}),children:"Выдать бонус"})]})]})]})]})}function L6({user:e,run:t}){const n=e.subscription,[r,l]=b.useState("1");if(!n||!n.paidUntil)return null;const o=Math.floor(Number(r)),u=Number.isFinite(o)&&o>=1&&o<=3650&&String(o)===r.trim(),c=n.paidUntil-(u?o:0)*D6;return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Убавить дни"}),f.jsx(ht,{children:"Сдвигает окончание назад, например после возврата денег. Если дата уйдёт в прошлое, поиск выключится после льготного периода."})]}),f.jsxs(xe,{className:"flex flex-wrap items-end gap-2",children:[f.jsxs("label",{className:"grid gap-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Дней"}),f.jsx($e,{className:"w-24",type:"number",min:1,max:3650,value:r,onChange:h=>l(h.target.value)})]}),f.jsx(Dl,{label:"Убавить",variant:"destructive",disabled:!u,question:f.jsxs(f.Fragment,{children:["Убавить ",o," дн.? Подписка будет до ",Fo(c)," МСК",c<=Date.now()?" - это уже в прошлом":"","."]}),yes:"Да, убавить",onYes:()=>void t("/admin/subtract",{accountId:e.account.id,days:String(o),confirm:"yes"})})]})]})}function zM({rows:e,run:t,accountId:n,showWho:r}){return e.length?f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsxs(Te,{children:["Ждут подтверждения в ЮMoney"," ",f.jsx(Oe,{variant:"warn",className:"ml-2 align-middle",children:e.length})]}),f.jsx(ht,{children:"ЮMoney держит эти переводы, пока их не примут в кошельке, и подписку они не продлили. Примите перевод в кошельке и нажмите «Подтвердить платёж» - он применится один раз. «Отклонить» - если перевод отклонён или возвращён."})]}),f.jsx(xe,{className:"space-y-3",children:e.map(l=>f.jsxs("div",{className:"space-y-2 rounded-md border border-amber-800/50 px-3 py-2 text-sm",children:[f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[f.jsx(dt,{ms:l.at}),f.jsxs("span",{className:"font-medium",children:[l.amount||"?"," ₽"]}),f.jsx(Oe,{variant:"count",children:C6(l.kind,l.price)}),r&&l.accountId?f.jsx("a",{className:"text-primary",href:"/admin/?id="+encodeURIComponent(l.accountId),children:l.who||"карточка"}):null,f.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:l.operationId})]}),f.jsxs("div",{className:"flex flex-wrap gap-2",children:[f.jsx(Dl,{label:"Подтвердить платёж",variant:"default",question:f.jsxs(f.Fragment,{children:["Перевод ",l.amount," ₽ принят в кошельке? Подписка продлится сразу, пользователь получит сообщение."]}),yes:"Да, подтвердить",onYes:()=>void t("/admin/payment-confirm",{operationId:l.operationId,accountId:n||"",confirm:"yes"})}),f.jsx(Dl,{label:"Отклонить",question:f.jsxs(f.Fragment,{children:["Убрать платёж ",l.amount," ₽ из ожидания, ничего не продлевая?"]}),yes:"Да, отклонить",onYes:()=>void t("/admin/payment-reject",{operationId:l.operationId,accountId:n||"",confirm:"yes"})})]})]},l.operationId))})]}):null}const xx="omp-grant-days";function U6({user:e,run:t}){var N,O,T,R,E,D,k;const n=e.account.telegramId||"",[r,l]=b.useState(""),[o,u]=b.useState(()=>sessionStorage.getItem(xx)||"30"),[c,h]=b.useState("100"),[m,v]=b.useState({});async function p(I){const P=await ot("/admin/api/reveal?codeId="+encodeURIComponent(I));if(P.auth!==!1){if(!P.formatted){ft("Код уже привязан или скрыт");return}v(B=>({...B,[I]:{formatted:P.formatted||"",openUrl:P.openUrl}}))}}const x=!!((N=e.subscription)!=null&&N.active),S=((O=e.subscription)==null?void 0:O.paidUntil)||0,w=x&&S>0&&S-Date.now()<=1440*60*1e3,j=!!((T=e.subscription)!=null&&T.inGrace),C=e.subscription?j?"grace":x?w?"expiring":"active":"expired":"",A=(e.codes||[]).filter(I=>!I.bound);return f.jsxs("main",{className:"mx-auto w-full max-w-4xl space-y-4 px-4 py-6",children:[f.jsx(he,{variant:"link",className:"px-0",asChild:!0,children:f.jsx("a",{href:"/admin/",children:"← Назад"})}),f.jsx("h1",{className:"text-2xl font-bold",children:"Пользователь"}),f.jsx(TM,{flash:e.flash}),f.jsx(ye,{children:f.jsxs(xe,{className:"space-y-2 pt-6 text-sm",children:[f.jsxs("p",{children:[f.jsx("span",{className:"text-muted-foreground",children:"Идентификатор"})," ",e.account.id," ",f.jsx(ko,{value:e.account.id})]}),f.jsxs("p",{children:[f.jsx("span",{className:"text-muted-foreground",children:"Telegram"})," ",n?f.jsxs(f.Fragment,{children:[f.jsx(Oe,{variant:"ok",children:H0(n,e.account.telegramUsername,e.account.telegramName)})," ",f.jsx(ko,{value:n})]}):"-"]}),f.jsxs("p",{children:[f.jsx("span",{className:"text-muted-foreground",children:"Почта"})," ",e.account.email||"-"]}),f.jsxs("p",{children:[f.jsx("span",{className:"text-muted-foreground",children:"Создан"})," ",f.jsx(dt,{ms:e.account.createdAt})]}),e.subscription?f.jsxs("p",{className:"flex flex-wrap items-center gap-2",children:["Подписка до ",f.jsx(dt,{ms:e.subscription.paidUntil}),f.jsxs("span",{className:"text-muted-foreground",children:["устройств ",e.subscription.bound??0," из ",e.subscription.deviceLimit,e.subscription.limitText?" ("+e.subscription.limitText+")":""]}),f.jsx(MM,{status:C}),(e.subscription.creditRub||0)>0?f.jsxs("span",{className:"text-muted-foreground",children:["зачёт ",e.subscription.creditRub," ₽"]}):null,f.jsx("input",{className:"h-8 w-20 rounded-md border border-input bg-secondary px-2 text-sm",value:c,onChange:I=>h(I.target.value),"aria-label":"Зачёт, рубли"}),f.jsx(he,{variant:"secondary",onClick:()=>{window.confirm("Начислить зачёт "+c+" ₽?")&&t("/admin/api/credit",{accountId:e.account.id,rub:c,confirm:"yes"})},children:"Зачёт"}),j&&e.subscription.accessUntil?f.jsxs("span",{className:"text-muted-foreground",children:["льготный период до ",f.jsx(dt,{ms:e.subscription.accessUntil})]}):null]}):f.jsx("p",{className:"text-muted-foreground",children:"Нет подписки"})]})}),f.jsx(k6,{user:e}),f.jsx(zM,{rows:e.pending||[],run:t,accountId:e.account.id}),e.subscription?f.jsx(I6,{user:e,run:t}):null,f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Написать пользователю"}),f.jsx(ht,{children:n?"Сообщение уйдёт в Telegram-бота и появится во вкладке «Поддержка».":"У аккаунта нет Telegram - сначала нужна привязка в боте."})]}),f.jsx(xe,{className:"space-y-2",children:n?f.jsxs(f.Fragment,{children:[f.jsx(yS,{value:r,onChange:I=>l(I.target.value),placeholder:"Текст сообщения…",rows:4}),f.jsxs("div",{className:"flex flex-wrap gap-2",children:[f.jsx(he,{disabled:!r.trim(),onClick:()=>{const I=r.trim();I&&t("/admin/message",{accountId:e.account.id,text:I}).then(()=>l(""))},children:"Отправить в Telegram"}),f.jsx(he,{variant:"secondary",asChild:!0,children:f.jsx("a",{href:"/admin/?tab=support&tg="+encodeURIComponent(n),children:"Открыть в поддержке"})})]})]}):f.jsx("p",{className:"text-sm text-muted-foreground",children:"Привяжите Telegram в боте или через приложение OMP."})})]}),f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Выдать дни"}),f.jsx(ht,{children:"Число дней сохраняется. Перед отправкой будет подтверждение."})]}),f.jsx(xe,{className:"space-y-3",children:f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[f.jsx("label",{className:"text-sm text-muted-foreground",htmlFor:"grant-days",children:"Дней"}),f.jsxs("select",{id:"grant-days",className:"h-10 rounded-md border border-input bg-secondary px-3 text-sm",value:o,onChange:I=>{u(I.target.value),sessionStorage.setItem(xx,I.target.value)},children:[f.jsx("option",{value:"1",children:"1"}),f.jsx("option",{value:"7",children:"7"}),f.jsx("option",{value:"30",children:"30"}),f.jsx("option",{value:"90",children:"90"})]}),f.jsx(he,{onClick:()=>{window.confirm("Выдать +"+o+" дн.?")&&(sessionStorage.setItem(xx,o),t("/admin/grant",{accountId:e.account.id,days:o}))},children:"Выдать"})]})})]}),f.jsx(L6,{user:e,run:t},"sub-"+(((R=e.subscription)==null?void 0:R.paidUntil)||0)),f.jsx(z6,{user:e,run:t},"lim-"+(((E=e.subscription)==null?void 0:E.limitOverride)??"")+"-"+(((D=e.subscription)==null?void 0:D.extraSlots)??"")+"-"+(((k=e.subscription)==null?void 0:k.limitText)??"")),f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Свободные коды"}),f.jsx(ht,{children:"Коды ещё не привязанных слотов, открываются кнопкой «Показать». Привязанные - выше, в «Устройствах»."})]}),f.jsxs(xe,{className:"space-y-2",children:[A.length===0?f.jsx("p",{className:"text-muted-foreground",children:"Нет свободных кодов"}):null,A.map(I=>{const P=m[I.id];return f.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[f.jsx("span",{className:"font-mono",children:(P==null?void 0:P.formatted)||(I.bound?"привязан · "+(I.deviceId||""):"скрыт")}),f.jsxs("span",{className:"text-muted-foreground",children:["создан ",f.jsx(dt,{ms:I.createdAt}),I.boundAt?f.jsxs(f.Fragment,{children:[" ","· привязан ",f.jsx(dt,{ms:I.boundAt})]}):null]}),I.bound&&!I.hasPlain&&!P?f.jsx("span",{className:"text-muted-foreground",children:"код стёрт после привязки"}):null,P?f.jsx(ko,{value:P.formatted}):null,I.hasPlain&&!P?f.jsx(he,{size:"sm",variant:"secondary",onClick:()=>void p(I.id),children:"Показать"}):null,P!=null&&P.openUrl?f.jsx(he,{size:"sm",variant:"link",asChild:!0,children:f.jsx("a",{href:P.openUrl,target:"_blank",rel:"noreferrer",children:"Открыть"})}):null]},I.id)})]})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Платежи"})}),f.jsxs(xe,{children:[(e.payments||[]).length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Нет платежей"}):null,(e.payments||[]).length>0?f.jsxs(Wn,{className:"min-w-[36rem]",children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Когда, МСК"}),f.jsx(Se,{children:"Зачислено"}),f.jsx(Se,{children:"Способ"}),f.jsx(Se,{children:"Комиссия"}),f.jsx(Se,{children:"Метка"}),f.jsx(Se,{children:"Ошибка"})]})}),f.jsx(er,{children:(e.payments||[]).map((I,P)=>f.jsxs(qe,{children:[f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:I.at})}),f.jsx(me,{className:"font-mono",children:I.amount||"-"}),f.jsx(me,{children:kM(I)}),f.jsx(me,{className:"font-mono",children:I.fee==null?"-":I.fee}),f.jsx(me,{className:"font-mono text-xs",children:I.label||"-"}),f.jsxs(me,{children:[I.error?f.jsx(Oe,{variant:"bad",children:PM(I.error)}):null,I.provider==="stars"&&!I.error&&I.operationId?f.jsx(Dl,{label:"Вернуть звёзды",question:"Вернуть звёзды этому пользователю? Дни подписки останутся, их можно убавить отдельно.",yes:"Вернуть",variant:"destructive",onYes:()=>void t("/admin/payment-refund",{operationId:I.operationId,accountId:e.account.id,confirm:"yes"})}):null,!I.error&&I.provider!=="stars"?"-":null]})]},P))})]}):null]})]}),f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"История просмотра"}),f.jsx(ht,{children:"Шаги, которые приложение прислало с этого аккаунта. Без диагностики список пуст."})]}),f.jsxs(xe,{children:[(e.watch||[]).length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Нет сигналов"}):null,(e.watch||[]).length>0?f.jsx("ul",{className:"space-y-1 text-sm",children:(e.watch||[]).map((I,P)=>f.jsxs("li",{className:"flex flex-wrap gap-2",children:[f.jsx(dt,{ms:I.at}),f.jsx("span",{children:I.name}),f.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:[I.version||""," ",I.platform||""]})]},P))}):null]})]})]})}var $6=Object.defineProperty,B6=(e,t)=>$6(e,"name",{value:t,configurable:!0}),LM=b.forwardRef(B6(function(t,n){return f.jsx(ln.label,{...t,ref:n,onMouseDown:r=>{var o;r.target.closest("button, input, select, textarea")||((o=t.onMouseDown)==null||o.call(t,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}})},"Label"));const yt=b.forwardRef(({className:e,...t},n)=>f.jsx(LM,{ref:n,className:Wt("text-sm font-medium text-muted-foreground",e),...t}));yt.displayName=LM.displayName;const bS={mine:"«Мои» (сетка, список, компактно)",discoverGrid:"«Обзор»: сетка подборки",discoverRails:"«Обзор»: главная, между рельсами"},SS={phone:"Телефон",androidTv:"Android TV",webos:"webOS"};function UM(e){return e.impressions?(e.clicks/e.impressions*100).toFixed(1).replace(".",",")+"%":"-"}function Lm(e){return e?new Date(e+10800*1e3).toISOString().slice(0,10):""}function H6(e){return new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(String(r.result||"").replace(/^data:[^,]*,/,"")),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}const wS="h-10 rounded-md border border-input bg-secondary px-3 text-sm text-foreground",$M=["mine","discoverGrid","discoverRails"],BM=["phone","androidTv","webos"],jS=e=>"/v1/ads/img/"+e;function HM(){return Math.random().toString(36).slice(2)+Math.random().toString(36).slice(2)}const F6=()=>({localId:HM(),enabled:!0,title:"",text:"",advertiser:"",erid:"",url:"",image:"",weight:"1",from:"",to:"",platforms:["phone","androidTv","webos"],sections:["mine","discoverGrid","discoverRails"],tvMode:"qr"});function V6(e){return{localId:HM(),id:e.id,enabled:e.enabled,title:e.title,text:e.text,advertiser:e.advertiser,erid:e.erid,url:e.url,image:e.image,weight:String(e.weight),from:Lm(e.from),to:Lm(e.to),platforms:e.platforms,sections:e.sections,tvMode:e.tvMode}}function ME(e,t,n){const r=e.filter(l=>l!==t);return n?r.concat([t]):r}function G6({csrf:e}){const[t,n]=b.useState(null),[r,l]=b.useState(null),[o,u]=b.useState(30),[c,h]=b.useState(null),[m,v]=b.useState(null),[p,x]=b.useState(!1),[S,w]=b.useState(!1),[j,C]=b.useState(""),A=b.useRef(0),N=b.useRef(!1);async function O(E=o,D=!1){const k=await ot("/admin/api/ads?days="+E);k.auth===!1||!k.config||(n(k.config),l(k.stats||null),D||h(k.config))}b.useEffect(()=>{const E=N.current;N.current=!0;let D=!0;return(async()=>{const k=await ot("/admin/api/ads?days="+o);!D||k.auth===!1||!k.config||(n(k.config),l(k.stats||null),h(I=>E&&I?I:k.config))})(),()=>{D=!1}},[o]);async function T(E,D){var k,I;x(!0);try{const P=await Qt(E,e,D);return(k=P.flash)!=null&&k.error?(C(P.flash.error),ft(P.flash.error)):(C(""),(I=P.flash)!=null&&I.text&&ft(P.flash.text)),P}finally{x(!1)}}if(!t||!c)return f.jsx(an,{className:"h-48"});const R=(E,D,k)=>f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:"ads-"+E,children:D}),f.jsx($e,{id:"ads-"+E,inputMode:"numeric",value:String(c[E]),onChange:I=>h({...c,[E]:I.target.value})}),f.jsx("p",{className:"text-xs text-muted-foreground",children:k})]});return f.jsxs("div",{className:"space-y-4",children:[f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsxs(Te,{className:"flex flex-wrap items-center gap-2",children:["Реклама",t.enabled?f.jsx(Oe,{variant:"ok",children:"включена"}):f.jsx(Oe,{variant:"secondary",children:"выключена"}),f.jsxs(Oe,{variant:"secondary",children:["баннеров: ",t.banners.length]})]}),f.jsx(ht,{children:"Свои баннеры (прямые рекламодатели и партнёрки). Приложения читают настройки раз в 5 минут: выключатель доходит до всех за это время. Подписчикам и в «Истории», поиске, режиме выбора рекламы нет."})]}),f.jsxs(xe,{className:"space-y-4",children:[f.jsxs("label",{className:"flex items-center gap-2 text-sm font-medium",children:[f.jsx("input",{type:"checkbox",checked:c.enabled,onChange:E=>h({...c,enabled:E.target.checked})}),"Показывать рекламу (общий выключатель)"]}),f.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:"ads-provider",children:"Источник"}),f.jsxs("select",{id:"ads-provider",className:wS+" w-full",value:c.provider,onChange:E=>h({...c,provider:E.target.value}),children:[f.jsx("option",{value:"house",children:"Свои баннеры"}),f.jsx("option",{value:"yandex",disabled:!0,children:"Яндекс (позже)"})]})]}),R("everyN","Каждая N-я карточка","6-30, по умолчанию 10"),R("firstAfter","Первая не раньше карточки","1-60, по умолчанию 10"),R("afterInstallDays","Дней после установки","0-60: до этого рекламы нет"),R("maxPerScreen","На экране не больше","1-2 рекламы"),R("railsEvery","Главная «Обзора»: после каждых N рельс","2-10, первая после 2-й рельсы"),f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:"ads-minver",children:"Минимальная версия приложения"}),f.jsx($e,{id:"ads-minver",placeholder:"например 0.20.5",value:c.minAppVersion,onChange:E=>h({...c,minAppVersion:E.target.value})}),f.jsx("p",{className:"text-xs text-muted-foreground",children:"Пусто: все версии с рекламой"})]})]}),f.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[f.jsxs("fieldset",{className:"space-y-1",children:[f.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Разделы"}),$M.map(E=>f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:c.sections[E],onChange:D=>h({...c,sections:{...c.sections,[E]:D.target.checked}})}),bS[E]]},E))]}),f.jsxs("fieldset",{className:"space-y-1",children:[f.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Платформы"}),BM.map(E=>f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:c.platforms[E],onChange:D=>h({...c,platforms:{...c.platforms,[E]:D.target.checked}})}),SS[E]]},E))]}),f.jsxs("fieldset",{className:"space-y-1",children:[f.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Кому не показывать"}),f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:c.hideForSubscribers,onChange:E=>h({...c,hideForSubscribers:E.target.checked})}),"Подписчикам OMP (и в льготный период)"]}),f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:c.tvHideIfLinkedSubscriber,onChange:E=>h({...c,tvHideIfLinkedSubscriber:E.target.checked})}),"ТВ, к которому привязан телефон с подпиской"]})]})]}),c.enabled&&!t.banners.some(E=>E.enabled)?f.jsx(Bt,{variant:"warn",children:"Нет ни одного включённого баннера: приложения рекламу не покажут, пока его нет."}):null,f.jsx(he,{disabled:p,onClick:()=>{const{banners:E,...D}=c;T("/admin/ads/config",D).then(()=>O())},children:"Сохранить настройки рекламы"})]})]}),f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Баннеры"}),f.jsx(ht,{children:"По закону о рекламе на баннере видны пометка «Реклама», рекламодатель и erid (токен ОРД). Без erid баннер не сохраняется. erid добавляется и в ссылку."})]}),f.jsxs(xe,{className:"space-y-3",children:[t.banners.length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Баннеров пока нет"}):null,f.jsx("ul",{className:"space-y-2",children:t.banners.map(E=>f.jsxs("li",{className:"flex flex-wrap items-center gap-3 rounded-md border border-border p-2",children:[f.jsx("img",{src:jS(E.image),alt:"",className:"h-16 w-12 rounded object-cover"}),f.jsxs("div",{className:"min-w-0 flex-1 text-sm",children:[f.jsxs("div",{className:"font-medium",children:[E.title," ",E.enabled?null:f.jsx(Oe,{variant:"secondary",children:"выключен"})]}),f.jsxs("div",{className:"text-xs text-muted-foreground",children:[E.advertiser," · erid ",E.erid," · вес ",E.weight,E.from||E.to?" · "+(Lm(E.from)||"...")+" - "+(Lm(E.to)||"..."):""]})]}),f.jsx(he,{size:"sm",variant:"secondary",onClick:()=>v(V6(E)),children:"Изменить"}),f.jsx(he,{size:"sm",variant:"destructive",disabled:p,onClick:()=>{confirm("Удалить баннер «"+E.title+"»? Статистика по нему останется.")&&T("/admin/ads/banner-remove",{id:E.id,confirm:"yes"}).then(()=>O())},children:"Удалить"})]},E.id))}),m?f.jsx(q6,{draft:m,setDraft:v,busy:p,uploading:S,error:j,onUpload:async E=>{const D=m.localId,k=++A.current;w(!0);try{const I=await H6(E),B=(await T("/admin/ads/image",{mime:E.type,data:I})).extra,F=B&&B.imageId;if(!F||k!==A.current)return;v(se=>se&&se.localId===D?{...se,image:F}:se)}finally{k===A.current&&w(!1)}},onSave:async()=>{const{localId:E,...D}=m;(await T("/admin/ads/banner",{banner:D})).ok&&(v(null),await O())}}):f.jsx(he,{variant:"secondary",onClick:()=>v(F6()),children:"Добавить баннер"})]})]}),f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Предпросмотр"}),f.jsx(ht,{children:"Так ячейка выглядит в каждом виде карточек на телефоне. Размер всегда как у соседних карточек."})]}),f.jsx(xe,{children:f.jsx(K6,{banner:m||t.banners[0]||null})})]}),f.jsx(Y6,{stats:r,days:o,setDays:u})]})}function q6({draft:e,setDraft:t,busy:n,uploading:r,error:l,onUpload:o,onSave:u}){const c=(m,v,p)=>f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:"banner-"+m,children:v}),f.jsx($e,{id:"banner-"+m,type:(p==null?void 0:p.type)||"text",maxLength:p==null?void 0:p.max,placeholder:p==null?void 0:p.placeholder,value:e[m],onChange:x=>t({...e,[m]:x.target.value})}),p!=null&&p.hint?f.jsx("p",{className:"text-xs text-muted-foreground",children:p.hint}):null]}),h=!e.erid.trim();return f.jsxs("div",{className:"space-y-3 rounded-md border border-border p-3",children:[f.jsx("div",{className:"text-sm font-medium",children:e.id?"Изменить баннер":"Новый баннер"}),f.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[c("title","Заголовок",{max:56,hint:"До 56 знаков"}),c("advertiser","Рекламодатель",{placeholder:"ООО «Ромашка», ИНН ...",hint:"Видно на баннере рядом с пометкой «Реклама»"}),c("text","Текст",{max:140,hint:"До 140 знаков, в виде «список» и между рельсами"}),c("erid","erid (токен ОРД)",{placeholder:"2SDnjc...",hint:"Обязательно. Выдаёт ОРД или партнёрская сеть"}),c("url","Ссылка",{placeholder:"https://...",hint:"На ТВ вместо клика QR-код с этой ссылкой"}),c("weight","Вес",{hint:"1-100: чем больше, тем чаще среди баннеров"}),c("from","Показывать с",{type:"date"}),c("to","Показывать по",{type:"date"})]}),f.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.image?f.jsx("img",{src:jS(e.image),alt:"",className:"h-24 w-16 rounded object-cover"}):f.jsx("div",{className:"flex h-24 w-16 items-center justify-center rounded bg-muted text-xs",children:"нет"}),f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:"banner-image",children:"Картинка 2:3 (JPEG, PNG, WebP, до 300 КБ)"}),f.jsx("input",{id:"banner-image",type:"file",accept:"image/jpeg,image/png,image/webp",className:"text-sm",disabled:r,onChange:m=>{const v=m.target.files&&m.target.files[0];v&&o(v)}})]})]}),f.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[f.jsxs("fieldset",{className:"space-y-1",children:[f.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Разделы"}),$M.map(m=>f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:e.sections.indexOf(m)>=0,onChange:v=>t({...e,sections:ME(e.sections,m,v.target.checked)})}),bS[m]]},m))]}),f.jsxs("fieldset",{className:"space-y-1",children:[f.jsx("legend",{className:"mb-1 text-sm font-medium",children:"Платформы"}),BM.map(m=>f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:e.platforms.indexOf(m)>=0,onChange:v=>t({...e,platforms:ME(e.platforms,m,v.target.checked)})}),SS[m]]},m))]}),f.jsxs("fieldset",{className:"space-y-1",children:[f.jsx("legend",{className:"mb-1 text-sm font-medium",children:"ТВ"}),f.jsxs("select",{className:wS,value:e.tvMode,"aria-label":"Клик на ТВ",onChange:m=>t({...e,tvMode:m.target.value}),children:[f.jsx("option",{value:"qr",children:"QR-код со ссылкой"}),f.jsx("option",{value:"noclick",children:"Только баннер"})]}),f.jsxs("label",{className:"mt-2 flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:e.enabled,onChange:m=>t({...e,enabled:m.target.checked})}),"Баннер включён"]})]})]}),h?f.jsx(Bt,{variant:"warn",children:"Без erid баннер не сохранится: это требование закона о маркировке рекламы."}):null,l?f.jsx(Bt,{variant:"warn",children:l}):null,f.jsxs("div",{className:"flex gap-2",children:[f.jsx(he,{disabled:n||h,onClick:()=>void u(),children:"Сохранить баннер"}),f.jsx(he,{variant:"ghost",onClick:()=>t(null),children:"Отмена"})]})]})}function K6({banner:e}){if(!e)return f.jsx("p",{className:"text-sm text-muted-foreground",children:"Добавьте баннер, чтобы увидеть предпросмотр"});const t=e.image?jS(e.image):"",n=o=>f.jsxs("div",{className:"relative overflow-hidden rounded-lg bg-zinc-800 "+o,style:{aspectRatio:"173 / 240"},children:[t?f.jsx("img",{src:t,alt:"",className:"h-full w-full object-cover"}):null,f.jsx("span",{className:"absolute left-1 top-1 rounded bg-black/70 px-1 text-[10px] font-bold text-amber-300",children:"Реклама"})]}),r=(o,u)=>Array.from({length:o},(c,h)=>f.jsxs("div",{className:"space-y-1",children:[f.jsx("div",{className:"rounded-lg bg-zinc-700/60 "+u,style:{aspectRatio:"173 / 240"}}),f.jsx("div",{className:"h-2 w-3/4 rounded bg-zinc-700/60"})]},h)),l=f.jsxs("div",{className:"min-w-0 space-y-1",children:[n(""),f.jsx("div",{className:"line-clamp-2 text-xs font-semibold",children:e.title||"Заголовок"}),f.jsxs("div",{className:"truncate text-[10px] text-muted-foreground",children:["Реклама · ",e.advertiser||"рекламодатель"]}),f.jsxs("div",{className:"truncate text-[10px] text-muted-foreground",children:["erid: ",e.erid||"..."]})]});return f.jsxs("div",{className:"grid gap-4 md:grid-cols-5",children:[f.jsxs("div",{children:[f.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Мои»: крупно (2)"}),f.jsxs("div",{className:"grid grid-cols-2 gap-2 rounded-md bg-zinc-950 p-2",children:[r(1,""),l]})]}),f.jsxs("div",{children:[f.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Мои»: мелко (3)"}),f.jsxs("div",{className:"grid grid-cols-3 gap-1 rounded-md bg-zinc-950 p-2",children:[r(2,""),l]})]}),f.jsxs("div",{children:[f.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Мои»: список"}),f.jsxs("div",{className:"flex gap-2 rounded-md bg-zinc-950 p-2",children:[n("w-10 shrink-0"),f.jsxs("div",{className:"min-w-0 text-xs",children:[f.jsx("div",{className:"font-semibold",children:e.title||"Заголовок"}),f.jsx("div",{className:"text-muted-foreground",children:e.text}),f.jsxs("div",{className:"text-[10px] text-muted-foreground",children:["Реклама · ",e.advertiser||"рекламодатель"," · erid: ",e.erid||"..."]})]})]})]}),f.jsxs("div",{children:[f.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Мои»: компактно"}),f.jsxs("div",{className:"rounded-md bg-zinc-950 p-2 text-xs",children:[f.jsx("div",{className:"font-semibold",children:e.title||"Заголовок"}),f.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[f.jsx("span",{className:"rounded bg-amber-300/20 px-1 font-bold text-amber-300",children:"Реклама"})," ",e.advertiser||"рекламодатель"," · erid: ",e.erid||"..."]})]})]}),f.jsxs("div",{children:[f.jsx("div",{className:"mb-1 text-xs text-muted-foreground",children:"«Обзор»: 4 в ряд"}),f.jsxs("div",{className:"grid grid-cols-4 gap-1 rounded-md bg-zinc-950 p-2",children:[r(3,""),l]})]})]})}function Jh({title:e,rows:t,label:n}){return f.jsxs("div",{children:[f.jsx("div",{className:"mb-1 text-sm font-medium",children:e}),t.length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Нет данных"}):f.jsxs(Wn,{children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Что"}),f.jsx(Se,{className:"text-right",children:"Показы"}),f.jsx(Se,{className:"text-right",children:"Клики"}),f.jsx(Se,{className:"text-right",children:"CTR"})]})}),f.jsx(er,{children:t.map(r=>f.jsxs(qe,{children:[f.jsx(me,{children:n?n(r.key,r):r.key}),f.jsx(me,{className:"text-right",children:r.impressions}),f.jsx(me,{className:"text-right",children:r.clicks}),f.jsx(me,{className:"text-right",children:UM(r)})]},r.key))})]})]})}function Y6({stats:e,days:t,setDays:n}){return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsxs(Te,{className:"flex flex-wrap items-center gap-2",children:["Статистика",f.jsxs("select",{className:wS,value:t,"aria-label":"Период",onChange:r=>n(Number(r.target.value)),children:[f.jsx("option",{value:7,children:"7 дней"}),f.jsx("option",{value:30,children:"30 дней"}),f.jsx("option",{value:90,children:"90 дней"})]})]}),f.jsx(ht,{children:"Показы (ячейка видна наполовину 1 секунду) и клики по дням МСК. Без ID устройств, хранится 90 дней."})]}),f.jsx(xe,{className:"space-y-4",children:e?f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"grid grid-cols-3 gap-3",children:[[e.total.impressions,"показов"],[e.total.clicks,"кликов"],[UM(e.total),"CTR"]].map(([r,l])=>f.jsxs("div",{className:"rounded-md border border-border p-3",children:[f.jsx("div",{className:"text-2xl font-bold",children:r}),f.jsx("div",{className:"text-xs text-muted-foreground",children:l})]},l))}),f.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[f.jsx(Jh,{title:"По баннерам",rows:e.byBanner,label:(r,l)=>l.title||l.key}),f.jsx(Jh,{title:"По разделам",rows:e.bySection,label:r=>bS[r]||r}),f.jsx(Jh,{title:"По платформам",rows:e.byPlatform,label:r=>SS[r]||r})]}),f.jsx(Jh,{title:"По дням",rows:e.byDay.filter(r=>r.impressions||r.clicks).reverse().map(r=>({key:r.day,impressions:r.impressions,clicks:r.clicks}))})]}):f.jsx(an,{className:"h-24"})})]})}function DE(e){const t=e||{};return{enabled:t.enabled===!0,yoomoney:t.yoomoney===!0,stars:t.stars===!0,crypto:t.crypto===!0,notifyAll:t.notifyAll===!0,showAmounts:t.showAmounts===!0,amounts:t.amounts||"100,300,500,1000",minRub:String(t.minRub??50),maxRub:String(t.maxRub??1e5),commentMax:String(t.commentMax??200),thanksText:t.thanksText||"Спасибо! Вы поддержали проект OMP.",rubPerStar:String(t.rubPerStar??0),notifyMin:String(t.notifyMin??0)}}function X6(e,t,n){return n?e:t}function Q6(e,t){const n=Object.keys(e);for(let r=0;rDE(e)),[c,h]=b.useState(null),[m,v]=b.useState("all"),[p,x]=b.useState("all"),S=b.useRef(0),w=b.useRef(o);w.current=o;const j=b.useRef({status:m,method:p});j.current={status:m,method:p};const C=c??(t==null?void 0:t.rows)??[],A=t==null?void 0:t.summary,N=(t==null?void 0:t.chart)||[],O=(t==null?void 0:t.top)||[];b.useEffect(()=>{u(P=>X6(P,DE(e),r))},[e,r]);async function T(P=m,B=p){const F=++S.current;if(P==="all"&&B==="all"){const G=PE(F,S.current,null);G!==void 0&&h(G);return}const se=new URLSearchParams;P!=="all"&&se.set("status",P),B!=="all"&&se.set("method",B);const ue=await ot("/admin/api/donations?"+se.toString());if(ue.auth===!1)return;const de=PE(F,S.current,ue.rows||[]);de!==void 0&&h(de)}b.useEffect(()=>{const P=j.current;P.status==="all"&&P.method==="all"||T(P.status,P.method)},[t]);function R(P){l(!0),u(B=>({...B,...P}))}const E=Math.max(1,...N.map(P=>P.rub)),D=[["День",A==null?void 0:A.day],["Неделя",A==null?void 0:A.week],["Месяц",A==null?void 0:A.month]];return f.jsxs("div",{className:"space-y-4",children:[f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Донаты"})}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:o.enabled,onChange:P=>R({enabled:P.target.checked})}),"Принимать донаты"]}),f.jsxs("div",{className:"flex flex-wrap gap-4 text-sm",children:[f.jsxs("label",{className:"flex items-center gap-2",children:[f.jsx("input",{type:"checkbox",checked:o.yoomoney,onChange:P=>R({yoomoney:P.target.checked})})," ЮMoney"]}),f.jsxs("label",{className:"flex items-center gap-2",children:[f.jsx("input",{type:"checkbox",checked:o.stars,onChange:P=>R({stars:P.target.checked})})," Telegram Stars"]}),f.jsxs("label",{className:"flex items-center gap-2",children:[f.jsx("input",{type:"checkbox",checked:o.crypto,onChange:P=>R({crypto:P.target.checked})})," Crypto Pay"]}),f.jsxs("label",{className:"flex items-center gap-2",children:[f.jsx("input",{type:"checkbox",checked:o.notifyAll,onChange:P=>R({notifyAll:P.target.checked})})," Уведомлять о каждом"]}),f.jsxs("label",{className:"flex items-center gap-2",children:[f.jsx("input",{type:"checkbox",checked:o.showAmounts,onChange:P=>R({showAmounts:P.target.checked})})," Суммы в списке благодарностей"]})]}),f.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[f.jsx(Xs,{label:"Кнопки сумм",value:o.amounts,onChange:P=>R({amounts:P})}),f.jsx(Xs,{label:"Минимум, ₽",value:o.minRub,onChange:P=>R({minRub:P})}),f.jsx(Xs,{label:"Максимум, ₽",value:o.maxRub,onChange:P=>R({maxRub:P})}),f.jsx(Xs,{label:"Комментарий, символов",value:o.commentMax,onChange:P=>R({commentMax:P})}),f.jsx(Xs,{label:"₽ за 1 звезду",value:o.rubPerStar,onChange:P=>R({rubPerStar:P})}),f.jsx(Xs,{label:"Порог уведомления, ₽",value:o.notifyMin,onChange:P=>R({notifyMin:P})})]}),f.jsxs("div",{children:[f.jsx(yt,{children:"Текст благодарности"}),f.jsx($e,{value:o.thanksText,onChange:P=>R({thanksText:P.target.value})})]}),f.jsx(he,{type:"button",onClick:()=>{const P=o;n("/admin/donate",{enabled:P.enabled?"true":"false",yoomoney:P.yoomoney?"true":"false",stars:P.stars?"true":"false",crypto:P.crypto?"true":"false",notifyAll:P.notifyAll?"true":"false",showAmounts:P.showAmounts?"true":"false",amounts:P.amounts,minRub:P.minRub,maxRub:P.maxRub,commentMax:P.commentMax,thanksText:P.thanksText,rubPerStar:P.rubPerStar,notifyMin:P.notifyMin}).then(B=>{l(W6(w.current,P,Z6(B)))})},children:"Сохранить"}),f.jsx("p",{className:"text-xs text-muted-foreground",children:"Пока флаг выключен, бот отвечает, что донат недоступен. Донат не продлевает подписку. Секреты ЮMoney, Stars и Crypto Pay берутся из тех же настроек оплаты."})]})]}),f.jsx("div",{className:"grid gap-3 md:grid-cols-3",children:D.map(([P,B])=>f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:P})}),f.jsxs(xe,{className:"text-sm",children:[f.jsx("div",{children:em((B==null?void 0:B.sum)||0)}),f.jsxs("div",{className:"text-muted-foreground",children:[(B==null?void 0:B.count)||0," донатов, средний чек ",em((B==null?void 0:B.average)||0)]})]})]},P))}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"30 дней, МСК"})}),f.jsxs(xe,{children:[f.jsx("div",{className:"flex h-36 items-end gap-px overflow-x-auto",children:N.map(P=>f.jsx("div",{title:P.day+": "+P.rub,className:"flex h-full min-w-[6px] flex-1 flex-col justify-end",children:f.jsx("div",{className:"w-full rounded-sm bg-[#f5b700]",style:{height:Math.max(2,Math.round(P.rub/E*128))+"px"}})},P.day))}),f.jsxs("div",{className:"mt-1 flex justify-between text-xs text-muted-foreground",children:[f.jsx("span",{children:((k=N[0])==null?void 0:k.day)||""}),f.jsx("span",{children:((I=N[N.length-1])==null?void 0:I.day)||""})]})]})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Топ"})}),f.jsx(xe,{className:"text-sm",children:O.length?O.map(P=>f.jsxs("div",{children:[P.who,": ",em(P.sum)," (",P.count,")"]},P.who+P.sum)):f.jsx("div",{className:"text-muted-foreground",children:"Пока нет оплаченных донатов"})})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Лента"})}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"flex flex-wrap gap-2",children:[f.jsxs("select",{className:"rounded-md border bg-background px-2 py-1 text-sm",value:m,onChange:P=>{v(P.target.value),T(P.target.value,p)},children:[f.jsx("option",{value:"all",children:"все статусы"}),f.jsx("option",{value:"paid",children:"оплачен"}),f.jsx("option",{value:"pending",children:"ждёт"}),f.jsx("option",{value:"refunded",children:"возврат"})]}),f.jsxs("select",{className:"rounded-md border bg-background px-2 py-1 text-sm",value:p,onChange:P=>{x(P.target.value),T(m,P.target.value)},children:[f.jsx("option",{value:"all",children:"все способы"}),f.jsx("option",{value:"yoomoney",children:"ЮMoney"}),f.jsx("option",{value:"stars",children:"Stars"}),f.jsx("option",{value:"crypto",children:"Crypto Pay"})]}),f.jsx("a",{className:"text-sm text-primary",href:"/admin/donations.csv"+(m!=="all"||p!=="all"?"?"+new URLSearchParams({...m!=="all"?{status:m}:{},...p!=="all"?{method:p}:{}}).toString():""),children:"CSV"})]}),f.jsxs("div",{className:"overflow-x-auto",children:[f.jsxs("table",{className:"w-full text-left text-sm",children:[f.jsx("thead",{children:f.jsxs("tr",{className:"text-muted-foreground",children:[f.jsx("th",{className:"py-1 pr-2",children:"Время"}),f.jsx("th",{className:"py-1 pr-2",children:"Кто"}),f.jsx("th",{className:"py-1 pr-2",children:"Сумма"}),f.jsx("th",{className:"py-1 pr-2",children:"Способ"}),f.jsx("th",{className:"py-1 pr-2",children:"Комментарий"}),f.jsx("th",{className:"py-1 pr-2",children:"Статус"}),f.jsx("th",{className:"py-1",children:"Действия"})]})}),f.jsx("tbody",{children:C.map(P=>f.jsxs("tr",{className:"border-t border-border",children:[f.jsx("td",{className:"py-1 pr-2 whitespace-nowrap",children:P.atText}),f.jsx("td",{className:"py-1 pr-2",children:P.nameHidden?"имя скрыто":P.who||P.telegramId}),f.jsx("td",{className:"py-1 pr-2",children:em(P.amountRub)}),f.jsx("td",{className:"py-1 pr-2",children:P.method}),f.jsx("td",{className:"py-1 pr-2",children:P.commentHidden?"скрыт":P.comment}),f.jsx("td",{className:"py-1 pr-2",children:P.held&&P.status==="pending"?"ждёт в ЮMoney":J6[P.status]||P.status}),f.jsxs("td",{className:"py-1 space-x-2 whitespace-nowrap",children:[P.held&&P.status==="pending"?f.jsx("button",{type:"button",className:"text-primary",onClick:()=>{window.confirm("Подтвердить удержанный донат? Подписка не продлится.")&&n("/admin/donate/confirm",{id:P.id,confirm:"yes"}).then(()=>T())},children:"Подтвердить"}):null,P.status==="paid"?f.jsx("button",{type:"button",className:"text-primary",onClick:()=>{window.confirm("Отметить возврат? Деньги этой кнопкой не уходят.")&&n("/admin/donate/refund",{id:P.id,confirm:"yes"}).then(()=>T())},children:"Возврат"}):null,f.jsx("button",{type:"button",className:"text-primary",onClick:()=>void n("/admin/donate/hide",{id:P.id,field:"comment"}).then(()=>T()),children:P.commentHidden?"Вернуть комментарий":"Скрыть комментарий"}),f.jsx("button",{type:"button",className:"text-primary",onClick:()=>void n("/admin/donate/hide",{id:P.id,field:"name"}).then(()=>T()),children:P.nameHidden?"Вернуть имя":"Скрыть имя"})]})]},P.id))})]}),C.length?null:f.jsx("div",{className:"py-3 text-sm text-muted-foreground",children:"Пусто"})]})]})]})]})}function Xs({label:e,value:t,onChange:n}){return f.jsxs("label",{className:"block text-sm",children:[f.jsx("span",{className:"mb-1 block text-muted-foreground",children:e}),f.jsx($e,{value:t,onChange:r=>n(r.target.value)})]})}function t8({csrf:e,settings:t,journal:n,run:r}){const[l,o]=b.useState(t||{}),[u,c]=b.useState(n||[]),[h,m]=b.useState(!1),[v,p]=b.useState("");b.useEffect(()=>{o(t||{})},[t]),b.useEffect(()=>{c(n||[])},[n]);const x=async(w,j)=>{var A;const C={...l,...w};m(!0),p("");try{const N={settings:C,...j?{cancelId:j}:{}},O=r?await r(N):await Qt("/admin/referral",e,N);if(!O||O.auth===!1||O.ok===!1||(A=O.flash)!=null&&A.error){p(O&&O.flash&&O.flash.error||"Не сохранилось");return}o(C),j&&c(T=>T.map(R=>R.id===j?{...R,status:"cancelled",reason:"manual"}:R))}catch{p("Не сохранилось")}finally{m(!1)}},S=w=>void x({[w]:!l[w]});return f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Реферальная программа"})}),f.jsxs(xe,{className:"space-y-3",children:[v?f.jsx("p",{className:"text-sm text-destructive",children:v}):null,f.jsx(he,{type:"button",variant:l.enabled?"default":"secondary",disabled:h,onClick:()=>S("enabled"),children:l.enabled?"Программа включена":"Программа выключена"}),f.jsx(yt,{children:"Дни рефереру (макс. 14)"}),f.jsx($e,{defaultValue:String(l.referrerDays??0),onBlur:w=>void x({referrerDays:Number(w.target.value)})}),f.jsx(yt,{children:"Бонусные дни другу (макс. 14)"}),f.jsx($e,{defaultValue:String(l.friendDays??0),onBlur:w=>void x({friendDays:Number(w.target.value)})}),f.jsx(yt,{children:"Процент на баланс"}),f.jsx($e,{defaultValue:String(l.balancePercent??0),onBlur:w=>void x({balancePercent:Number(w.target.value)})}),f.jsx(he,{type:"button",variant:l.tiers?"default":"secondary",disabled:h,onClick:()=>S("tiers"),children:"Уровни 3/5/10"}),f.jsx(he,{type:"button",variant:l.friendDiscount?"default":"secondary",disabled:h,onClick:()=>S("friendDiscount"),children:"Скидка другу"}),f.jsx(he,{type:"button",variant:l.retention?"default":"secondary",disabled:h,onClick:()=>S("retention"),children:"Бонус удержания"}),f.jsxs("p",{className:"text-sm text-muted-foreground",children:["Начисление через ",l.delayDays??7," дн. после оплаты. Годовой лимит ",l.yearlyCap??12," мес. Только при активной подписке реферера и оплате друга."]}),f.jsx("h3",{className:"font-semibold",children:"Журнал"}),u.length===0?f.jsx("p",{className:"text-sm",children:"Начислений нет"}):u.map(w=>f.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[f.jsxs("span",{children:[w.friendId||w.id," · ",w.status," · ",w.days," дн."]}),w.status!=="cancelled"?f.jsx(he,{type:"button",variant:"secondary",disabled:h,onClick:()=>void x({},w.id),children:"Отменить"}):null]},w.id))]})]})}const n8=[["all","Все пункты"],["tech","Только техническое"],["user","Только для пользователей"]],r8={phone:"Телефон",tv:"ТВ",lg:"LG",atv:"Android TV"};function i8(e,t,n){const r=[];return e.forEach(l=>{if(!n&&l.beta)return;const o=l.items.filter(u=>t==="all"?!0:t==="tech"?u.tech:!u.tech);o.length&&r.push({...l,items:o})}),r}function a8(e){return e.unreleased?"Не выпущено":e.version}const l8="h-10 rounded-md border border-input bg-secondary px-3 text-sm text-foreground",kE=12;function o8(){const[e,t]=b.useState(null),[n,r]=b.useState("ru"),[l,o]=b.useState("all"),[u,c]=b.useState(!1),[h,m]=b.useState(kE),[v,p]=b.useState("");b.useEffect(()=>{let j=!1;return ot("/admin/api/changelog").then(C=>{if(!j){if(C.auth===!1){p("Нужен вход");return}t(C)}}).catch(C=>{j||p(C instanceof Error?C.message:"Не удалось загрузить")}),()=>{j=!0}},[]);const x=e?n==="en"&&(e.en||[]).length?e.en||[]:e.ru||[]:[],S=i8(x,l,u),w=x.reduce((j,C)=>j+C.items.filter(A=>A.tech).length,0);return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Изменения"}),f.jsxs(ht,{children:["Полный CHANGELOG из main на GitHub. Пункты ",f.jsx("code",{children:"[tech]"})," видны только здесь: в приложении, релизе и Telegram их нет."]})]}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[f.jsx("select",{className:l8,value:l,"aria-label":"Какие пункты",onChange:j=>o(j.target.value),children:n8.map(([j,C])=>f.jsx("option",{value:j,children:C},j))}),f.jsxs("div",{className:"flex gap-1",role:"group","aria-label":"Язык",children:[f.jsx(he,{size:"sm",variant:n==="ru"?"default":"secondary",onClick:()=>r("ru"),children:"RU"}),f.jsx(he,{size:"sm",variant:n==="en"?"default":"secondary",onClick:()=>r("en"),disabled:!e||!(e.en||[]).length,children:"EN"})]}),f.jsxs("label",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[f.jsx("input",{type:"checkbox",checked:u,onChange:j=>c(j.target.checked)}),"Бета-версии"]}),e!=null&&e.ok?f.jsxs("span",{className:"ml-auto text-xs text-muted-foreground",children:[w," тех. пунктов · загружено ",f.jsx(dt,{ms:n==="en"?e.enFetchedAt:e.fetchedAt})]}):null]}),v?f.jsx(Bt,{variant:"destructive",children:v}):null,e&&!e.ok?f.jsxs(Bt,{variant:"destructive",children:["GitHub не ответил",e.error?": "+e.error:"",". Попробуйте позже."]}):null,e!=null&&e.ok&&e.stale?f.jsxs(Bt,{variant:"warn",children:["Показана сохранённая копия: GitHub не ответил",e.error?" ("+e.error+")":"","."]}):null,e!=null&&e.ok&&n==="en"&&e.enStale?f.jsxs(Bt,{variant:"warn",children:["Английский текст из сохранённой копии",e.enFetchedAt?"":" (не загружался)",": CHANGELOG.en.md не ответил",e.enError?" ("+e.enError+")":"","."]}):null,e===null&&!v?f.jsx(an,{className:"h-24"}):e!=null&&e.ok&&S.length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Пунктов нет"}):f.jsxs("div",{className:"space-y-4",children:[S.slice(0,h).map(j=>f.jsxs("section",{className:"space-y-2",children:[f.jsxs("h3",{className:"flex flex-wrap items-center gap-2 text-base font-semibold",children:[a8(j),j.unreleased?f.jsx(Oe,{variant:"warn",children:"не в релизе"}):null,j.beta?f.jsx(Oe,{variant:"secondary",children:"бета"}):null]}),f.jsx("ul",{className:"space-y-1 text-sm",children:j.items.map((C,A)=>f.jsxs("li",{className:"flex items-start gap-2 rounded-md px-2 py-1 "+(C.tech?"border-l-2 border-amber-500 bg-amber-950/30":"border-l-2 border-transparent"),children:[C.tech?f.jsx(Oe,{variant:"warn",className:"shrink-0",children:"tech"}):null,C.platform?f.jsx(Oe,{variant:"secondary",className:"shrink-0",children:r8[C.platform]||C.platform}):null,f.jsx("span",{className:"min-w-0 flex-1 "+(C.tech?"text-amber-100":""),children:C.text})]},A))})]},j.version)),S.length>h?f.jsxs(he,{variant:"secondary",onClick:()=>m(j=>j+kE),children:["Показать ещё (",S.length-h,")"]}):null]})]})]})}const FM="omp-admin-monitor-view",IE={filter:"all",sort:"status",desc:!1,q:"",open:{}},F0={all:"Все",errors:"Только ошибки",noalert:"Без алерта",code:"Просит код"},V0={status:"Статус",name:"Название",ms:"Время ответа",time:"Время проверки"};function s8(e){try{const t=e?e.getItem(FM):null;if(!t)return{...IE,open:{}};const n=JSON.parse(t),r={};if(n.open&&typeof n.open=="object")for(const[l,o]of Object.entries(n.open))typeof o=="boolean"&&/^[a-z]{1,20}$/.test(l)&&(r[l]=o);return{filter:n.filter&&n.filter in F0?n.filter:"all",sort:n.sort&&n.sort in V0?n.sort:"status",desc:n.desc===!0,q:typeof n.q=="string"?n.q.slice(0,100):"",open:r}}catch{return{...IE,open:{}}}}function u8(e,t){try{e&&e.setItem(FM,JSON.stringify(t))}catch{}}function c8(e){const t=[],n=new Map;for(const r of e){const l=/^(.*):(direct|warp|site)$/.exec(r.id),o=l?l[1]:r.path==="jackett"?r.id:"";if(!o){t.push({key:r.id,kind:"check",name:r.name,target:r.target||"",checks:[r],check:r});continue}let u=n.get(o);u||(u={key:o,kind:"tracker",name:r.name,target:"",checks:[]},n.set(o,u),t.push(u)),u.checks.push(r),r.target&&!u.target&&r.path!=="jackett"&&(u.target=r.target),r.path==="jackett"?u.search=r:l&&l[2]==="direct"?u.direct=r:l&&l[2]==="warp"?u.warp=r:u.site=r}return t}function G0(e){return e.checks.some(t=>t.ok===!1)?!1:e.checks.some(t=>t.ok===!0)?!0:null}const CS=e=>e.ok===!0&&!!e.warn;function VM(e){const t=G0(e);return t===!1?"red":t===null?"none":e.checks.some(CS)?"yellow":"green"}function f8(e){const t=e%10,n=e%100,r=t===1&&n!==11?"жёлтая":t>=2&&t<=4&&(n<12||n>14)?"жёлтые":"жёлтых";return e+" "+r}const d8={red:0,yellow:1,none:2,green:3},zE=e=>d8[VM(e)],LE=e=>Math.max(0,...e.checks.map(t=>Number(t.ms)||0)),UE=e=>Math.max(0,...e.checks.map(t=>Number(t.at)||0));function h8(e,t){const n=e.checks.filter(r=>r.ok===!1);return t==="errors"?n.length>0:t==="code"?e.checks.some(CS):t==="noalert"?n.length>0&&n.every(r=>!r.alert):!0}function m8(e,t){const n=t.trim().toLowerCase();return n?[e.name,e.target,e.key,...e.checks.map(l=>l.detail)].join(" ").toLowerCase().includes(n):!0}function v8(e,t,n){const r=(o,u)=>o.name.localeCompare(u.name,"ru"),l=(o,u)=>t==="name"?r(o,u):t==="ms"?LE(o)-LE(u)||r(o,u):t==="time"?UE(o)-UE(u)||r(o,u):zE(o)-zE(u)||r(o,u);return e.map((o,u)=>({it:o,i:u})).sort((o,u)=>(n?-l(o.it,u.it):l(o.it,u.it))||o.i-u.i).map(o=>o.it)}function g8(e,t,n){const r=n.filter!=="all"||!!n.q.trim(),l=[];e.forEach(u=>{const c=t.filter(C=>C.group===u.id);if(!c.length)return;const h=c8(c),m=c.filter(C=>C.ok===!1).length,v=v8(h.filter(C=>h8(C,n.filter)&&m8(C,n.q)),n.sort,n.desc);if(r&&!v.length)return;const p=n.open[u.id],x=h.filter(C=>G0(C)===!0).length,S=h.filter(C=>G0(C)===null).length,w=h.filter(C=>VM(C)==="yellow").length,j=r?!1:p===void 0?x===h.length:!p;l.push({id:u.id,title:u.title,total:h.length,okCount:x,warned:w,skipped:S,failed:m,folded:j,items:v})});const o=new Map(e.map((u,c)=>[u.id,c]));return l.sort((u,c)=>(u.failed?0:1)-(c.failed?0:1)||(o.get(u.id)||0)-(o.get(c.id)||0))}const p8={queued:"в очереди",running:"проверяется",retry:"ждёт повтора",done:"готово"},GM=b.createContext({states:{},running:!1,pending:[],recheck:()=>{}});function q0({ids:e,red:t,recheckIds:n}){const r=n||e,l=b.useContext(GM),o=e.map(c=>l.states[c]).filter(Boolean),u=r.some(c=>l.pending.includes(c));if(l.running&&o.length){const c=o.includes("running")?"running":o.includes("retry")?"retry":o.includes("queued")?"queued":"done";return f.jsxs(Oe,{variant:c==="done"?"ok":c==="retry"?"warn":"secondary",className:"ml-2 align-middle","data-row-state":c,children:[c==="running"?f.jsx("span",{className:"mr-1 inline-block h-2 w-2 animate-spin rounded-full border border-current border-t-transparent"}):null,p8[c]]})}return!t||!r.length?null:f.jsxs(he,{type:"button",size:"sm",variant:"outline",className:"ml-2 h-7 px-2 text-xs",disabled:l.running||u,title:l.running?"Идёт проверка, дождитесь конца":"Проверить заново только эту строку",onClick:()=>l.recheck(r),"data-recheck":r.join(","),children:[u?f.jsx("span",{className:"mr-1 inline-block h-2 w-2 animate-spin rounded-full border border-current border-t-transparent"}):null,"Перепроверить"]})}const $E={direct:"напрямую",warp:"через WARP",jackett:"через Jackett",internal:"внутр. сеть"};function _S({ok:e,alerted:t,warn:n}){return e===!0&&n?f.jsx(Oe,{variant:"warn","data-status":"code",title:"Сайт отвечает страницей с капчей или проверкой на робота. Человек откроет, алерта нет.",children:"Просит код"}):e===!0?f.jsx(Oe,{variant:"ok",children:"ок"}):e===!1?f.jsx(Oe,{variant:"bad",children:t?"ошибка · в Telegram":"ошибка"}):f.jsx(Oe,{variant:"secondary",children:"-"})}function K0({strip:e,uptime:t}){return f.jsxs("div",{className:"flex items-center gap-2",title:"7 дней, по часам: зелёный - всё ок, красный - была ошибка, серый - нет данных",children:[f.jsx("div",{className:"flex h-3.5 items-stretch overflow-hidden rounded-sm","data-testid":"history-strip",children:e.split("").map((n,r)=>f.jsx("span",{className:"w-[2px] "+(n==="g"?"bg-emerald-600":n==="r"?"bg-red-600":"bg-zinc-800")},r))}),f.jsx("span",{className:"w-12 text-right text-xs text-muted-foreground",children:t==null?"-":t+"%"})]})}function qM({path:e}){return!e||!$E[e]?null:f.jsx(Oe,{variant:"secondary",className:"ml-2 align-middle",children:$E[e]})}function Um(e){return new Date(e).toLocaleTimeString("ru-RU",{timeZone:"Europe/Moscow",hour12:!1})}function KM({row:e}){return e?f.jsxs("span",{className:"text-xs",children:[e.detail||"-",e.ms?f.jsxs("span",{className:"text-muted-foreground",children:[" · ",e.ms," мс"]}):null,e.at?f.jsxs("span",{className:"text-muted-foreground",children:[" · ",Um(e.at)]}):null,e.retried&&e.ok===!1?f.jsx("span",{className:"text-muted-foreground",children:" · повтор через 30 с"}):null,!e.alert&&e.ok===!1?f.jsx("span",{className:"text-muted-foreground",children:" · без алерта"}):null]}):f.jsx("span",{className:"text-muted-foreground",children:"-"})}function BE(){try{return typeof window>"u"?null:window.localStorage}catch{return null}}function y8({rows:e}){return f.jsxs(Wn,{children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{className:"w-28",children:"Статус"}),f.jsx(Se,{children:"Проверка"}),f.jsx(Se,{children:"Результат"}),f.jsx(Se,{className:"w-[240px]",children:"7 дней"})]})}),f.jsx(er,{children:e.map(t=>f.jsxs(qe,{"data-check":t.id,children:[f.jsx(me,{children:f.jsx(_S,{ok:t.ok,alerted:t.alerted,warn:t.warn})}),f.jsxs(me,{className:"font-medium",children:[t.name,t.group==="containers"?null:f.jsx(qM,{path:t.path}),f.jsx(q0,{ids:[t.id],red:t.ok===!1})]}),f.jsxs(me,{children:[f.jsx(KM,{row:t}),t.context?f.jsx("div",{className:"text-xs text-muted-foreground",children:t.context}):null]}),f.jsx(me,{children:f.jsx(K0,{strip:t.history,uptime:t.uptime})})]},t.id))})]})}function bx({row:e}){return e?f.jsxs("div",{className:"space-y-1",children:[f.jsx(_S,{ok:e.ok,alerted:e.alerted,warn:e.warn}),f.jsxs("div",{className:"max-w-[260px] text-xs text-muted-foreground",children:[e.detail,e.ms?" · "+e.ms+" мс":"",e.at?" · "+Um(e.at):""]})]}):f.jsx("span",{className:"text-xs text-muted-foreground",children:"-"})}function x8({rows:e,withSearch:t}){return f.jsxs(Wn,{children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Трекер"}),t?f.jsx(Se,{children:"Поиск через Jackett"}):null,f.jsx(Se,{children:"Сайт напрямую"}),f.jsx(Se,{children:"Сайт через WARP"}),f.jsx(Se,{className:"w-[240px]",children:"7 дней"})]})}),f.jsx(er,{children:e.map(n=>{if(n.kind==="check"&&n.check){const l=n.check;return f.jsxs(qe,{"data-check":l.id,children:[f.jsxs(me,{className:"font-medium",children:[l.name,f.jsx(qM,{path:l.path}),f.jsx(q0,{ids:[l.id],red:l.ok===!1})]}),f.jsxs(me,{colSpan:t?3:2,children:[f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[f.jsx(_S,{ok:l.ok,alerted:l.alerted,warn:l.warn}),f.jsx(KM,{row:l})]}),l.context?f.jsx("div",{className:"text-xs text-muted-foreground",children:l.context}):null]}),f.jsx(me,{children:f.jsx(K0,{strip:l.history,uptime:l.uptime})})]},n.key)}const r=n.search||n.warp||n.direct||n.site;return f.jsxs(qe,{"data-check":n.key,children:[f.jsxs(me,{className:"font-medium",children:[n.name,f.jsx(q0,{ids:n.checks.map(l=>l.id),red:n.checks.some(l=>l.ok===!1),recheckIds:n.checks.filter(l=>l.ok===!1).map(l=>l.id)}),n.target?f.jsx("div",{className:"text-xs text-muted-foreground",children:n.target}):null]}),t?f.jsx(me,{children:f.jsx(bx,{row:n.search})}):null,f.jsx(me,{children:n.site?f.jsx("span",{className:"text-xs text-muted-foreground",children:n.site.detail}):f.jsx(bx,{row:n.direct})}),f.jsx(me,{children:n.site?null:f.jsx(bx,{row:n.warp})}),f.jsx(me,{children:r?f.jsx(K0,{strip:r.history,uptime:r.uptime}):null})]},n.key)})})]})}function b8({view:e,onToggle:t}){const{id:n,title:r,items:l,failed:o}=e,u=n==="jackett"||n==="jacred",c=r+" "+e.okCount+"/"+e.total+(e.warned?", "+f8(e.warned):"")+(e.skipped?", не проверено: "+e.skipped:""),h=o?f.jsxs(Oe,{variant:"bad",children:["ошибок: ",o]}):e.warned?f.jsxs(Oe,{variant:"warn",children:["просит код: ",e.warned]}):e.skipped?f.jsxs(Oe,{variant:"warn",children:["не проверено: ",e.skipped]}):f.jsx(Oe,{variant:"ok",children:"всё ок"});if(e.folded)return f.jsx(ye,{"data-group":n,"data-folded":"1",children:f.jsxs("button",{type:"button",className:"flex w-full items-center justify-between gap-2 px-6 py-4 text-left",onClick:()=>t(n,!0),"aria-expanded":!1,children:[f.jsxs("span",{className:"font-semibold",children:[f.jsx("span",{className:"mr-2 text-muted-foreground",children:"▸"}),c]}),h]})});const m=l.some(p=>p.kind==="tracker"),v=l.map(p=>p.check);return f.jsxs(ye,{"data-group":n,children:[f.jsxs(Ne,{className:"flex flex-row flex-wrap items-center justify-between gap-2",children:[f.jsx("button",{type:"button",className:"text-left",onClick:()=>t(n,!1),"aria-expanded":!0,children:f.jsxs(Te,{children:[f.jsx("span",{className:"mr-2 text-muted-foreground",children:"▾"}),c]})}),h]}),f.jsxs(xe,{className:"space-y-3",children:[m?f.jsx(x8,{rows:l,withSearch:n==="jackett"}):l.length?f.jsx(y8,{rows:v}):null,u?f.jsx("p",{className:"text-xs text-muted-foreground",children:n==="jackett"?"Поиск через Jackett - тот путь, которым идут пользователи (Jackett сам ходит через WARP и FlareSolverr). Сайт напрямую и через WARP показывает, какой путь закрыт. Алерт: поиск не работает, или сайт не открывается ни напрямую, ни через WARP.":"JacRed берёт базу с sync.jacred.stream, сам на трекеры не ходит. Строки трекеров показывают, открывается ли сайт напрямую и через WARP; алерт - только если ни так, ни так."}):null]})]})}const S8="h-10 rounded-md border border-input bg-secondary px-3 text-sm text-foreground";function w8({prefs:e,setPrefs:t,shown:n}){return f.jsx(ye,{children:f.jsxs(xe,{className:"flex flex-wrap items-end gap-3 pt-6",children:[f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{children:"Показать"}),f.jsx("div",{className:"flex gap-1",role:"group","aria-label":"Фильтр",children:Object.keys(F0).map(r=>f.jsx(he,{type:"button",size:"sm",className:"h-10",variant:e.filter===r?"default":"outline","aria-pressed":e.filter===r,title:r==="noalert"?"Красные строки, по которым алерт не уходит (например, сайт закрыт только напрямую)":void 0,onClick:()=>t({...e,filter:r}),children:F0[r]},r))})]}),f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:"monitorSearch",children:"Поиск"}),f.jsx($e,{id:"monitorSearch",className:"w-56",placeholder:"название, адрес, ошибка",value:e.q,onChange:r=>t({...e,q:r.target.value})})]}),f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:"monitorSort",children:"Сортировка"}),f.jsxs("div",{className:"flex gap-1",children:[f.jsx("select",{id:"monitorSort",className:S8,value:e.sort,onChange:r=>t({...e,sort:r.target.value}),children:Object.keys(V0).map(r=>f.jsx("option",{value:r,children:V0[r]},r))}),f.jsx(he,{type:"button",variant:"outline",className:"w-10 px-0",title:e.desc?"По убыванию":"По возрастанию","aria-label":e.desc?"По убыванию":"По возрастанию",onClick:()=>t({...e,desc:!e.desc}),children:e.desc?"↓":"↑"})]})]}),f.jsxs("div",{className:"text-xs text-muted-foreground",children:["Строк: ",n]})]})})}function j8({data:e,busy:t,interval:n,setInterval:r,onRun:l,onRecheck:o,onSave:u,prefs:c,setPrefs:h,onRowRecheck:m,pending:v}){const p=!!(e!=null&&e.running),x=(e==null?void 0:e.checks)||[],S=x.filter(R=>R.ok===!1).length,w=new Set(x.filter(CS).map(R=>R.id.replace(/:(direct|warp|site)$/,""))).size,j=g8((e==null?void 0:e.groups)||[],x,c),C=j.reduce((R,E)=>R+(E.folded?0:E.items.length),0),A=p&&(e==null?void 0:e.progress)||null,N=p?null:(e==null?void 0:e.lastSummary)||null,O=R=>{var E;return((E=x.find(D=>D.id===R))==null?void 0:E.name)||R},T={states:(A==null?void 0:A.states)||{},running:p,pending:v||[],recheck:m||(()=>{})};return f.jsx(GM.Provider,{value:T,children:f.jsxs("div",{className:"space-y-4",children:[f.jsxs(ye,{children:[f.jsxs(Ne,{className:"flex flex-row flex-wrap items-start justify-between gap-3",children:[f.jsxs("div",{className:"space-y-1",children:[f.jsx(Te,{children:"Мониторинг"}),f.jsxs(ht,{children:[e!=null&&e.lastRun?"Последняя проверка: "+zi(e.lastRun.finishedAt)+(e.lastRun.trigger==="manual"?" (вручную)":e.lastRun.trigger==="recheck"?" (перепроверка)":"")+".":"Проверок ещё не было.",e!=null&&e.scheduled&&(e!=null&&e.nextRunAt)?" Следующая около "+zi(e.nextRunAt)+".":"",e&&!e.scheduled?" Расписание на этом экземпляре выключено, работает только ручная проверка.":""]}),f.jsx(ht,{children:"Перед алертом упавшая проверка повторяется через 30 с. Алерт приходит в Telegram один раз на проблему и ещё раз, когда починилось."})]}),f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[x.length?S?f.jsxs(Oe,{variant:"bad",children:["ошибок: ",S]}):f.jsx(Oe,{variant:"ok",children:"всё ок"}):null,w?f.jsxs(Oe,{variant:"warn",title:"Сайты, которые отвечают капчей или проверкой на робота (без алерта)",children:["просит код: ",w]}):null,f.jsx(he,{type:"button",disabled:t||p,onClick:l,children:p?"Проверка идёт…":"Проверить сейчас"}),S?f.jsx(he,{type:"button",variant:"secondary",disabled:t||p,onClick:o,title:"Запустить заново только красные проверки, остальные сохраняют последний результат",children:"Перепроверить все ошибки"}):null]})]}),f.jsxs(xe,{className:"space-y-3",children:[A?f.jsxs("div",{className:"space-y-1","data-testid":"monitor-progress",children:[f.jsxs("div",{className:"text-sm",children:["Проверка идёт: ",A.done," из ",A.total,", начата ",Um(A.startedAt)," МСК",A.trigger==="recheck"?" (перепроверка)":"",Object.values(A.states).includes("retry")?", ждёт повтора: "+Object.values(A.states).filter(R=>R==="retry").length:""]}),f.jsx("div",{className:"h-2 w-full max-w-md overflow-hidden rounded bg-zinc-800",children:f.jsx("div",{className:"h-full bg-amber-500 transition-all",style:{width:Math.round(100*A.done/Math.max(1,A.total))+"%"}})})]}):null,N?f.jsxs("div",{className:"text-sm text-muted-foreground","data-testid":"monitor-summary",children:["Готово в ",Um(N.finishedAt)," МСК",N.ids?" ("+N.ids.map(O).join(", ")+")":N.trigger==="recheck"?" (перепроверка ошибок)":"",": проверено ",N.checked,", ошибок ",N.failed,N.retried?", повторено через 30 с: "+N.retried:"",", заняло ",Math.max(1,Math.round((N.finishedAt-N.startedAt)/1e3))," с."]}):null,f.jsxs("form",{className:"flex flex-wrap items-end gap-2",onSubmit:R=>{R.preventDefault(),u()},children:[f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:"monitorInterval",children:"Интервал, минут (5-1440)"}),f.jsx($e,{id:"monitorInterval",className:"w-32",inputMode:"numeric",value:n,onChange:R=>r(R.target.value)})]}),f.jsx(he,{type:"submit",variant:"secondary",disabled:t,children:"Сохранить"})]})]})]}),e!=null&&e.error?f.jsx(Bt,{variant:"destructive",children:e.error==="read_only"?"Сервер в режиме только чтения: мониторинг не работает.":"Мониторинг недоступен на этом экземпляре."}):null,!e&&t?f.jsx(an,{className:"h-40"}):null,x.length?f.jsx(w8,{prefs:c,setPrefs:h,shown:C}):null,x.length&&!j.length?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Ничего не найдено."}):null,j.map(R=>f.jsx(b8,{view:R,onToggle:(E,D)=>h({...c,open:{...c.open,[E]:D}})},R.id))]})})}function C8({csrf:e}){const[t,n]=b.useState(null),[r,l]=b.useState(!1),[o,u]=b.useState(""),[c,h]=b.useState(""),m=b.useRef(!1),[v,p]=b.useState([]),[x,S]=b.useState(()=>s8(BE())),w=O=>{S(O),u8(BE(),O)};async function j(){let O;try{O=await ot("/admin/api/monitor")}catch{return h("Нет связи с сервером"),null}if(O.auth===!1)return h("Нужен вход"),null;if(!O.ok)return h(O.error==="read_only"?"Этот экземпляр только для чтения, мониторинг здесь не работает":"Мониторинг недоступен"),null;if(h(""),n(O),u(T=>T||String(O.intervalMin||"")),m.current&&!O.running){const T=O.lastSummary;ft(T?"Проверка завершена: проверено "+T.checked+", ошибок "+T.failed+(T.retried?", повторено через 30 с: "+T.retried:"")+", заняло "+Math.max(1,Math.round((T.finishedAt-T.startedAt)/1e3))+" с":"Проверка завершена")}return O.running||p([]),m.current=!!O.running,O}b.useEffect(()=>{l(!0),j().finally(()=>l(!1))},[]),b.useEffect(()=>{const O=window.setInterval(()=>void j(),t!=null&&t.running?3e3:6e4);return()=>window.clearInterval(O)},[t==null?void 0:t.running]);async function C(O=!1){l(!0);try{const T=await Qt("/admin/monitor/run",e,O?{only:"failed"}:{});if(T.auth===!1)return h("Нужен вход");if(!T.ok){ft(T.error||"Не запущено, обновите страницу");return}ft(O?"Перепроверяю красные проверки":"Проверка запущена, займёт до нескольких минут"),m.current=!0,await j()}catch{ft("Нет связи с сервером")}finally{l(!1)}}async function A(O){p(O);try{const T=await Qt("/admin/monitor/run",e,{ids:O});if(T.auth===!1)return h("Нужен вход");if(!T.ok){p([]),ft(T.error||"Не запущено, обновите страницу");return}m.current=!0,await j()}catch{p([]),ft("Нет связи с сервером")}}async function N(){l(!0);try{const O=await Qt("/admin/monitor/config",e,{intervalMin:o});if(O.auth===!1)return h("Нужен вход");O.ok?(ft("Интервал: "+O.intervalMin+" мин"),u(String(O.intervalMin)),await j()):ft(O.error||"Не сохранено")}catch{ft("Нет связи с сервером")}finally{l(!1)}}return f.jsxs(f.Fragment,{children:[c?f.jsx(Bt,{variant:"destructive",children:c}):null,f.jsx(j8,{data:t,busy:r,interval:o,setInterval:u,onRun:()=>void C(),onRecheck:()=>void C(!0),onSave:()=>void N(),prefs:x,setPrefs:w,onRowRecheck:O=>void A(O),pending:v})]})}function _8(){let e=0;return{next(){return e+=1,e},isCurrent(t){return t===e}}}function A8(e){if(e.auth===!1)return"Нужен вход";const t=e.ms||0;return e.reason==="probe_rate"?"лимит проверки - это лимит кнопки, не сбой DHT":e.reason==="sidecar_rate"?"sidecar занят (429) - это лимит sidecar, не лимит кнопки":e.ok||e.reason==="ok"?"ок, пиров "+(e.peers||0)+", "+t+" мс":e.reason==="not_ready"?"проверка: DHT еще не поднялся ("+t+" мс)":e.reason==="disabled"?"проверка: sidecar выключен ("+t+" мс)":e.reason==="down"?"проверка: sidecar не ответил ("+t+" мс)":e.error==="rate"||e.status===429?"лимит проверки - это лимит кнопки, не сбой DHT":e.status===503?"проверка: sidecar выключен ("+t+" мс)":"проверка не прошла ("+(e.status||0)+", "+t+" мс)"}const E8=2e4;function O8(e){return e==null||e<0?"":e>=1024*1024?Math.round(e/(1024*1024)*10)/10+" МБ":Math.max(1,Math.round(e/1024))+" КБ"}function N8(e){const t=e.sidecar;return!e.configured&&!(t&&t.configured)?f.jsx(Oe,{variant:"secondary",children:"не настроен"}):t&&t.ok?f.jsxs(Oe,{variant:"ok",children:["доступен · ",t.latencyMs||0," мс"]}):f.jsx(Oe,{variant:"bad",children:"не отвечает"})}function T8(e){return e==="up"?"сокет открыт":e==="idle"?"сокет закрыт":""}function R8(e){const t=e&&typeof e.perMinute=="number"?e.perMinute:30;return t<=0?"лимит выключен (0 в настройках)":t+" запросов в минуту на устройство"}function HE({rows:e,field:t,label:n,color:r}){const l=Math.max(1,...e.map(c=>c[t])),o=e[0]?zi(e[0].t):"",u=e.length?zi(e[e.length-1].t):"";return f.jsxs("div",{children:[f.jsx("div",{className:"mb-2 text-sm text-muted-foreground",children:n}),f.jsx("div",{className:"flex h-36 items-end gap-px overflow-x-auto",children:e.map(c=>f.jsx("div",{title:zi(c.t)+": "+c[t],className:"flex h-full min-w-[4px] flex-1 flex-col justify-end",children:f.jsx("div",{className:"w-full rounded-sm",style:{height:Math.max(2,Math.round(c[t]/l*128))+"px",background:r}})},t+":"+c.t))}),f.jsxs("div",{className:"mt-1 flex justify-between text-xs text-muted-foreground",children:[f.jsx("span",{children:o}),f.jsx("span",{children:u})]})]})}function M8({csrf:e}){const[t,n]=b.useState(null),[r,l]=b.useState(""),[o,u]=b.useState(null),[c,h]=b.useState(!1),m=b.useRef(_8()),v=b.useCallback(()=>{const O=m.current.next();return ot("/admin/api/dht").then(T=>{if(m.current.isCurrent(O)){if(T.auth===!1){l("Нужен вход");return}l(""),n(T)}}).catch(T=>{m.current.isCurrent(O)&&l(T instanceof Error?T.message:"Не удалось загрузить DHT")})},[]);b.useEffect(()=>{v();const O=window.setInterval(()=>void v(),E8);return()=>{m.current.next(),window.clearInterval(O)}},[v]);async function p(){h(!0);try{const O=await ot("/admin/api/dht/probe",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({csrf:e})});u(O),await v()}catch(O){u({ok:!1,error:O instanceof Error?O.message:"проверка"})}finally{h(!1)}}const x=t&&t.stats||{},S=x.requests24h||0,w=x.withPeers24h||0,j=x.errors||[],C=x.series||[],A=t&&t.sidecar?O8(t.sidecar.rss):"",N=t&&t.sidecar&&t.sidecar.ok?T8(t.sidecar.dht):"";return f.jsxs("div",{className:"space-y-4",children:[f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[f.jsx(Te,{children:"DHT"}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(he,{type:"button",size:"sm",variant:"secondary",onClick:()=>void v(),children:"Обновить"}),f.jsx(he,{type:"button",size:"sm",disabled:!e||c,onClick:()=>void p(),children:c?"Проверка...":"Проверить DHT"})]})]})}),f.jsxs(xe,{className:"space-y-3 text-sm",children:[r?f.jsx("p",{className:"text-destructive",children:r}):null,!t&&!r?f.jsx("p",{className:"text-muted-foreground",children:"Загрузка..."}):null,t?f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[f.jsx("span",{children:"omp-dht-peers"}),N8(t),N?f.jsx("span",{className:"text-muted-foreground",children:N}):null,A?f.jsxs("span",{className:"text-muted-foreground",children:["память ",A]}):null]}),f.jsxs("p",{className:"text-muted-foreground",children:["Лимит: ",R8(t.limit),". Меняется в «Настройках». Обновление само, раз в 20 с."]}),o?f.jsx("p",{children:A8(o)}):null,f.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[f.jsxs("div",{children:[f.jsx("div",{className:"text-muted-foreground",children:"Запросов за 24 ч"}),f.jsx("div",{className:"text-lg font-semibold",children:S})]}),f.jsxs("div",{children:[f.jsx("div",{className:"text-muted-foreground",children:"С пирами"}),f.jsx("div",{className:"text-lg font-semibold",children:S?x.peersSharePct+"% ("+w+" из "+S+")":"нет запросов"}),f.jsxs("div",{className:"text-muted-foreground",children:["Ошибок за 24 ч: ",x.errors24h||0," (4xx ",x.errors4xx24h||0,", 5xx ",x.errors5xx24h||0,")"]})]}),f.jsxs("div",{children:[f.jsx("div",{className:"text-muted-foreground",children:"Среднее время"}),f.jsx("div",{className:"text-lg font-semibold",children:S?(x.avgMs||0)+" мс":"-"})]}),f.jsxs("div",{children:[f.jsx("div",{className:"text-muted-foreground",children:"p50 / p95 за 24 ч"}),f.jsx("div",{className:"text-lg font-semibold",children:S?(x.p50Ms||0)+" / "+(x.p95Ms||0)+" мс":"-"})]})]}),f.jsx(HE,{rows:C,field:"requests",label:"Запросы за 24 ч, слот 10 мин",color:"#f5b700"}),f.jsx(HE,{rows:C,field:"errors",label:"Ошибки за 24 ч, слот 10 мин",color:"#e11d48"}),f.jsx("p",{className:"text-muted-foreground",children:"429 и причина «лимит» - это лимит биллинга на запросы с устройства, а не сбой сети DHT. Панель не показывает названия торрентов и infohash. Счетчики за 24 часа лежат в Postgres и остаются после перезапуска. Токен, id устройства и infohash по-прежнему не пишутся. «Проверить DHT» зовет sidecar с постоянным тестовым хешем из нулей (это не торрент пользователя) и тоже попадает в счетчики. В таблице ошибок у такой проверки причина «проверка», без самого хеша."})]}):null]})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Последние ошибки"})}),j.length===0?f.jsx(xe,{className:"text-sm text-muted-foreground",children:"Ошибок нет"}):f.jsxs(Wn,{children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Время"}),f.jsx(Se,{children:"Код"}),f.jsx(Se,{children:"Причина"})]})}),f.jsx(er,{children:j.map((O,T)=>f.jsxs(qe,{children:[f.jsx(me,{children:zi(O.at)}),f.jsx(me,{children:O.status}),f.jsx(me,{children:O.reason})]},O.at+":"+T))})]})]})]})}const $r="space-y-1";function Sx(e){if(!e)return"0";const t=e/(1024*1024*1024);return(Math.round(t*10)/10).toString()}function D8(e){return e?Math.round(e/(1024*1024))+" МБ":"0 МБ"}function P8(e){return e.status==="disabled"?f.jsx(Oe,{variant:"secondary",children:"выключен"}):e.status==="online"?f.jsx(Oe,{variant:"ok",children:"онлайн"}):f.jsx(Oe,{variant:"bad",children:"нет ответа"})}async function k8(e,t,n){return ot(e,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({csrf:t,...n})})}function I8({csrf:e}){const[t,n]=b.useState(null),[r,l]=b.useState(""),[o,u]=b.useState(""),[c,h]=b.useState(""),[m,v]=b.useState(""),[p,x]=b.useState(""),[S,w]=b.useState("500"),[j,C]=b.useState("0"),[A,N]=b.useState("0"),[O,T]=b.useState("512"),[R,E]=b.useState("0"),[D,k]=b.useState(""),[I,P]=b.useState(""),[B,F]=b.useState(""),[se,ue]=b.useState("");async function de(){const U=await ot("/admin/api/cache");U.auth!==!1&&(n(U),U.prefixMb!==void 0&&T(String(U.prefixMb)),U.prefixPercent!==void 0&&E(String(U.prefixPercent)))}b.useEffect(()=>{de()},[]);async function G(U,Ee){u("");const ee=await k8(U,(t==null?void 0:t.csrf)||e,Ee);ee.auth!==!1&&(ee.token&&l(ee.token),ee.error&&u(ee.error),await de())}const ne=(t==null?void 0:t.enabled)===!0,ie=(t==null?void 0:t.nodes)||[],ce=(t==null?void 0:t.assignments)||[];return f.jsxs("div",{className:"space-y-4",children:[f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Кэш популярных раздач"}),f.jsx(ht,{children:"Узлы держат начало популярных раздач, чтобы воспроизведение начиналось сразу. Пока переключатель выключен, приложение и расчет ничего не меняют."})]}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[ne?f.jsx(Oe,{variant:"ok",children:"включено"}):f.jsx(Oe,{variant:"secondary",children:"выключено"}),f.jsx(he,{variant:ne?"secondary":"default",onClick:()=>void G("/admin/cache/settings",{enabled:!ne,prefixMb:O,prefixPercent:R}),children:ne?"Выключить":"Включить"}),f.jsx(he,{variant:"secondary",onClick:()=>void G("/admin/cache/recalc",{}),children:"Пересчитать"})]}),f.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Префикс, МБ (0 - брать проценты)"}),f.jsx($e,{value:O,onChange:U=>T(U.target.value)})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Префикс, %"}),f.jsx($e,{value:R,onChange:U=>E(U.target.value)})]})]}),f.jsx(he,{variant:"secondary",onClick:()=>void G("/admin/cache/settings",{enabled:ne,prefixMb:O,prefixPercent:R}),children:"Сохранить префикс"})]})]}),r?f.jsxs(Bt,{children:["Токен узла показывается один раз. Скопируйте его в конфиг сервера и закройте эту строку.",f.jsx("div",{className:"mt-2 break-all font-mono text-sm",children:r}),f.jsx(he,{className:"mt-2",variant:"secondary",onClick:()=>l(""),children:"Скрыть"})]}):null,o?f.jsx(Bt,{children:o}):null,f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Новый узел"})}),f.jsxs(xe,{className:"grid gap-3 sm:grid-cols-2",children:[f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Имя"}),f.jsx($e,{value:c,onChange:U=>h(U.target.value)})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Адрес TorrServer"}),f.jsx($e,{value:m,placeholder:"http://cache.example:8090",onChange:U=>v(U.target.value)})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Регион"}),f.jsx($e,{value:p,onChange:U=>x(U.target.value)})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Емкость, ГБ"}),f.jsx($e,{value:S,onChange:U=>w(U.target.value)})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Свой префикс, МБ (0 - общий)"}),f.jsx($e,{value:j,onChange:U=>C(U.target.value)})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Свой префикс, %"}),f.jsx($e,{value:A,onChange:U=>N(U.target.value)})]}),f.jsx(he,{onClick:()=>void G("/admin/cache/node",{name:c,url:m,region:p,capacityGb:S,prefixMb:j,prefixPercent:A}),children:"Добавить и выдать токен"})]})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Узлы"})}),f.jsx(xe,{className:"overflow-x-auto",children:f.jsxs(Wn,{children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Имя"}),f.jsx(Se,{children:"Статус"}),f.jsx(Se,{children:"Диск"}),f.jsx(Se,{children:"Heartbeat"}),f.jsx(Se,{children:"Токен"}),f.jsx(Se,{})]})}),f.jsx(er,{children:ie.length===0?f.jsx(qe,{children:f.jsx(me,{colSpan:6,children:"Узлов нет"})}):ie.map(U=>f.jsxs(qe,{children:[f.jsxs(me,{children:[f.jsx("div",{className:"font-medium",children:U.name}),f.jsx("div",{className:"text-xs text-muted-foreground",children:U.url}),f.jsxs("div",{className:"text-xs text-muted-foreground",children:[U.region||"регион не задан"," - ",Sx(U.capacityBytes)," ГБ"]})]}),f.jsxs(me,{children:[P8(U),f.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:U.torrserverOk?"TorrServer отвечает":"TorrServer молчит"})]}),f.jsxs(me,{children:[Sx(U.diskUsedBytes)," / ",Sx(U.diskTotalBytes)," ГБ"]}),f.jsx(me,{children:U.lastHeartbeat?zi(U.lastHeartbeat):"не было"}),f.jsx(me,{children:U.hasToken?"есть":"отозван"}),f.jsxs(me,{className:"space-x-2 space-y-2",children:[f.jsx(he,{variant:"secondary",onClick:()=>void G("/admin/cache/token",{id:U.id}),children:"Новый токен"}),f.jsx(he,{variant:"secondary",onClick:()=>void G("/admin/cache/token/revoke",{id:U.id}),children:"Отозвать"}),f.jsx(he,{variant:"secondary",onClick:()=>void G("/admin/cache/node/disable",{id:U.id,disabled:!U.disabled}),children:U.disabled?"Включить узел":"Выключить узел"})]})]},U.id))})]})})]}),f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Закрепить раздачу"}),f.jsx(ht,{children:"Пустой магнит означает раздачу по DHT. Ссылку с ключом трекера панель не сохранит."})]}),f.jsxs(xe,{className:"grid gap-3 sm:grid-cols-2",children:[f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"infohash"}),f.jsx($e,{value:D,onChange:U=>k(U.target.value)})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Название"}),f.jsx($e,{value:I,onChange:U=>P(U.target.value)})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Узел"}),f.jsxs("select",{className:"h-10 rounded-md border border-input bg-secondary px-3 text-sm",value:B,onChange:U=>F(U.target.value),children:[f.jsx("option",{value:"",children:"выберите"}),ie.map(U=>f.jsx("option",{value:U.id,children:U.name},U.id))]})]}),f.jsxs("div",{className:$r,children:[f.jsx(yt,{children:"Магнит"}),f.jsx($e,{value:se,onChange:U=>ue(U.target.value)})]}),f.jsx(he,{onClick:()=>void G("/admin/cache/pin",{infohash:D,title:I,nodeId:B,magnet:se}),children:"Закрепить"})]})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Назначения"})}),f.jsx(xe,{className:"overflow-x-auto",children:f.jsxs(Wn,{children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Раздача"}),f.jsx(Se,{children:"Узел"}),f.jsx(Se,{children:"Статус"}),f.jsx(Se,{children:"Префикс"}),f.jsx(Se,{})]})}),f.jsx(er,{children:ce.length===0?f.jsx(qe,{children:f.jsx(me,{colSpan:5,children:"Назначений нет"})}):ce.map(U=>f.jsxs(qe,{children:[f.jsxs(me,{children:[f.jsx("div",{children:U.title||U.infohash}),f.jsx("div",{className:"font-mono text-xs text-muted-foreground",children:U.infohash})]}),f.jsx(me,{children:U.nodeName}),f.jsxs(me,{children:[U.status,U.pinned?" - закреплено":"",U.source==="manual"?" - вручную":"",U.error?" - "+U.error:""]}),f.jsx(me,{children:D8(U.prefixBytes)}),f.jsx(me,{children:f.jsx(he,{variant:"secondary",onClick:()=>void G("/admin/cache/unpin",{id:U.id}),children:"Снять"})})]},U.id))})]})})]})]})}function z8(e){return e==="community"?"зрители":e==="blend"?"смесь":e==="pinned"?"закреп":e==="banned"?"запрет":"сиды"}function L8({csrf:e}){const[t,n]=b.useState(""),[r,l]=b.useState(null),[o,u]=b.useState(!1),c=b.useCallback(async w=>{const j=await ot("/admin/api/watch-rank?q="+encodeURIComponent(w));l(j)},[]);b.useEffect(()=>{c("")},[c]);async function h(w){u(!0),await Qt("/admin/watch-rank",e,{enabled:w}),await c(t),u(!1)}async function m(w,j){u(!0),await Qt("/admin/watch-rank",e,{infohash:w.infohash,pinned:j.pinned!==void 0?j.pinned:w.pinned,banned:j.banned!==void 0?j.banned:w.banned,note:w.note}),await c(t),u(!1)}const v=r&&r.rows?r.rows:[],p=r&&r.voices?r.voices:[],x=r&&r.codecs?r.codecs:[],S=!!(r&&r.enabled);return f.jsxs("div",{className:"space-y-4",children:[f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Подбор раздач"})}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[f.jsx(Oe,{variant:S?"ok":"secondary",children:S?"ранжирование включено":"ранжирование выключено"}),f.jsx(he,{type:"button",disabled:o,onClick:()=>void h(!S),children:S?"Выключить":"Включить"})]}),f.jsx("p",{className:"text-sm text-muted-foreground",children:"Пока нет оценок просмотра, поиск не меняет порядок. Закрепление и запрет действуют сразу. В общие таблицы попадают только хеши и счетчики."}),f.jsxs("form",{className:"flex gap-2",onSubmit:w=>{w.preventDefault(),c(t)},children:[f.jsx($e,{value:t,onChange:w=>n(w.target.value),placeholder:"Название или infohash"}),f.jsx(he,{type:"submit",children:"Найти"})]})]})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Раздачи"})}),f.jsx(xe,{children:f.jsxs(Wn,{children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Раздача"}),f.jsx(Se,{children:"Класс"}),f.jsx(Se,{children:"Оценка"}),f.jsx(Se,{children:"Сигналы"}),f.jsx(Se,{})]})}),f.jsxs(er,{children:[v.map(w=>f.jsxs(qe,{children:[f.jsxs(me,{children:[f.jsx("div",{children:w.title||w.titleKey||w.infohash}),f.jsxs("div",{className:"text-xs text-muted-foreground",children:[w.infohash.slice(0,12)," · s",w.season,"e",w.episode," · ",z8(w.reason)]})]}),f.jsx(me,{children:w.deviceClass==="tv"?"ТВ":"Телефон"}),f.jsx(me,{children:Math.round(w.score)}),f.jsxs(me,{children:[w.samples," просм., ",w.completed," до конца, ",w.switched," уходов, кадр ",w.ttffMs&&w.samples?Math.round(w.ttffMs/w.samples):0," мс, ребуфер ",w.rebufferN,", кодек ",w.codecOk,"/",w.codecOk+w.codecFail]}),f.jsxs(me,{className:"space-x-2",children:[f.jsx(he,{type:"button",disabled:o,onClick:()=>void m(w,{pinned:!w.pinned,banned:!1}),children:w.pinned?"Открепить":"Закрепить"}),f.jsx(he,{type:"button",disabled:o,onClick:()=>void m(w,{banned:!w.banned,pinned:!1}),children:w.banned?"Разрешить":"Запретить"})]})]},w.infohash+":"+w.fileIndex+":"+w.deviceClass)),v.length?null:f.jsx(qe,{children:f.jsx(me,{colSpan:5,children:"Пока нет сигналов"})})]})]})})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Озвучки и кодеки"})}),f.jsxs(xe,{className:"space-y-2 text-sm",children:[p.slice(0,12).map(w=>f.jsxs("div",{children:[w.titleKey,": ",w.voice," (",w.picks,")"]},w.titleKey+":"+w.voice)),x.map(w=>f.jsxs("div",{children:[w.deviceClass," ",w.codec,": ",w.reports]},w.deviceClass+":"+w.codec)),!p.length&&!x.length?f.jsx("div",{children:"Пока пусто"}):null]})]})]})}function wx(e){return e?Fo(e)+" МСК":""}function U8(e){if(!e)return"Опрос бота: нет данных";if(!e.enabled)return"Опрос бота выключен (BILLING_BOT_POLL=0).";const t=e.lastOkAt?wx(e.lastOkAt):"ещё не было";let n="Конфликт 409 не фиксировался.";if(e.conflictRecent){const r=wx(e.conflictAt);n="Конфликт 409 был недавно"+(r?" ("+r+")":"")+"."}else e.conflictAt&&(n="Последний конфликт 409: "+wx(e.conflictAt)+".");return"Опрос бота: последний успешный getUpdates "+t+". "+n}/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $8=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),B8=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase()),FE=e=>{const t=B8(e);return t.charAt(0).toUpperCase()+t.slice(1)},YM=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var H8={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const F8=b.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:l="",children:o,iconNode:u,...c},h)=>b.createElement("svg",{ref:h,...H8,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:YM("lucide",l),...c},[...u.map(([m,v])=>b.createElement(m,v)),...Array.isArray(o)?o:[o]]));/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const qu=(e,t)=>{const n=b.forwardRef(({className:r,...l},o)=>b.createElement(F8,{ref:o,iconNode:t,className:YM(`lucide-${$8(FE(e))}`,`lucide-${e}`,r),...l}));return n.displayName=FE(e),n};/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const V8=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]],G8=qu("ban",V8);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const q8=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],K8=qu("credit-card",q8);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Y8=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],X8=qu("repeat",Y8);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Q8=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],XM=qu("shield",Q8);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Z8=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],W8=qu("smartphone",Z8);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const J8=[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"M13 5v2",key:"dyzc3o"}],["path",{d:"M13 17v2",key:"1ont0d"}],["path",{d:"M13 11v2",key:"1wjjxi"}]],eH=qu("ticket",J8),tH="h-10 w-full rounded-md border border-input bg-secondary px-3 text-sm text-foreground sm:w-auto",nH={pay:K8,promo:eH,activate:W8,fail:G8,admin:XM,device:X8};function rH({kind:e}){const t=nH[e]||XM,n=e==="fail"?"bad":e==="pay"?"ok":"count";return f.jsxs(Oe,{variant:n,className:"gap-1",children:[f.jsx(t,{className:"h-3.5 w-3.5","aria-hidden":!0}),_6(e)]})}function iH({events:e}){const[t,n]=b.useState(""),[r,l]=b.useState(1),o=15,u=e.filter(v=>!t||v.kind===t),c=Math.max(1,Math.ceil(u.length/o)),h=u.slice((r-1)*o,r*o),m=p6(h);return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Лента событий"}),f.jsxs(ht,{className:"space-y-2",children:[f.jsx("p",{children:"Время - МСК. Нажмите на часы, чтобы увидеть секунды."}),f.jsxs("select",{className:tH,value:t,"aria-label":"Тип события",onChange:v=>{l(1),n(v.target.value)},children:[f.jsx("option",{value:"",children:"Все события"}),f.jsx("option",{value:"pay",children:"Оплата"}),f.jsx("option",{value:"promo",children:"Промо"}),f.jsx("option",{value:"activate",children:"Активация"}),f.jsx("option",{value:"fail",children:"Отказ"}),f.jsx("option",{value:"admin",children:"Админ"}),f.jsx("option",{value:"device",children:"Смена устройства"})]})]})]}),f.jsxs(xe,{children:[h.length===0?f.jsx("p",{className:"text-muted-foreground",children:"Пока пусто"}):null,f.jsx("div",{className:"space-y-4",children:m.map(v=>f.jsxs("section",{children:[f.jsx("h3",{className:"sticky top-0 z-10 bg-card py-1 text-sm font-semibold",children:v.title}),f.jsx("ol",{className:"ml-2 border-l border-border",children:v.items.map((p,x)=>f.jsxs("li",{className:"relative pb-4 pl-4",children:[f.jsx("span",{className:"absolute -left-[7px] top-1.5 h-3 w-3 rounded-full border-2 border-primary bg-card","aria-hidden":!0}),f.jsxs("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1",children:[f.jsx(dt,{ms:p.at,variant:"time"}),f.jsx(rH,{kind:p.kind}),f.jsx("span",{className:"text-sm font-medium",children:xS(p.actor,{deviceId:p.deviceId,fallback:"система"})})]}),f.jsx("p",{className:"mt-1 text-sm",children:p.text}),p.accountId?f.jsx("a",{className:"text-sm text-primary",href:"/admin/?id="+encodeURIComponent(p.accountId),children:"карточка"}):null]},v.key+"-"+x))})]},v.key))}),f.jsx(kv,{page:r,pages:c,total:u.length,onPage:l})]})]})}const Nf="h-10 rounded-md border border-input bg-secondary px-3 text-sm text-foreground";function aH({run:e}){const[t,n]=b.useState(""),[r,l]=b.useState(""),[o,u]=b.useState("telegram"),[c,h]=b.useState("30"),[m,v]=b.useState("1");return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Выдать код"}),f.jsx(ht,{children:"Дней - срок новой подписки. Если подписка уже есть, код добавляется к ней, дата окончания не меняется."})]}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"grid gap-2 md:grid-cols-5",children:[f.jsx($e,{placeholder:"Telegram id",value:t,onChange:p=>n(p.target.value)}),f.jsx($e,{placeholder:"Почта",value:r,onChange:p=>l(p.target.value)}),f.jsxs("select",{className:Nf,value:o,onChange:p=>u(p.target.value),"aria-label":"Куда отправить",children:[f.jsx("option",{value:"telegram",children:"Telegram"}),f.jsx("option",{value:"email",children:"Почта"}),f.jsx("option",{value:"none",children:"Только показать"})]}),f.jsxs("select",{className:Nf,value:c,onChange:p=>h(p.target.value),"aria-label":"Дней",children:[f.jsx("option",{value:"1",children:"1 день"}),f.jsx("option",{value:"7",children:"7 дней"}),f.jsx("option",{value:"30",children:"30 дней"}),f.jsx("option",{value:"90",children:"90 дней"}),f.jsx("option",{value:"365",children:"365 дней"})]}),f.jsx(he,{onClick:()=>void e("/admin/issue",{telegramId:t,email:r,channel:o,days:c}),children:"Выдать"})]}),f.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Сколько кодов"}),f.jsx($e,{type:"number",min:1,max:100,value:m,onChange:p=>v(p.target.value)})]}),f.jsx(he,{variant:"secondary",onClick:()=>{const p=Number(m)||1;window.confirm("Создать "+p+" новых кодов на "+c+" дн.?")&&e("/admin/issue-bulk",{count:p,days:c}).then(x=>{var w;const S=((w=x==null?void 0:x.extra)==null?void 0:w.codes)||[];S.length&&(IM("omp-codes.csv",[["код","аккаунт","до"]].concat(S.map(j=>[j.code,j.accountId||"",j.paidUntil?new Date(j.paidUntil).toISOString().slice(0,10):""]))),ft("CSV со кодами скачан"))})},children:"Создать пакетом"})]})]})]})}function lH({run:e,promos:t}){const[n,r]=b.useState(""),[l,o]=b.useState("1"),[u,c]=b.useState("1"),[h,m]=b.useState("1"),[v,p]=b.useState("0"),[x,S]=b.useState(""),[w,j]=b.useState(""),[C,A]=b.useState("0");return f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Промокоды"})}),f.jsxs(xe,{className:"space-y-4",children:[f.jsxs("div",{className:"grid gap-2 md:grid-cols-7",children:[f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Код"}),f.jsx($e,{placeholder:"пусто = сгенерировать",value:n,onChange:N=>r(N.target.value)})]}),f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Дней"}),f.jsx($e,{type:"number",value:l,onChange:N=>o(N.target.value)})]}),f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Бонусных устройств"}),f.jsx($e,{type:"number",min:0,max:20,value:v,onChange:N=>p(N.target.value)})]}),f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Бонус на дней"}),f.jsx($e,{type:"number",min:0,placeholder:"пусто = навсегда",value:x,onChange:N=>S(N.target.value)})]}),f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Активаций"}),f.jsx($e,{type:"number",value:u,onChange:N=>c(N.target.value)})]}),f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Истекает, дней"}),f.jsx($e,{type:"number",min:0,placeholder:"пусто = без срока",value:w,onChange:N=>j(N.target.value)})]}),f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Скидка, %"}),f.jsx($e,{type:"number",min:0,max:100,value:C,onChange:N=>A(N.target.value)})]}),f.jsxs("label",{className:"space-y-1 text-sm",children:[f.jsx("span",{className:"text-muted-foreground",children:"Количество"}),f.jsx($e,{type:"number",min:1,max:100,value:h,onChange:N=>m(N.target.value)})]}),f.jsx("div",{className:"flex items-end",children:f.jsx(he,{onClick:()=>{const N=Number(h)||1;e("/admin/promo",{code:n,days:l,maxUses:u,count:N,bonusSlots:v,bonusDays:x,expiresDays:w,discountPercent:C}).then(O=>{var R;const T=((R=O==null?void 0:O.extra)==null?void 0:R.promos)||[];T.length>1&&IM("omp-promos-new.csv",[["код","дней","активаций","бонусных устройств","бонус на дней"]].concat(T.map(E=>[E.code,String(E.days),String(E.maxUses),String(E.bonusSlots||0),E.bonusSlots?String(E.bonusDays||0):""])))})},children:"Создать"})})]}),f.jsx("div",{className:"flex flex-wrap gap-3 text-sm",children:f.jsx("a",{className:"text-primary",href:"/admin/promos.csv",children:"Скачать все промокоды (CSV)"})}),f.jsxs(Wn,{className:"min-w-[36rem]",children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Код"}),f.jsx(Se,{children:"Дни"}),f.jsx(Se,{children:"Бонус"}),f.jsx(Se,{children:"Создан"}),f.jsx(Se,{children:"Использования"}),f.jsx(Se,{})]})}),f.jsxs(er,{children:[t.length===0?f.jsx(qe,{children:f.jsx(me,{colSpan:6,className:"text-muted-foreground",children:"Нет промокодов"})}):null,t.map(N=>{const O=N.uses>=N.maxUses;return f.jsxs(qe,{children:[f.jsxs(me,{children:[f.jsx("span",{className:N.revoked?"text-muted-foreground":"font-mono",children:N.code})," ",f.jsx(ko,{value:N.code})]}),f.jsx(me,{children:N.days}),f.jsx(me,{children:N.bonusSlots?"+"+N.bonusSlots+" устр. "+(N.bonusDays?"на "+N.bonusDays+" дн.":"навсегда"):f.jsx("span",{className:"text-muted-foreground",children:"-"})}),f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:N.createdAt})}),f.jsxs(me,{children:[N.uses,"/",N.maxUses]}),f.jsx(me,{children:N.revoked?f.jsx("span",{className:"text-muted-foreground",children:"отозван"}):O?f.jsx("span",{className:"text-muted-foreground",children:"использован"}):f.jsx(he,{size:"sm",variant:"secondary",onClick:()=>{window.confirm("Отозвать промокод "+N.code+"?")&&e("/admin/promo-revoke",{promoId:N.id})},children:"Отозвать"})})]},N.id)})]})]})]})]})}function oH({subs:e,filter:t,setFilter:n,csrf:r}){const l=e.filter(u=>s6(u,t)),o=c6(e);return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Подписки"}),f.jsx(ht,{children:f.jsx("span",{className:"flex flex-wrap gap-1",children:[["all","Все"],["active","Активные"],["week","Истекают за 7 дней"],["unbound","Без устройства"],["grace","Льготный период"],["expired","Истекшие"]].map(([u,c])=>f.jsx(he,{size:"sm",variant:t===u?"default":"secondary",onClick:()=>n(u),children:c},u))})})]}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[f.jsx("a",{className:"text-primary",href:"/admin/subscriptions.csv",children:"Скачать подписки (CSV)"}),f.jsx("a",{className:"text-primary",href:"/admin/users.csv",children:"Скачать пользователей (CSV)"}),f.jsxs(he,{size:"sm",variant:"secondary",disabled:o.length===0,onClick:()=>{o.length&&window.confirm("Отправить напоминание "+o.length+" пользователям в Telegram?")&&(async()=>{let u=0;for(let c=0;cf.jsxs(qe,{children:[f.jsxs(me,{children:[u.who,f.jsx(ko,{value:u.telegramId})]}),f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:u.createdAt})}),f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:u.paidUntil})}),f.jsx(me,{children:f.jsx(MM,{status:u.status})}),f.jsxs(me,{children:[f.jsx(l6,{bound:u.bound,limit:u.deviceLimit,over:u.overLimit}),(u.creditRub||0)>0?f.jsxs("span",{className:"text-xs text-muted-foreground",children:["зачёт ",u.creditRub," ₽"]}):null,u.limitOverride?f.jsx("span",{className:"ml-1 text-xs text-amber-300",title:u.limitText,children:"индивид."}):null]}),f.jsx(me,{children:f.jsx("a",{className:"text-primary",href:"/admin/?id="+encodeURIComponent(u.accountId),children:"карточка"})})]},u.id))]})]})]})]})}function sH({rows:e}){return e.length?f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Проблемы"})}),f.jsx(xe,{children:f.jsx("ul",{className:"space-y-3 text-sm",children:e.map((t,n)=>{const r=[t.amount?t.amount+" ₽":"",t.label||"",t.operationId||""].filter(Boolean);return f.jsxs("li",{className:"rounded-md border border-red-900/50 bg-red-950/30 px-3 py-2",children:[f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[f.jsx(Oe,{variant:"bad",children:PM(t.kind)}),f.jsx(dt,{ms:t.at})]}),f.jsx("div",{className:"mt-1 break-all text-zinc-100",children:r.length?r.join(" · "):t.text||"Нет подробностей"})]},n)})})})]}):null}function jx(e){if(!e)return"";const t=Math.round(e*1e8)/1e8;return String(t)}function uH({row:e}){const t=e&&e.yoomoney,n=e&&e.stars,r=e&&e.crypto,l=(o,u)=>f.jsxs("div",{children:[f.jsx("div",{className:"text-sm font-medium",children:o}),f.jsx("div",{className:"text-xs text-muted-foreground",children:u.filter(Boolean).join(" · ")})]});return f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Выручка за 30 дней по способам"}),f.jsx(ht,{children:"Рубли звёзд и крипты - цена заказа на момент оплаты. Возврат звёзд в сумму не входит."})]}),f.jsxs(xe,{className:"grid gap-3 sm:grid-cols-3",children:[l("ЮMoney",[Math.round((t==null?void 0:t.rub)||0)+" ₽",((t==null?void 0:t.count)||0)+" оплат"]),l("Звёзды",[Math.round((n==null?void 0:n.stars)||0)+" звёзд",Math.round((n==null?void 0:n.rub)||0)+" ₽",((n==null?void 0:n.count)||0)+" оплат"]),l("Крипта",[r!=null&&r.usdt?jx(r.usdt)+" USDT":"",r!=null&&r.ton?jx(r.ton)+" TON":"",r!=null&&r.btc?jx(r.btc)+" BTC":"",Math.round((r==null?void 0:r.rub)||0)+" ₽",((r==null?void 0:r.count)||0)+" оплат"])]})]})}function cH({home:e}){var C,A,N,O,T,R,E,D,k,I;const[t,n]=b.useState(null),[r,l]=b.useState(0),[o,u]=b.useState(1),[c,h]=b.useState(""),[m,v]=b.useState("30"),[p,x]=b.useState(30),S=20;b.useEffect(()=>{let P=!1;const B=Date.now(),F=m==="all"?0:B-Number(m)*24*60*60*1e3,se=new URLSearchParams({q:c,offset:String((o-1)*S),limit:String(S)});return F&&se.set("from",String(F)),ot("/admin/api/payments?"+se.toString()).then(ue=>{P||ue.auth===!1||(n(ue.payments||[]),l(ue.total||0))}),()=>{P=!0}},[o,c,m]);const w=(e.series||[]).slice(p===30?-30:-90),j=Math.max(1,Math.ceil(r/S));return f.jsxs("div",{className:"space-y-4",children:[f.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-3",children:[[(A=(C=e.finance)==null?void 0:C.summary)==null?void 0:A.day,"сегодня"],[(O=(N=e.finance)==null?void 0:N.summary)==null?void 0:O.week,"неделя"],[(R=(T=e.finance)==null?void 0:T.summary)==null?void 0:R.month,"месяц"]].map(([P,B])=>f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-2xl font-bold",children:Math.round((P==null?void 0:P.sum)||0)}),f.jsxs("div",{className:"text-xs text-muted-foreground",children:["₽ ",B," · ",(P==null?void 0:P.count)||0]})]})},B))}),f.jsxs(ye,{children:[f.jsxs(Ne,{className:"flex flex-row flex-wrap items-center justify-between gap-2",children:[f.jsx(Te,{children:"Графики"}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(he,{size:"sm",variant:p===30?"default":"secondary",onClick:()=>x(30),children:"30 дней"}),f.jsx(he,{size:"sm",variant:p===90?"default":"secondary",onClick:()=>x(90),children:"90 дней"})]})]}),f.jsxs(xe,{className:"grid gap-6 lg:grid-cols-2",children:[f.jsx(TE,{rows:w,field:"revenue",label:"Выручка по дням, ₽"}),f.jsx(TE,{rows:w,field:"subs",label:"Новые подписки по дням"})]})]}),f.jsx(uH,{row:(k=(D=(E=e.finance)==null?void 0:E.summary)==null?void 0:D.month)==null?void 0:k.byMethod}),f.jsx("p",{children:f.jsx("a",{className:"text-primary",href:"/admin/finance.csv",children:"Скачать CSV за 30 дней"})}),f.jsx(sH,{rows:((I=e.finance)==null?void 0:I.problems)||[]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Платежи"})}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"flex flex-wrap gap-2",children:[f.jsx($e,{className:"max-w-xs",placeholder:"Поиск: кто, метка, сумма",value:c,onChange:P=>{u(1),h(P.target.value)}}),f.jsxs("select",{className:Nf,value:m,"aria-label":"Период",onChange:P=>{u(1),v(P.target.value)},children:[f.jsx("option",{value:"7",children:"7 дней"}),f.jsx("option",{value:"30",children:"30 дней"}),f.jsx("option",{value:"90",children:"90 дней"}),f.jsx("option",{value:"all",children:"Все"})]})]}),t===null?f.jsxs("div",{className:"space-y-2",children:[f.jsx(an,{className:"h-8"}),f.jsx(an,{className:"h-8"})]}):f.jsxs(Wn,{className:"min-w-[40rem]",children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Когда, МСК"}),f.jsx(Se,{children:"Сумма"}),f.jsx(Se,{children:"Способ"}),f.jsx(Se,{children:"Кто"}),f.jsx(Se,{children:"Метка"})]})}),f.jsxs(er,{children:[t.length===0?f.jsx(qe,{children:f.jsx(me,{colSpan:5,className:"text-muted-foreground",children:"Нет платежей"})}):null,t.map((P,B)=>f.jsxs(qe,{children:[f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:P.at})}),f.jsx(me,{children:P.amount||"-"}),f.jsx(me,{children:kM(P)}),f.jsx(me,{children:P.accountId?f.jsx("a",{className:"text-primary",href:"/admin/?id="+encodeURIComponent(P.accountId),children:P.who||P.accountId.slice(0,8)}):P.who||"-"}),f.jsx(me,{className:"break-all font-mono text-xs text-muted-foreground",children:P.label||"-"})]},(P.operationId||"")+B))]})]}),f.jsx(kv,{page:o,pages:j,total:r,onPage:u})]})]})]})}const VE=[{title:"Бот",fields:[["botToken","Токен бота"],["botUsername","Имя бота"],["publicOrigin","Публичный адрес"],["adminTelegramIds","Telegram id администраторов"],["adminReaders","Telegram id только для просмотра"],["betaPercent","Процент беты (0-100)"]]},{title:"Платежи",fields:[["yoomoneyWallet","Кошелёк ЮMoney"],["yoomoneySecret","Секрет ЮMoney"],["cryptoPayToken","Токен Crypto Pay"],["cryptoPayTestnetToken","Токен Crypto Pay (testnet)"]]},{title:"Звёзды",fields:[["starsPrice","Подписка, звёзд"],["starsExtra","Доп. устройство, звёзд"]]},{title:"Крипта",fields:[["cryptoUsdt","Подписка, USDT"],["cryptoExtraUsdt","Доп. устройство, USDT"],["cryptoRateUsdt","Курс USDT, ₽ за 1"],["cryptoTon","Подписка, TON"],["cryptoExtraTon","Доп. устройство, TON"],["cryptoRateTon","Курс TON, ₽ за 1"],["cryptoBtc","Подписка, BTC"],["cryptoExtraBtc","Доп. устройство, BTC"],["cryptoRateBtc","Курс BTC, ₽ за 1"]]},{title:"SMTP",fields:[["smtpHost","SMTP-сервер"],["smtpUser","SMTP-логин"],["smtpPass","SMTP-пароль"],["smtpFrom","SMTP-отправитель"]]},{title:"Цены",fields:[["priceRub","Цена, ₽"],["periodDays","Период, дней"],["baseDevices","Базовых устройств в подписке (1-20; кроме индивидуальных лимитов)"],["extraDeviceRub","Доп. устройство, ₽ в месяц"],["graceDays","Льготный период, дней"],["publicPromo","Промокод на пробный день (бот покажет, пока он действует)"]]},{title:"Бэкапы Postgres",fields:[["backupEveryHours","Делать дамп каждые, часов (1-168)"],["backupKeepDays","Хранить дампы, дней (1-365; последний не удаляется)"]]},{title:"DHT",fields:[["dhtPerMinute","Запросов в минуту на устройство (0-1000, 0 выключает, по умолчанию 30)"]]}],GE=new Set(["botToken","yoomoneySecret","cryptoPayToken","cryptoPayTestnetToken","smtpPass","jackettApiKey","jacredApiKey","indexerPass"]);function yf({name:e,label:t,view:n,fallback:r}){const l=n?n.text:r||"не задан";return f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:e,children:t}),f.jsx($e,{id:e,value:l,readOnly:!0,disabled:!0}),f.jsxs("p",{className:"text-xs text-muted-foreground",children:["Меняется на сервере: ",n?n.env:"переменная"," в .env, затем перезапуск billing.",n&&n.source==="db"?f.jsx("span",{className:"text-destructive",children:" Сейчас ещё в базе - перенесите в .env."}):null]})]})}function fH({backup:e}){if(!e||!e.enabled)return f.jsx(ht,{children:"Бэкапы Postgres на этом сервере не настроены (нет BILLING_PG_BACKUP_DIR)."});const t=e.last;return f.jsxs(ht,{children:[t?"Последний дамп: "+zi(t.at)+" · "+RE(t.size):"Дампов ещё нет"," · всего "+e.count+" ("+RE(e.totalBytes)+")",e.stale?f.jsx("span",{className:"text-destructive",children:" · бэкап устарел"}):null,e.lastError?f.jsxs("span",{className:"text-destructive",children:[" · ошибка: ",e.lastError]}):null,e.verify?f.jsx("span",{className:e.verify.ok?"":"text-destructive",children:" · проверка архива: "+(e.verify.ok?"список читается":e.verify.error||"ошибка")}):null]})}function dH({run:e,settings:t,storage:n,backup:r,secrets:l}){const[o,u]=b.useState({}),[c,h]=b.useState(!0),[m,v]=b.useState(!1),[p,x]=b.useState(!1),[S,w]=b.useState(!1),[j,C]=b.useState(!1),A=b.useRef(!1),[N,O]=b.useState(null),T=R=>e("/admin/settings",{...o,adminNotify:c?"true":"false",starsEnabled:m?"true":"false",cryptoEnabled:p?"true":"false",cryptoTestnet:S?"true":"false",cryptoNonRu:j?"true":"false",...R?{confirm:"yes"}:{}}).then(E=>{var D;return(D=E==null?void 0:E.flash)!=null&&D.error||(A.current=!1),E});return b.useEffect(()=>{if(A.current)return;const R={};for(const E of VE)for(const[D]of E.fields)GE.has(D)||(R[D]=String(t[D]??""));u(R),h(t.adminNotify!==!1),v(t.starsEnabled===!0),x(t.cryptoEnabled===!0),w(t.cryptoTestnet===!0),C(t.cryptoNonRu===!0)},[t]),f.jsxs("form",{className:"space-y-4",onSubmit:R=>{R.preventDefault();const E=Number(o.baseDevices),D=Number(t.baseDevices);if(Number.isInteger(E)&&E>=1&&Number.isFinite(D)&&Ef.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:R.title}),R.title==="Платежи"?f.jsx(ht,{children:"Кошелёк показывается частично. Чтобы сменить, введите новый номер целиком."}):null,R.title==="Бэкапы Postgres"?f.jsx(fH,{backup:r}):null,R.title==="DHT"?f.jsx(ht,{children:"Лимит кнопки «Проверить сиды»: сколько запросов /v1/dht-peers устройство может сделать за минуту. После сохранения действует это число. Пока поле ни разу не сохраняли, запасной предел берется из BILLING_DHT_DEVICE_MAX."}):null]}),f.jsxs(xe,{className:"grid gap-3 md:grid-cols-2",children:[R.fields.map(([E,D])=>GE.has(E)?f.jsx(yf,{name:E,label:D,view:(l||[]).find(k=>k.key===E),fallback:String(t[E]??"")},E):f.jsxs("div",{className:"space-y-1",children:[f.jsx(yt,{htmlFor:E,children:D}),f.jsx($e,{id:E,value:o[E]||"",onChange:k=>{A.current=!0,u({...o,[E]:k.target.value})}})]},E)),R.title==="Бот"?f.jsxs("label",{className:"flex items-center gap-2 text-sm md:col-span-2",children:[f.jsx("input",{type:"checkbox",checked:c,onChange:E=>{A.current=!0,h(E.target.checked)}}),"Уведомлять администраторов в Telegram (оплата, ошибка оплаты, падение сервиса, новое сообщение поддержки)"]}):null,R.title==="Звёзды"?f.jsxs("label",{className:"flex items-center gap-2 text-sm md:col-span-2",children:[f.jsx("input",{type:"checkbox",checked:m,onChange:E=>{A.current=!0,v(E.target.checked)}}),"Принимать Telegram Stars. По умолчанию выключено. Комиссия сверху не добавляется."]}):null,R.title==="Крипта"?f.jsxs("div",{className:"space-y-2 md:col-span-2",children:[f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:p,onChange:E=>{A.current=!0,x(E.target.checked)}}),"Принимать Crypto Pay (USDT, TON, BTC). По умолчанию выключено."]}),f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:S,onChange:E=>{A.current=!0,w(E.target.checked)}}),"Тестовая сеть Crypto Pay (testnet-pay.crypt.bot). Токен этого режима:"," ",String(S?t.cryptoPayTestnetToken||"не задан":t.cryptoPayToken||"не задан"),"."]}),f.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[f.jsx("input",{type:"checkbox",checked:j,onChange:E=>{A.current=!0,C(E.target.checked)}}),"Только пользователям не из РФ. Без кода страны или с кодом RU ссылка не выдаётся."]})]}):null]})]},R.title)),N?f.jsxs(Bt,{variant:"warn",children:[f.jsxs("p",{children:["Базовых устройств станет ",N.to," (сейчас ",N.from,"). Затронет подписок без индивидуального лимита: ",N.subscriptions,", перестанут работать устройств: ",N.devices," - последние привязанные сверх нового лимита. Ничего не отвязывается, при возврате базы они заработают снова."]}),f.jsxs("div",{className:"mt-2 flex gap-2",children:[f.jsxs(he,{type:"button",size:"sm",variant:"destructive",onClick:()=>{O(null),T(!0)},children:["Да, снизить до ",N.to]}),f.jsx(he,{type:"button",size:"sm",variant:"ghost",onClick:()=>O(null),children:"Отмена"})]})]}):null,f.jsx(he,{type:"submit",children:"Сохранить"})]})}function hH({row:e,checking:t}){return t&&!e?f.jsx(Oe,{variant:"secondary",children:"проверка…"}):e?e.configured?e.ok?f.jsxs(Oe,{variant:"ok",children:["работает · ",e.latencyMs," мс"]}):f.jsx(Oe,{variant:"bad",children:O6(e.error)}):f.jsx(Oe,{variant:"secondary",children:"не настроено"}):f.jsx(Oe,{variant:"secondary",children:"нет данных"})}function qE({csrf:e,settings:t,secrets:n,onSaved:r}){const l=O=>(n||[]).find(T=>T.key===O),[o,u]=b.useState({jackettUrl:String(t.jackettUrl??""),jackettEnabled:t.jackettEnabled!==!1,jacredUrl:String(t.jacredUrl??""),jacredEnabled:t.jacredEnabled!==!1,bitmagnetUrl:String(t.bitmagnetUrl??""),bitmagnetEnabled:t.bitmagnetEnabled===!0,torrserverUrl:String(t.torrserverUrl??""),indexerUser:String(t.indexerUser??"")}),[c,h]=b.useState(null),[m,v]=b.useState(null),[p,x]=b.useState(!1),[S,w]=b.useState(0),[j,C]=b.useState("");b.useEffect(()=>{u({jackettUrl:String(t.jackettUrl??""),jackettEnabled:t.jackettEnabled!==!1,jacredUrl:String(t.jacredUrl??""),jacredEnabled:t.jacredEnabled!==!1,bitmagnetUrl:String(t.bitmagnetUrl??""),bitmagnetEnabled:t.bitmagnetEnabled===!0,torrserverUrl:String(t.torrserverUrl??""),indexerUser:String(t.indexerUser??"")})},[t]);async function A(O){x(!0),C("");try{const T=await ot("/admin/api/services");if(T.auth===!1){C("Нужен вход");return}h(T.services||null),v(T.botPoll||null);const R=Date.now();w(R),O||ft("Сервисы проверены · "+zi(R))}catch(T){C(T instanceof Error?T.message:"Не удалось проверить сервисы")}finally{x(!1)}}b.useEffect(()=>{A(!1)},[]);async function N(O){O.preventDefault(),x(!0),C("");try{if((await Qt("/admin/services",e,{...o,jackettEnabled:o.jackettEnabled?"true":"false",jacredEnabled:o.jacredEnabled?"true":"false",bitmagnetEnabled:o.bitmagnetEnabled?"true":"false"})).auth===!1){C("Нужен вход");return}ft("Сервисы сохранены"),r(),await A(!0)}catch(T){C(T instanceof Error?T.message:"Не удалось сохранить")}finally{x(!1)}}return f.jsxs("div",{className:"space-y-4",children:[f.jsxs(ye,{children:[f.jsxs(Ne,{className:"flex flex-row flex-wrap items-center justify-between gap-2",children:[f.jsxs("div",{children:[f.jsx(Te,{children:"Сервисы VPS"}),f.jsxs(ht,{children:["Ключи только на сервере. Телефон ходит через billing при активной подписке. TorrServer на VPS - для мониторинга, не для пользователей.",S?" Проверено "+zi(S)+".":""]})]}),f.jsx(he,{type:"button",variant:"secondary",disabled:p,onClick:()=>void A(!1),children:p?"Проверка…":"Проверить сейчас"})]}),f.jsxs(xe,{className:"space-y-3",children:[f.jsx(mH,{poll:m}),f.jsx("div",{className:"grid gap-3 lg:grid-cols-3",children:p&&!c?f.jsxs(f.Fragment,{children:[f.jsx(an,{className:"h-24"}),f.jsx(an,{className:"h-24"}),f.jsx(an,{className:"h-24"})]}):f.jsxs(f.Fragment,{children:[f.jsx(tm,{title:"Jackett",row:c==null?void 0:c.jackett,fallback:o.jackettUrl,note:"подписчикам: "+(o.jackettEnabled?"вкл":"выкл"),checking:p}),f.jsx(tm,{title:"JacRed",row:c==null?void 0:c.jacred,fallback:o.jacredUrl,note:"подписчикам: "+(o.jacredEnabled?"вкл":"выкл"),checking:p}),f.jsx(tm,{title:"bitmagnet",row:c==null?void 0:c.bitmagnet,fallback:o.bitmagnetUrl,note:"подписчикам: "+(o.bitmagnetEnabled?"вкл":"выкл"),checking:p}),f.jsx(tm,{title:"TorrServer",row:c==null?void 0:c.torrserver,fallback:o.torrserverUrl,note:"только мониторинг",checking:p})]})})]})]}),f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Настройки сервисов"}),f.jsx(ht,{children:"Ключи и пароль - только для чтения: они в .env на сервере."})]}),f.jsx(xe,{children:f.jsxs("form",{className:"space-y-4",onSubmit:O=>void N(O),children:[f.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[f.jsx(rf,{id:"jackettUrl",label:"Адрес Jackett",value:o.jackettUrl,onChange:O=>u({...o,jackettUrl:O}),placeholder:"http://jackett:9117"}),f.jsx(yf,{name:"jackettApiKey",label:"Ключ API Jackett",view:l("jackettApiKey"),fallback:String(t.jackettApiKey??"")}),f.jsx(Cx,{label:"Jackett доступен подписчикам",checked:o.jackettEnabled,onChange:O=>u({...o,jackettEnabled:O})}),f.jsx(rf,{id:"jacredUrl",label:"Адрес JacRed",value:o.jacredUrl,onChange:O=>u({...o,jacredUrl:O}),placeholder:"http://jacred:9117"}),f.jsx(yf,{name:"jacredApiKey",label:"Ключ API JacRed",view:l("jacredApiKey"),fallback:String(t.jacredApiKey??"")}),f.jsx(Cx,{label:"JacRed доступен подписчикам",checked:o.jacredEnabled,onChange:O=>u({...o,jacredEnabled:O})}),f.jsx(rf,{id:"bitmagnetUrl",label:"Адрес bitmagnet",value:o.bitmagnetUrl,onChange:O=>u({...o,bitmagnetUrl:O}),placeholder:"http://127.0.0.1:3333"}),f.jsx(yf,{name:"bitmagnetApiKey",label:"Ключ API bitmagnet",view:l("bitmagnetApiKey"),fallback:String(t.bitmagnetApiKey??"")}),f.jsx(Cx,{label:"bitmagnet доступен подписчикам",checked:o.bitmagnetEnabled,onChange:O=>u({...o,bitmagnetEnabled:O})}),f.jsx(rf,{id:"torrserverUrl",label:"Адрес TorrServer (только мониторинг)",value:o.torrserverUrl,onChange:O=>u({...o,torrserverUrl:O}),placeholder:"http://torrserver:8090",wide:!0}),f.jsx(rf,{id:"indexerUser",label:"Логин basic-авторизации",value:o.indexerUser,onChange:O=>u({...o,indexerUser:O}),placeholder:"omp"}),f.jsx(yf,{name:"indexerPass",label:"Пароль basic-авторизации",view:l("indexerPass"),fallback:String(t.indexerPass??"")})]}),j?f.jsx(Bt,{variant:"destructive",children:j}):null,f.jsx(he,{type:"submit",disabled:p,children:"Сохранить"})]})})]})]})}function mH({poll:e}){const t=!!(e&&e.enabled&&e.conflictRecent);return f.jsxs("p",{className:"flex flex-wrap items-center gap-2 text-sm",children:[f.jsx("span",{children:U8(e)}),e&&e.enabled?t?f.jsx(Oe,{variant:"bad",children:"конфликт 409"}):f.jsx(Oe,{variant:"ok",children:"без конфликта"}):null]})}function tm({title:e,row:t,fallback:n,note:r,checking:l}){return f.jsxs("div",{className:"rounded-md border border-border p-3",children:[f.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[f.jsx("span",{className:"font-medium",children:e}),f.jsx(hH,{row:t,checking:l})]}),f.jsx("div",{className:"truncate text-xs text-muted-foreground",children:(t==null?void 0:t.url)||n||"-"}),f.jsx("div",{className:"text-xs text-muted-foreground",children:r})]})}function rf({id:e,label:t,value:n,onChange:r,placeholder:l,wide:o}){return f.jsxs("div",{className:"space-y-1 "+(o?"md:col-span-2":""),children:[f.jsx(yt,{htmlFor:e,children:t}),f.jsx($e,{id:e,value:n,placeholder:l,onChange:u=>r(u.target.value)})]})}function Cx({label:e,checked:t,onChange:n}){return f.jsxs("label",{className:"flex items-center gap-2 text-sm md:col-span-2",children:[f.jsx("input",{type:"checkbox",checked:t,onChange:r=>n(r.target.checked)}),e]})}function vH(){const[e,t]=b.useState(""),[n,r]=b.useState(""),[l,o]=b.useState(1),[u,c]=b.useState(null),[h,m]=b.useState(0),v=30;b.useEffect(()=>{let x=!1;const S=new URLSearchParams({q:e,action:n,offset:String((l-1)*v),limit:String(v)});return ot("/admin/api/audit?"+S).then(w=>{x||w.auth===!1||(c(w.audit||[]),m(w.total||0))}),()=>{x=!0}},[e,n,l]);const p=Math.max(1,Math.ceil(h/v));return f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Журнал"})}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"flex flex-wrap gap-2",children:[f.jsx($e,{className:"max-w-xs",placeholder:"Поиск",value:e,onChange:x=>{o(1),t(x.target.value)}}),f.jsx("select",{className:Nf,value:n,"aria-label":"Действие",onChange:x=>{o(1),r(x.target.value)},children:N6.map(([x,S])=>f.jsx("option",{value:x,children:S},x||"all"))})]}),u===null?f.jsx(an,{className:"h-24"}):u.length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Записей нет"}):f.jsx("ul",{className:"space-y-1 text-sm",children:u.map((x,S)=>f.jsxs("li",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[f.jsx(dt,{ms:x.at}),f.jsx("span",{children:xS(x.actor,{fallback:"админ"})}),f.jsx("span",{children:E6(x.action)}),f.jsx("span",{className:"text-muted-foreground",children:x.detail})]},S))}),f.jsx(kv,{page:l,pages:p,total:h,onPage:o})]})]})}function gH(){const[e,t]=b.useState(""),[n,r]=b.useState(""),[l,o]=b.useState(1),[u,c]=b.useState(null),[h,m]=b.useState(0),v=30;b.useEffect(()=>{let x=!1;const S=new URLSearchParams({reason:e,q:n,offset:String((l-1)*v),limit:String(v)});return ot("/admin/api/fails?"+S).then(w=>{x||w.auth===!1||(c(w.fails||[]),m(w.total||0))}),()=>{x=!0}},[e,n,l]);const p=Math.max(1,Math.ceil(h/v));return f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Неудачные активации"})}),f.jsxs(xe,{className:"space-y-3",children:[f.jsxs("div",{className:"flex flex-wrap gap-2",children:[f.jsx($e,{className:"max-w-xs",placeholder:"Устройство",value:n,onChange:x=>{o(1),r(x.target.value)}}),f.jsx("select",{className:Nf,value:e,"aria-label":"Причина",onChange:x=>{o(1),t(x.target.value)},children:T6.map(([x,S])=>f.jsx("option",{value:x,children:S},x||"all"))})]}),u===null?f.jsx(an,{className:"h-24"}):f.jsxs(Wn,{className:"min-w-[32rem]",children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Когда, МСК"}),f.jsx(Se,{children:"Причина"}),f.jsx(Se,{children:"Устройство"})]})}),f.jsxs(er,{children:[u.length===0?f.jsx(qe,{children:f.jsx(me,{colSpan:3,className:"text-muted-foreground",children:"Отказов нет"})}):null,u.map((x,S)=>f.jsxs(qe,{children:[f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:x.at})}),f.jsx(me,{children:A6(x.reason)}),f.jsx(me,{className:"font-mono text-xs",children:x.deviceId?x.deviceId.slice(0,8):"-"})]},S))]})]}),f.jsx(kv,{page:l,pages:p,total:h,onPage:o})]})]})}function pH({run:e,sessions:t,sessionId:n}){return f.jsx("div",{className:"space-y-4",children:f.jsxs(ye,{children:[f.jsxs(Ne,{children:[f.jsx(Te,{children:"Сессии"}),f.jsx(ht,{children:"Вход только через Telegram. Время - МСК."})]}),f.jsx(xe,{children:f.jsxs(Wn,{className:"min-w-[36rem]",children:[f.jsx(Jn,{children:f.jsxs(qe,{children:[f.jsx(Se,{children:"Сессия"}),f.jsx(Se,{children:"Кто"}),f.jsx(Se,{children:"Создана"}),f.jsx(Se,{children:"Активность"}),f.jsx(Se,{})]})}),f.jsx(er,{children:t.map(r=>f.jsxs(qe,{children:[f.jsxs(me,{children:[r.id.slice(0,8),"…",r.id===n?" (эта)":""]}),f.jsx(me,{children:xS(r.actor,{fallback:"админ"})}),f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:r.createdAt})}),f.jsx(me,{className:"whitespace-nowrap",children:f.jsx(dt,{ms:r.lastSeen})}),f.jsx(me,{children:r.id!==n?f.jsx(he,{size:"sm",variant:"secondary",onClick:()=>void e("/admin/session-revoke",{sessionId:r.id}),children:"Завершить"}):null})]},r.id))})]})})]})})}const QM=b.createContext({paused:!1,setPaused:()=>{},mode:"poll",at:0});function Iv(){return b.useContext(QM)}function yH({children:e}){const t=Wb(),[n,r]=b.useState(!1),[l,o]=b.useState("poll"),[u,c]=b.useState(0),h=b.useRef(l);return h.current=l,b.useEffect(()=>{if(n){o("pause");return}let m=!1,v=null,p=0,x=1e3;const S=()=>{c(Date.now()),t.invalidateQueries(),window.dispatchEvent(new Event("omp-admin-live"))},w=()=>{m||(v=new EventSource("/admin/api/events"),v.onopen=()=>{x=1e3,o("live"),c(Date.now())},v.onmessage=()=>{o("live"),S()},v.onerror=()=>{v&&v.close(),o("poll"),!m&&(p=window.setTimeout(w,x),x=Math.min(15e3,x*2))})};return w(),()=>{m=!0,v&&v.close(),window.clearTimeout(p)}},[n,t]),b.useEffect(()=>{if(n)return;const m=window.setInterval(()=>{h.current!=="live"&&window.dispatchEvent(new Event("omp-admin-live"))},12e3);return()=>window.clearInterval(m)},[n]),f.jsx(QM.Provider,{value:{paused:n,setPaused:r,mode:l,at:u},children:e})}function KE(){const{paused:e,setPaused:t,mode:n,at:r}=Iv(),l=n==="pause"?"пауза":n==="live"?"в эфире":"опрос",o=r?new Date(r).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"-";return f.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[f.jsx("span",{className:n==="live"?"text-primary":"",children:l}),f.jsx("span",{className:"font-mono",children:o}),f.jsx("button",{type:"button",className:"rounded-md border border-border px-2 py-1 text-foreground",onClick:()=>t(!e),children:e?"Продолжить":"Пауза"})]})}var xH=["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"];function AS(e){if(typeof e!="string")return!1;var t=xH;return t.includes(e)}var bH=["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"],SH=new Set(bH);function ZM(e){return typeof e!="string"?!1:SH.has(e)}function WM(e){return typeof e=="string"&&e.startsWith("data-")}function Bi(e){if(typeof e!="object"||e===null)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(ZM(n)||WM(n))&&(t[n]=e[n]);return t}function zv(e){if(e==null)return null;if(b.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return Bi(t)}return typeof e=="object"&&!Array.isArray(e)?Bi(e):null}function Xr(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(ZM(n)||WM(n)||AS(n))&&(t[n]=e[n]);return t}function wH(e){return e==null?null:b.isValidElement(e)?Xr(e.props):typeof e=="object"&&!Array.isArray(e)?Xr(e):null}var jH=["children","width","height","viewBox","className","style","title","desc"];function Y0(){return Y0=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.width,l=e.height,o=e.viewBox,u=e.className,c=e.style,h=e.title,m=e.desc,v=CH(e,jH),p=o||{width:r,height:l,x:0,y:0},x=Ct("recharts-surface",u);return b.createElement("svg",Y0({},Xr(v),{className:x,width:r,height:l,style:c,viewBox:"".concat(p.x," ").concat(p.y," ").concat(p.width," ").concat(p.height),ref:t}),b.createElement("title",null,h),b.createElement("desc",null,m),n)}),AH=["children","className"];function X0(){return X0=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=e.children,r=e.className,l=EH(e,AH),o=Ct("recharts-layer",r);return b.createElement("g",X0({className:o},Xr(l),{ref:t}),n)});function Q0(e){return e==="__proto__"}const NH=Object.prototype.hasOwnProperty;function Pu(e,t){return NH.call(e,t)}const TH=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function eD(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:TH.test(e);default:return!1}}function Lv(e){var t;return typeof e=="string"||typeof e=="symbol"?e:Object.is(e==null||(t=e.valueOf)===null||t===void 0?void 0:t.call(e),-0)?"-0":String(e)}function ES(e){return typeof e=="symbol"||e instanceof Symbol}function tD(e){if(typeof e=="string")return e;if(Array.isArray(e)){let n="";for(let r=0;r0&&(n+=","),n+=tD(e[r]);return n}if(ES(e))return e.toString();const t=e+"";return t==="0"&&Object.is(Number(e),-0)?"-0":t}function RH(e){return e==null?"":tD(e)}function OS(e){if(Array.isArray(e))return e.map(Lv);if(typeof e=="symbol")return[e];e=RH(e);const t=[],n=e.length;if(n===0)return t;let r=0,l="",o="",u=!1,c=!1;const h=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push("");r1&&arguments[1]!==void 0?arguments[1]:DH,n=10**t,r=Math.round(e*n)/n;return Object.is(r,-0)?0:r}function Tn(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{var c=n[u-1];return typeof c=="string"?l+c+o:c!==void 0?l+ga(c)+o:l+o},"")}var Vr=e=>e===0?0:e>0?1:-1,Aa=e=>typeof e=="number"&&e!=+e,Vo=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Re=e=>(typeof e=="number"||e instanceof Number)&&!Aa(e),Hi=e=>Re(e)||typeof e=="string",PH=0,Tf=e=>{var t=++PH;return"".concat(e||"").concat(t)},Pl=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Re(t)&&typeof t!="string")return r;var o;if(Vo(t)){if(n==null)return r;var u=t.indexOf("%");o=n*parseFloat(t.slice(0,u))/100}else o=+t;return Aa(o)&&(o=r),l&&n!=null&&o>n&&(o=n),o},nD=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;rr&&(typeof t=="function"?t(r):es(r,t))===n)}var yn=e=>e===null||typeof e>"u",NS=e=>yn(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function ur(e){return e!=null}function Ku(){}function TS(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 YE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Ai(e){for(var t=1;t{var t=e.viewBox,n=e.position,r=e.offset,l=r===void 0?0:r,o=e.parentViewBox,u=TS(t),c=u.x,h=u.y,m=u.height,v=u.upperWidth,p=u.lowerWidth,x=c,S=c+(v-p)/2,w=(x+S)/2,j=(v+p)/2,C=x+v/2,A=m>=0?1:-1,N=A*l,O=A>0?"end":"start",T=A>0?"start":"end",R=v>=0?1:-1,E=R*l,D=R>0?"end":"start",k=R>0?"start":"end",I=o;if(n==="top"){var P={x:x+v/2,y:h-N,horizontalAnchor:"middle",verticalAnchor:O};return I&&(P.height=Math.max(h-I.y,0),P.width=v),P}if(n==="bottom"){var B={x:S+p/2,y:h+m+N,horizontalAnchor:"middle",verticalAnchor:T};return I&&(B.height=Math.max(I.y+I.height-(h+m),0),B.width=p),B}if(n==="left"){var F={x:w-E,y:h+m/2,horizontalAnchor:D,verticalAnchor:"middle"};return I&&(F.width=Math.max(F.x-I.x,0),F.height=m),F}if(n==="right"){var se={x:w+j+E,y:h+m/2,horizontalAnchor:k,verticalAnchor:"middle"};return I&&(se.width=Math.max(I.x+I.width-se.x,0),se.height=m),se}var ue=I?{width:j,height:m}:{};return n==="insideLeft"?Ai({x:w+E,y:h+m/2,horizontalAnchor:k,verticalAnchor:"middle"},ue):n==="insideRight"?Ai({x:w+j-E,y:h+m/2,horizontalAnchor:D,verticalAnchor:"middle"},ue):n==="insideTop"?Ai({x:x+v/2,y:h+N,horizontalAnchor:"middle",verticalAnchor:T},ue):n==="insideBottom"?Ai({x:S+p/2,y:h+m-N,horizontalAnchor:"middle",verticalAnchor:O},ue):n==="insideTopLeft"?Ai({x:x+E,y:h+N,horizontalAnchor:k,verticalAnchor:T},ue):n==="insideTopRight"?Ai({x:x+v-E,y:h+N,horizontalAnchor:D,verticalAnchor:T},ue):n==="insideBottomLeft"?Ai({x:S+E,y:h+m-N,horizontalAnchor:k,verticalAnchor:O},ue):n==="insideBottomRight"?Ai({x:S+p-E,y:h+m-N,horizontalAnchor:D,verticalAnchor:O},ue):n&&typeof n=="object"&&(Re(n.x)||Vo(n.x))&&(Re(n.y)||Vo(n.y))?Ai({x:c+Pl(n.x,j),y:h+Pl(n.y,m),horizontalAnchor:"end",verticalAnchor:"end"},ue):Ai({x:C,y:h+m/2,horizontalAnchor:"middle",verticalAnchor:"middle"},ue)},UH=["top","left","right","bottom"];function $H(e){return e==null?!1:typeof e=="object"?!0:UH.includes(e)}var BH=b.createContext(null);const xf=Math.PI,Z0=2*xf,yo=1e-6,HH=Z0-yo;function iD(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return iD;const n=10**t;return function(r){this._+=r[0];for(let l=1,o=r.length;lyo)if(!(Math.abs(p*h-m*v)>yo)||!o)this._append`L${this._x1=t},${this._y1=n}`;else{let S=r-u,w=l-c,j=h*h+m*m,C=S*S+w*w,A=Math.sqrt(j),N=Math.sqrt(x),O=o*Math.tan((xf-Math.acos((j+x-C)/(2*A*N)))/2),T=O/N,R=O/A;Math.abs(T-1)>yo&&this._append`L${t+T*v},${n+T*p}`,this._append`A${o},${o},0,0,${+(p*S>v*w)},${this._x1=t+R*h},${this._y1=n+R*m}`}}arc(t,n,r,l,o,u){if(t=+t,n=+n,r=+r,u=!!u,r<0)throw new Error(`negative radius: ${r}`);let c=r*Math.cos(l),h=r*Math.sin(l),m=t+c,v=n+h,p=1^u,x=u?l-o:o-l;if(this._x1===null?this._append`M${m},${v}`:(Math.abs(this._x1-m)>yo||Math.abs(this._y1-v)>yo)&&this._append`L${m},${v}`,!!r){if(x<0&&(x=x%Z0+Z0),x>HH)this._append`A${r},${r},0,1,${p},${t-c},${n-h}A${r},${r},0,1,${p},${this._x1=m},${this._y1=v}`;else if(x>yo){const S=t+r*Math.cos(o),w=n+r*Math.sin(o);if(x>=xf&&this._equal(m,v,S,w)){x/=2;let j=l+x;this._append`A${r},${r},0,${+(x>=xf)},${p},${t+r*Math.cos(j)},${n+r*Math.sin(j)}`}this._append`A${r},${r},0,${+(x>=xf)},${p},${this._x1=S},${this._y1=w}`}}}rect(t,n,r,l){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+l}h${-r}Z`}toString(){return this._}}function Ut(e){return function(){return e}}const XE=1e-12;function lD(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new GH(t)}function RS(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function oD(e){this._context=e}oD.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);break}}};function Uv(e){return new oD(e)}function sD(e){return e[0]}function uD(e){return e[1]}function cD(e,t){var n=Ut(!0),r=null,l=Uv,o=null,u=lD(c);e=typeof e=="function"?e:e===void 0?sD:Ut(e),t=typeof t=="function"?t:t===void 0?uD:Ut(t);function c(h){var m,v=(h=RS(h)).length,p,x=!1,S;for(r==null&&(o=l(S=u())),m=0;m<=v;++m)!(m=S;--w)c.point(O[w],T[w]);c.lineEnd(),c.areaEnd()}A&&(O[x]=+e(C,x,p),T[x]=+t(C,x,p),c.point(r?+r(C,x,p):O[x],n?+n(C,x,p):T[x]))}if(N)return c=null,N+""||null}function v(){return cD().defined(l).curve(u).context(o)}return m.x=function(p){return arguments.length?(e=typeof p=="function"?p:Ut(+p),r=null,m):e},m.x0=function(p){return arguments.length?(e=typeof p=="function"?p:Ut(+p),m):e},m.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:Ut(+p),m):r},m.y=function(p){return arguments.length?(t=typeof p=="function"?p:Ut(+p),n=null,m):t},m.y0=function(p){return arguments.length?(t=typeof p=="function"?p:Ut(+p),m):t},m.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:Ut(+p),m):n},m.lineX0=m.lineY0=function(){return v().x(e).y(t)},m.lineY1=function(){return v().x(e).y(n)},m.lineX1=function(){return v().x(r).y(t)},m.defined=function(p){return arguments.length?(l=typeof p=="function"?p:Ut(!!p),m):l},m.curve=function(p){return arguments.length?(u=p,o!=null&&(c=u(o)),m):u},m.context=function(p){return arguments.length?(p==null?o=c=null:c=u(o=p),m):o},m}class fD{constructor(t,n){this._context=t,this._x=n}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(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function qH(e){return new fD(e,!0)}function KH(e){return new fD(e,!1)}function kl(){}function $m(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 $v(e){this._context=e}$v.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:$m(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(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:$m(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function YH(e){return new $v(e)}function dD(e){this._context=e}dD.prototype={areaStart:kl,areaEnd:kl,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);break}}},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:$m(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function XH(e){return new dD(e)}function hD(e){this._context=e}hD.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:$m(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function QH(e){return new hD(e)}function mD(e,t){this._basis=new $v(e),this._beta=t}mD.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],l=t[0],o=e[n]-r,u=t[n]-l,c=-1,h;++c<=n;)h=c/n,this._basis.point(this._beta*e[c]+(1-this._beta)*(r+h*o),this._beta*t[c]+(1-this._beta)*(l+h*u));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};(function e(t){function n(r){return t===1?new $v(r):new mD(r,t)}return n.beta=function(r){return e(+r)},n})(.85);function Bm(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function MS(e,t){this._context=e,this._k=(1-t)/6}MS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Bm(this,this._x1,this._y1);break}(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,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Bm(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return new MS(r,t)}return n.tension=function(r){return e(+r)},n})(0);function DS(e,t){this._context=e,this._k=(1-t)/6}DS.prototype={areaStart:kl,areaEnd:kl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Bm(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return new DS(r,t)}return n.tension=function(r){return e(+r)},n})(0);function PS(e,t){this._context=e,this._k=(1-t)/6}PS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=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,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Bm(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return new PS(r,t)}return n.tension=function(r){return e(+r)},n})(0);function kS(e,t,n){var r=e._x1,l=e._y1,o=e._x2,u=e._y2;if(e._l01_a>XE){var c=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,h=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*c-e._x0*e._l12_2a+e._x2*e._l01_2a)/h,l=(l*c-e._y0*e._l12_2a+e._y2*e._l01_2a)/h}if(e._l23_a>XE){var m=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,v=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*m+e._x1*e._l23_2a-t*e._l12_2a)/v,u=(u*m+e._y1*e._l23_2a-n*e._l12_2a)/v}e._context.bezierCurveTo(r,l,o,u,e._x2,e._y2)}function vD(e,t){this._context=e,this._alpha=t}vD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}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;default:kS(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return t?new vD(r,t):new MS(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function gD(e,t){this._context=e,this._alpha=t}gD.prototype={areaStart:kl,areaEnd:kl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:kS(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return t?new gD(r,t):new DS(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function pD(e,t){this._context=e,this._alpha=t}pD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=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){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:kS(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};(function e(t){function n(r){return t?new pD(r,t):new PS(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function yD(e){this._context=e}yD.prototype={areaStart:kl,areaEnd:kl,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 ZH(e){return new yD(e)}function QE(e){return e<0?-1:1}function ZE(e,t,n){var r=e._x1-e._x0,l=t-e._x1,o=(e._y1-e._y0)/(r||l<0&&-0),u=(n-e._y1)/(l||r<0&&-0),c=(o*l+u*r)/(r+l);return(QE(o)+QE(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(c))||0}function WE(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function _x(e,t,n){var r=e._x0,l=e._y0,o=e._x1,u=e._y1,c=(o-r)/3;e._context.bezierCurveTo(r+c,l+c*t,o-c,u-c*n,o,u)}function Hm(e){this._context=e}Hm.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:_x(this,this._t0,WE(this,this._t0));break}(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,_x(this,WE(this,n=ZE(this,e,t)),n);break;default:_x(this,this._t0,n=ZE(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function xD(e){this._context=new bD(e)}(xD.prototype=Object.create(Hm.prototype)).point=function(e,t){Hm.prototype.point.call(this,t,e)};function bD(e){this._context=e}bD.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,l,o){this._context.bezierCurveTo(t,e,r,n,o,l)}};function WH(e){return new Hm(e)}function JH(e){return new xD(e)}function SD(e){this._context=e}SD.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=JE(e),l=JE(t),o=0,u=1;u=0;--t)l[t]=(u[t]-l[t+1])/o[t];for(o[n-1]=(e[n]+l[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)}break}}this._x=e,this._y=t}};function tF(e){return new Bv(e,.5)}function nF(e){return new Bv(e,0)}function rF(e){return new Bv(e,1)}function Go(e,t){if((u=e.length)>1)for(var n=1,r,l,o=e[t[0]],u,c=o.length;n=0;)n[t]=t;return n}function iF(e,t){return e[t]}function aF(e){const t=[];return t.key=e,t}function lF(){var e=Ut([]),t=W0,n=Go,r=iF;function l(o){var u=Array.from(e.apply(this,arguments),aF),c,h=u.length,m=-1,v;for(const p of o)for(c=0,++m;c0){for(var n,r,l=0,o=e[0].length,u;l0){for(var n=0,r=e[t[0]],l,o=r.length;n0)||!((o=(l=e[t[0]]).length)>0))){for(var n=0,r=1,l,o,u;r"radius"in e&&"startAngle"in e&&"endAngle"in e,IS=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var n=e;if(b.isValidElement(e)&&(n=e.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(l=>{AS(l)&&typeof n[l]=="function"&&(r[l]=(o=>n[l](n,o)))}),r},cF=(e,t,n)=>r=>(e(t,n,r),null),fF=(e,t,n)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var r=null;return Object.keys(e).forEach(l=>{var o=e[l];AS(l)&&typeof o=="function"&&(r||(r={}),r[l]=cF(o,t,n))}),r};function eO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function dF(e){for(var t=1;t(u[c]===void 0&&r[c]!==void 0&&(u[c]=r[c]),u),n);return o}function gF(e,t){const n=new Map;for(let r=0;r=0}function zS(e){return e!=null&&typeof e!="function"&&yF(e.length)}function xF(e){return function(t){return es(t,e)}}function CD(e){return e==null||typeof e!="object"&&typeof e!="function"}function Io(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const _D="[object RegExp]",LS="[object String]",US="[object Number]",$S="[object Boolean]",AD="[object Arguments]",ED="[object Symbol]",OD="[object Date]",ND="[object Map]",TD="[object Set]",RD="[object Array]",bF="[object Function]",MD="[object ArrayBuffer]",Om="[object Object]",SF="[object Error]",DD="[object DataView]",PD="[object Uint8Array]",kD="[object Uint8ClampedArray]",ID="[object Uint16Array]",zD="[object Uint32Array]",wF="[object BigUint64Array]",LD="[object Int8Array]",UD="[object Int16Array]",$D="[object Int32Array]",jF="[object BigInt64Array]",BD="[object Float32Array]",HD="[object Float64Array]";function jf(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function FD(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function VD(e,t,n){return typeof n!="function"?VD(e,t,()=>{}):J0(e,t,function r(l,o,u,c,h,m){const v=n(l,o,u,c,h,m);return v!==void 0?!!v:J0(l,o,r,m,!1)},new Map,!0)}function J0(e,t,n,r,l=!1){if(t===e)return!0;switch(typeof t){case"object":return CF(e,t,n,r,l);case"function":return Object.keys(t).length>0?J0(e,Object.assign({},t),n,r,l):jf(e,t);default:return FD(e)&&l?typeof t=="string"?t==="":!0:jf(e,t)}}function CF(e,t,n,r,l=!1){if(t==null)return!0;if(Array.isArray(t))return GD(e,t,n,r);if(t instanceof Map)return _F(e,t,n,r);if(t instanceof Set)return AF(e,t,n,r);const o=Object.keys(t);if(e==null)return l&&o.length===0;if(l)CD(e)&&(e=Object(e));else{if(Io(t)==="[object Error]")return Io(e)==="[object Error]"&&e.name===t.name&&e.message===t.message;const u=Io(e);if(u!=="[object Object]"&&u!=="[object Arguments]")return!1}if(o.length===0)return!0;if(r!=null&&r.has(t))return r.get(t)===e;r==null||r.set(t,e);try{for(let u=0;u{})}function eb(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}const tO=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function tb(e){return typeof tO.Buffer<"u"&&tO.Buffer.isBuffer(e)}function EF(e){return tb(e)}function OF(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function NF(e){return OF(e)}function TF(e,t){return du(e,void 0,e,new Map)}function du(e,t,n,r,l){if(CD(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){const u=new Array(e.length);r.set(e,u);for(let c=0;c{u.set(h,du(c,h,n,r))}),u}if(e instanceof Set){const u=new Set;return r.set(e,u),e.forEach(c=>{u.add(du(c,void 0,n,r))}),u}if(EF(e))return e.subarray();if(NF(e)){const u=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,u);for(let c=0;cqD(t,e)}const DF=/^(?:0|[1-9]\d*)$/;function YD(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:c;return Nx.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:v,Nx}var iO;function BF(){return iO||(iO=1,Ox.exports=$F()),Ox.exports}/** - * @license React - * use-sync-external-store-shim/with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var aO;function HF(){if(aO)return Ex;aO=1;var e=Hu(),t=BF();function n(m,v){return m===v&&(m!==0||1/m===1/v)||m!==m&&v!==v}var r=typeof Object.is=="function"?Object.is:n,l=t.useSyncExternalStore,o=e.useRef,u=e.useEffect,c=e.useMemo,h=e.useDebugValue;return Ex.useSyncExternalStoreWithSelector=function(m,v,p,x,S){var w=o(null);if(w.current===null){var j={hasValue:!1,value:null};w.current=j}else j=w.current;w=c(function(){function A(E){if(!N){if(N=!0,O=E,E=x(E),S!==void 0&&j.hasValue){var D=j.value;if(S(D,E))return T=D}return T=E}if(D=T,r(O,E))return D;var k=x(E);return S!==void 0&&S(D,k)?(O=E,D):(O=E,T=k)}var N=!1,O,T,R=p===void 0?null:p;return[function(){return A(v())},R===null?void 0:function(){return A(R())}]},[v,p,x,S]);var C=l(m,w[0],w[1]);return u(function(){j.hasValue=!0,j.value=C},[C]),h(C),C},Ex}var lO;function FF(){return lO||(lO=1,Ax.exports=HF()),Ax.exports}var VF=FF(),BS=b.createContext(null),GF=e=>e,Vt=()=>{var e=b.useContext(BS);return e?e.store.dispatch:GF},Nm=()=>{},qF=()=>Nm,KF=(e,t)=>e===t;function ke(e){var t=b.useContext(BS),n=b.useMemo(()=>t?r=>{if(r!=null)return e(r)}:Nm,[t,e]);return VF.useSyncExternalStoreWithSelector(t?t.subscription.addNestedSub:qF,t?t.store.getState:Nm,t?t.store.getState:Nm,n,KF)}function YF(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function XF(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var oO=e=>Array.isArray(e)?e:[e];function QF(e){const t=Array.isArray(e[0])?e[0]:e;return XF(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function ZF(e,t){const n=[],{length:r}=e;for(let l=0;ltypeof WeakRef>"u"?WF:WeakRef,XD=JF(),eV=0,sO=1;function rm(){return{s:eV,v:void 0,o:null,p:null}}function tV(e){return e instanceof XD?e.deref():e}function QD(e,t={}){let n=rm();const{resultEqualityCheck:r}=t;let l,o=0;function u(){let c=n;const{length:h}=arguments;for(let p=0,x=h;p{n=rm(),u.resetResultsCount()},u.resultsCount=()=>o,u.resetResultsCount=()=>{o=0},u}function nV(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...l)=>{let o=0,u=0,c,h={},m=l.pop();typeof m=="object"&&(h=m,m=l.pop()),YF(m,`createSelector expects an output function after the inputs, but received: [${typeof m}]`);const v={...n,...h},{memoize:p,memoizeOptions:x=[],argsMemoize:S=QD,argsMemoizeOptions:w=[]}=v,j=oO(x),C=oO(w),A=QF(l),N=p(function(){return o++,m.apply(null,arguments)},...j),O=S(function(){u++;const R=ZF(A,arguments);return c=N.apply(null,R),c},...C);return Object.assign(O,{resultFunc:m,memoizedResultFunc:N,dependencies:A,dependencyRecomputations:()=>u,resetDependencyRecomputations:()=>{u=0},lastResult:()=>c,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:p,argsMemoize:S})};return Object.assign(r,{withTypes:()=>r}),r}var W=nV(QD);function rV(e,t=1){const n=[],r=Math.floor(t),l=(o,u)=>{for(let c=0;c{if(e!==t){const r=uO(e),l=uO(t);if(r===l&&r===0){if(et)return n==="desc"?-1:1}return n==="desc"?l-r:r-l}return 0},lV=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,oV=/^\w*$/;function sV(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||ES(e)?!0:typeof e=="string"&&(oV.test(e)||!lV.test(e))||t!=null}function uV(e,t,n,r){if(e==null)return[];n=n,Array.isArray(e)||(e=zS(e)?Array.from(e):iV(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(c=>String(c));const l=(c,h)=>{let m=c,v=0;for(;v0&&v===h.length?m:void 0},o=(c,h)=>{if(c==null)return h;if(h!=null)return typeof c=="object"&&"key"in c?Pu(h,c.key)?h[c.key]:l(h,c.path):typeof c=="function"?c(h):Array.isArray(c)?l(h,c):h[c]},u=t.map(c=>(Array.isArray(c)&&c.length===1&&(c=c[0]),c==null||typeof c=="function"||Array.isArray(c)||sV(c)?c:{key:c,path:OS(c)}));return e.map(c=>({original:c,criteria:u.map(h=>o(h,c))})).slice().sort((c,h)=>{for(let m=0;mc.original)}function Hv(e,...t){const n=t.length;return n>1&&nb(e,t[0],t[1])?t=[]:n>2&&nb(t[0],t[1],t[2])&&(t=[t[0]]),uV(e,rV(t),["asc"])}var ZD=e=>e.legend.settings,cV=e=>e.legend.size,fV=e=>e.legend.payload;W([fV,ZD],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?Hv(r,n):r});function dV(e,t){return gV(e)||vV(e,t)||mV(e,t)||hV()}function hV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mV(e,t){if(e){if(typeof e=="string")return cO(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)?cO(e,t):void 0}}function cO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nim||Math.abs(e.left-t.left)>im||Math.abs(e.top-t.top)>im||Math.abs(e.width-t.width)>im}function dO(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function pV(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=b.useState({height:0,left:0,top:0,width:0}),n=dV(t,2),r=n[0],l=n[1],o=b.useRef(null),u=b.useRef(r);u.current=r;var c=b.useCallback(h=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),h!=null){var m=dO(h);if(fO(m,u.current)&&l(m),typeof ResizeObserver<"u"){var v=new ResizeObserver(()=>{var p=dO(h);fO(p,u.current)&&l(p)});v.observe(h),o.current=v}}},[...e]);return b.useEffect(()=>()=>{var h;(h=o.current)===null||h===void 0||h.disconnect()},[]),[r,c]}function Nn(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 yV=typeof Symbol=="function"&&Symbol.observable||"@@observable",hO=yV,Tx=()=>Math.random().toString(36).substring(7).split("").join("."),xV={INIT:`@@redux/INIT${Tx()}`,REPLACE:`@@redux/REPLACE${Tx()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Tx()}`},Fm=xV;function HS(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function WD(e,t,n){if(typeof e!="function")throw new Error(Nn(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(Nn(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Nn(1));return n(WD)(e,t)}let r=e,l=t,o=new Map,u=o,c=0,h=!1;function m(){u===o&&(u=new Map,o.forEach((C,A)=>{u.set(A,C)}))}function v(){if(h)throw new Error(Nn(3));return l}function p(C){if(typeof C!="function")throw new Error(Nn(4));if(h)throw new Error(Nn(5));let A=!0;m();const N=c++;return u.set(N,C),function(){if(A){if(h)throw new Error(Nn(6));A=!1,m(),u.delete(N),o=null}}}function x(C){if(!HS(C))throw new Error(Nn(7));if(typeof C.type>"u")throw new Error(Nn(8));if(typeof C.type!="string")throw new Error(Nn(17));if(h)throw new Error(Nn(9));try{h=!0,l=r(l,C)}finally{h=!1}return(o=u).forEach(N=>{N()}),C}function S(C){if(typeof C!="function")throw new Error(Nn(10));r=C,x({type:Fm.REPLACE})}function w(){const C=p;return{subscribe(A){if(typeof A!="object"||A===null)throw new Error(Nn(11));function N(){const T=A;T.next&&T.next(v())}return N(),{unsubscribe:C(N)}},[hO](){return this}}}return x({type:Fm.INIT}),{dispatch:x,subscribe:p,getState:v,replaceReducer:S,[hO]:w}}function bV(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:Fm.INIT})>"u")throw new Error(Nn(12));if(typeof n(void 0,{type:Fm.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Nn(13))})}function JD(e){const t=Object.keys(e),n={};for(let o=0;o"u")throw c&&c.type,new Error(Nn(14));m[p]=w,h=h||w!==S}return h=h||r.length!==Object.keys(u).length,h?m:u}}function Vm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function SV(...e){return t=>(n,r)=>{const l=t(n,r);let o=()=>{throw new Error(Nn(15))};const u={getState:l.getState,dispatch:(h,...m)=>o(h,...m)},c=e.map(h=>h(u));return o=Vm(...c)(l.dispatch),{...l,dispatch:o}}}function eP(e){return HS(e)&&"type"in e&&typeof e.type=="string"}var tP=Symbol.for("immer-nothing"),mO=Symbol.for("immer-draftable"),Bn=Symbol.for("immer-state");function si(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ar=Object,ku=Ar.getPrototypeOf,Gm="constructor",Fv="prototype",rb="configurable",qm="enumerable",Tm="writable",Rf="value",Ea=e=>!!e&&!!e[Bn];function Qr(e){var t;return e?nP(e)||Gv(e)||!!e[mO]||!!((t=e[Gm])!=null&&t[mO])||qv(e)||Jf(e):!1}var wV=Ar[Fv][Gm].toString(),vO=new WeakMap;function nP(e){if(!e||!FS(e))return!1;const t=ku(e);if(t===null||t===Ar[Fv])return!0;const n=Ar.hasOwnProperty.call(t,Gm)&&t[Gm];if(n===Object)return!0;if(!su(n))return!1;let r=vO.get(n);return r===void 0&&(r=Function.toString.call(n),vO.set(n,r)),r===wV}function Vv(e,t,n=!0){Wf(e)===0?(n?Reflect.ownKeys(e):Ar.keys(e)).forEach(l=>{t(l,e[l],e)}):e.forEach((r,l)=>t(l,r,e))}function Wf(e){const t=e[Bn];return t?t.type_:Gv(e)?1:qv(e)?2:Jf(e)?3:0}var Rx=(e,t,n=Wf(e))=>n===2?e.has(t):Ar[Fv].hasOwnProperty.call(e,t),ib=(e,t,n=Wf(e))=>n===2?e.get(t):e[t],Km=(e,t,n,r=Wf(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function jV(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Gv=Array.isArray,qv=e=>e instanceof Map,Jf=e=>e instanceof Set,FS=e=>typeof e=="object",su=e=>typeof e=="function",Mx=e=>typeof e=="boolean";function CV(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var da=e=>e.copy_||e.base_,VS=e=>e.modified_?e.copy_:e.base_;function ab(e,t){if(qv(e))return new Map(e);if(Jf(e))return new Set(e);if(Gv(e))return Array[Fv].slice.call(e);const n=nP(e);if(t===!0||t==="class_only"&&!n){const r=Ar.getOwnPropertyDescriptors(e);delete r[Bn];let l=Reflect.ownKeys(r);for(let o=0;o1&&Ar.defineProperties(e,{set:am,add:am,clear:am,delete:am}),Ar.freeze(e),t&&Vv(e,(n,r)=>{GS(r,!0)},!1)),e}function _V(){si(2)}var am={[Rf]:_V};function Kv(e){return e===null||!FS(e)?!0:Ar.isFrozen(e)}var Ym="MapSet",lb="Patches",gO="ArrayMethods",rP={};function qo(e){const t=rP[e];return t||si(0,e),t}var pO=e=>!!rP[e],Mf,iP=()=>Mf,AV=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:pO(Ym)?qo(Ym):void 0,arrayMethodsPlugin_:pO(gO)?qo(gO):void 0});function yO(e,t){t&&(e.patchPlugin_=qo(lb),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ob(e){sb(e),e.drafts_.forEach(EV),e.drafts_=null}function sb(e){e===Mf&&(Mf=e.parent_)}var xO=e=>Mf=AV(Mf,e);function EV(e){const t=e[Bn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function bO(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(e!==void 0&&e!==n){n[Bn].modified_&&(ob(t),si(4)),Qr(e)&&(e=SO(t,e));const{patchPlugin_:l}=t;l&&l.generateReplacementPatches_(n[Bn].base_,e,t)}else e=SO(t,n);return OV(t,e,!0),ob(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==tP?e:void 0}function SO(e,t){if(Kv(t))return t;const n=t[Bn];if(!n)return Xm(t,e.handledSet_,e);if(!Yv(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(e);oP(n,e)}return n.copy_}function OV(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&GS(t,n)}function aP(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Yv=(e,t)=>e.scope_===t,NV=[];function lP(e,t,n,r){const l=da(e),o=e.type_;if(r!==void 0&&ib(l,r,o)===t){Km(l,r,n,o);return}if(!e.draftLocations_){const c=e.draftLocations_=new Map;Vv(l,(h,m)=>{if(Ea(m)){const v=c.get(m)||[];v.push(h),c.set(m,v)}})}const u=e.draftLocations_.get(t)??NV;for(const c of u)Km(l,c,n,o)}function TV(e,t,n){e.callbacks_.push(function(l){var c;const o=t;if(!o||!Yv(o,l))return;(c=l.mapSetPlugin_)==null||c.fixSetContents(o);const u=VS(o);lP(e,o.draft_??o,u,n),oP(o,l)})}function oP(e,t){var r;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((r=e.assigned_)==null?void 0:r.size)??0)>0)){const{patchPlugin_:l}=t;if(l){const o=l.getPath(e);o&&l.generatePatches_(e,o,t)}aP(e)}}function RV(e,t,n){const{scope_:r}=e;if(Ea(n)){const l=n[Bn];Yv(l,r)&&l.callbacks_.push(function(){Rm(e);const u=VS(l);lP(e,n,u,t)})}else Qr(n)&&e.callbacks_.push(function(){const o=da(e);e.type_===3?o.has(n)&&Xm(n,r.handledSet_,r):ib(o,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Xm(ib(e.copy_,t,e.type_),r.handledSet_,r)})}function Xm(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Ea(e)||t.has(e)||!Qr(e)||Kv(e)||(t.add(e),Vv(e,(r,l)=>{if(Ea(l)){const o=l[Bn];if(Yv(o,n)){const u=VS(o);Km(e,r,u,e.type_),aP(o)}}else Qr(l)&&Xm(l,t,n)})),e}function MV(e,t){const n=Gv(e),r={type_:n?1:0,scope_:t?t.scope_:iP(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let l=r,o=Qm;n&&(l=[r],o=Df);const{revoke:u,proxy:c}=Proxy.revocable(l,o);return r.draft_=c,r.revoke_=u,[c,r]}var Qm={get(e,t){if(t===Bn)return e;let n=e.scope_.arrayMethodsPlugin_;const r=e.type_===1&&typeof t=="string";if(r&&n!=null&&n.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const l=da(e);if(!Rx(l,t,e.type_))return PV(e,l,t);const o=l[t];if(e.finalized_||!Qr(o)||r&&e.operationMethod&&(n!=null&&n.isMutatingArrayMethod(e.operationMethod))&&CV(t))return o;if(o===Dx(e.base_,t)||DV(e,t,o)){Rm(e);const u=e.type_===1?+t:t,c=cb(e.scope_,o,e,u);return e.copy_[u]=c}return o},has(e,t){return t in da(e)},ownKeys(e){return Reflect.ownKeys(da(e))},set(e,t,n){const r=sP(da(e),t);if(r!=null&&r.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const l=Dx(da(e),t),o=l==null?void 0:l[Bn];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(jV(n,l)&&(n!==void 0||Rx(e.base_,t,e.type_)))return!0;Rm(e),ub(e)}return e.copy_[t]===n&&(n!==void 0||Rx(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),RV(e,t,n)),!0},deleteProperty(e,t){return Rm(e),Dx(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),ub(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=da(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[Tm]:!0,[rb]:e.type_!==1||t!=="length",[qm]:r[qm],[Rf]:n[t]}},defineProperty(){si(11)},getPrototypeOf(e){return ku(e.base_)},setPrototypeOf(){si(12)}},Df={};for(let e in Qm){let t=Qm[e];Df[e]=function(){const n=arguments;return n[0]=n[0][0],t.apply(this,n)}}Df.deleteProperty=function(e,t){return Df.set.call(this,e,t,void 0)};Df.set=function(e,t,n){return Qm.set.call(this,e[0],t,n,e[0])};function Dx(e,t){const n=e[Bn];return(n?da(n):e)[t]}function DV(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||!Qr(n)||n[Bn]?!1:e.baseRefs_.has(n)}function PV(e,t,n){var l;const r=sP(t,n);return r?Rf in r?r[Rf]:(l=r.get)==null?void 0:l.call(e.draft_):void 0}function sP(e,t){if(!(t in e))return;let n=ku(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=ku(n)}}function ub(e){e.modified_||(e.modified_=!0,e.parent_&&ub(e.parent_))}function Rm(e){e.copy_||(e.assigned_=new Map,e.copy_=ab(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var kV=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(n,r,l)=>{if(su(n)&&!su(r)){const u=r;r=n;const c=this;return function(m=u,...v){return c.produce(m,p=>r.call(this,p,...v))}}su(r)||si(6),l!==void 0&&!su(l)&&si(7);let o;if(Qr(n)){const u=xO(this),c=cb(u,n,void 0);let h=!0;try{o=r(c),h=!1}finally{h?ob(u):sb(u)}return yO(u,l),bO(o,u)}else if(!n||!FS(n)){if(o=r(n),o===void 0&&(o=n),o===tP&&(o=void 0),this.autoFreeze_&&GS(o,!0),l){const u=[],c=[];qo(lb).generateReplacementPatches_(n,o,{patches_:u,inversePatches_:c}),l(u,c)}return o}else si(1,n)},this.produceWithPatches=(n,r)=>{if(su(n))return(c,...h)=>this.produceWithPatches(c,m=>n(m,...h));let l,o;return[this.produce(n,r,(c,h)=>{l=c,o=h}),l,o]},Mx(e==null?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze);const t=e==null?void 0:e.useStrictShallowCopy;(Mx(t)||t==="class_only")&&this.setUseStrictShallowCopy(t),Mx(e==null?void 0:e.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Qr(e)||si(8),Ea(e)&&(e=Gr(e));const t=xO(this),n=cb(t,e,void 0);return n[Bn].isManual_=!0,sb(t),n}finishDraft(e,t){const n=e&&e[Bn];(!n||!n.isManual_)&&si(9);const{scope_:r}=n;return yO(r,t),bO(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--){const l=t[n];if(l.path.length===0&&l.op==="replace"){e=l.value;break}}n>-1&&(t=t.slice(n+1));const r=qo(lb).applyPatches_;return Ea(e)?r(e,t):this.produce(e,l=>r(l,t))}};function cb(e,t,n,r){const[l,o]=qv(t)?qo(Ym).proxyMap_(t,n):Jf(t)?qo(Ym).proxySet_(t,n):MV(t,n);return((n==null?void 0:n.scope_)??iP()).drafts_.push(l),o.callbacks_=(n==null?void 0:n.callbacks_)??[],o.key_=r,n&&r!==void 0?TV(n,o,r):o.callbacks_.push(function(h){var v;(v=h.mapSetPlugin_)==null||v.fixSetContents(o);const{patchPlugin_:m}=h;o.modified_&&m&&m.generatePatches_(o,[],h)}),l}function Gr(e){return Ea(e)||si(10,e),uP(e)}function uP(e){if(!Qr(e)||Kv(e))return e;const t=e[Bn];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=ab(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=ab(e,!0);const l=n;return Jf(n)&&(n=new Set),Vv(l,(o,u)=>{Km(n,o,uP(u))},r),t&&(t.finalized_=!1),n}var Px=globalThis.Iterator;Px==null||Px.from;var IV=new kV,cP=IV.produce,rt=e=>e;function fP(e){return({dispatch:n,getState:r})=>l=>o=>typeof o=="function"?o(n,r,e):l(o)}var zV=fP(),LV=fP;const UV=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Vm:Vm.apply(null,arguments)};function Er(e,t){function n(...r){if(t){let l=t(...r);if(!l)throw new Error(cr(0));return{type:e,payload:l.payload,..."meta"in l&&{meta:l.meta},..."error"in l&&{error:l.error}}}return{type:e,payload:r[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=r=>r!=null&&r.type===e&&eP(r),n}var dP=class bf extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,bf.prototype)}static get[Symbol.species](){return bf}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new bf(...t[0].concat(this)):new bf(...t.concat(this))}};function wO(e){return Qr(e)?cP(e,()=>{}):e}function lm(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function $V(e){return typeof e=="boolean"}const BV=()=>function(t){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:l=!0,actionCreatorCheck:o=!0}=t??{};let u=new dP;return n&&($V(n)?u.push(zV):u.push(LV(n.extraArgument))),u},hP="RTK_autoBatch",Ot=()=>e=>({payload:e,meta:{[hP]:!0}}),jO=e=>t=>{setTimeout(t,e)},HV=(e,t,n)=>r=>{let l=!1,o,u;const c=()=>{l||(l=!0,t==null||t(o),clearTimeout(u),r())};o=e(c),u=setTimeout(c,n)},mP=(e={type:"raf"})=>t=>(...n)=>{const r=t(...n);let l=!0,o=!1,u=!1;const c=new Set,h=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?HV(window.requestAnimationFrame,window.cancelAnimationFrame,100):jO(10):e.type==="callback"?e.queueNotification:jO(e.timeout),m=()=>{u=!1,o&&(o=!1,c.forEach(v=>v()))};return Object.assign({},r,{subscribe(v){const p=()=>l&&v(),x=r.subscribe(p);return c.add(v),()=>{x(),c.delete(v)}},dispatch(v){var p;try{return l=!((p=v==null?void 0:v.meta)!=null&&p[hP]),o=!l,o&&(u||(u=!0,h(m))),r.dispatch(v)}finally{l=!0}}})},FV=e=>function(n){const{autoBatch:r=!0}=n??{};let l=new dP(e);return r&&l.push(mP(typeof r=="object"?r:void 0)),l};function VV(e){const t=BV(),{reducer:n=void 0,middleware:r,devTools:l=!0,preloadedState:o=void 0,enhancers:u=void 0}=e||{};let c;if(typeof n=="function")c=n;else if(HS(n))c=JD(n);else throw new Error(cr(1));let h;typeof r=="function"?h=r(t):h=t();let m=Vm;l&&(m=UV({trace:!1,...typeof l=="object"&&l}));const v=SV(...h),p=FV(v);let x=typeof u=="function"?u(p):p();const S=m(...x);return WD(c,o,S)}function vP(e){const t={},n=[];let r;const l={addCase(o,u){const c=typeof o=="string"?o:o.type;if(!c)throw new Error(cr(28));if(c in t)throw new Error(cr(29));return t[c]=u,l},addAsyncThunk(o,u){return u.pending&&(t[o.pending.type]=u.pending),u.rejected&&(t[o.rejected.type]=u.rejected),u.fulfilled&&(t[o.fulfilled.type]=u.fulfilled),u.settled&&n.push({matcher:o.settled,reducer:u.settled}),l},addMatcher(o,u){return n.push({matcher:o,reducer:u}),l},addDefaultCase(o){return r=o,l}};return e(l),[t,n,r]}function GV(e){return typeof e=="function"}function qV(e,t){let[n,r,l]=vP(t),o;if(GV(e))o=()=>wO(e());else{const h=wO(e);o=()=>h}function u(h,m,v){if(Ea(h)){const p=m(h,v);return p===void 0?h:p}else{if(Qr(h))return cP(h,p=>m(p,v));{const p=m(h,v);if(p===void 0){if(h===null)return h;throw new Error(cr(9))}return p}}}function c(h=o(),m){const v=n[m.type];let p;for(const{matcher:x,reducer:S}of r)x(m)&&S&&(p??(p=[])).push(S);if(!v&&!p)return l?u(h,l,m):h;if(v&&(h=u(h,v,m)),p)for(const x of p)h=u(h,x,m);return h}return c.getInitialState=o,c}let KV="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",YV=(e=21)=>{let t="",n=e;for(;n--;)t+=KV[Math.random()*64|0];return t};const XV=Symbol.for("rtk-slice-createasyncthunk");function QV(e,t){return`${e}/${t}`}function ZV({creators:e}={}){var n;const t=(n=e==null?void 0:e.asyncThunk)==null?void 0:n[XV];return function(l){const{name:o,reducerPath:u=o}=l;if(!o)throw new Error(cr(11));const c=(typeof l.reducers=="function"?l.reducers(JV()):l.reducers)||{},h=Object.keys(c),m={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},v={addCase(T,R){const E=typeof T=="string"?T:T.type;if(!E)throw new Error(cr(12));if(E in m.sliceCaseReducersByType)throw new Error(cr(13));return m.sliceCaseReducersByType[E]=R,v},addMatcher(T,R){return m.sliceMatchers.push({matcher:T,reducer:R}),v},exposeAction(T,R){return m.actionCreators[T]=R,v},exposeCaseReducer(T,R){return m.sliceCaseReducersByName[T]=R,v}};h.forEach(T=>{const R=c[T],E={reducerName:T,type:QV(o,T),createNotation:typeof l.reducers=="function"};t9(R)?r9(E,R,v,t):e9(E,R,v)});function p(){const[T={},R=[],E=void 0]=typeof l.extraReducers=="function"?vP(l.extraReducers):[l.extraReducers],D={...T,...m.sliceCaseReducersByType};return qV(l.initialState,k=>{for(let I in D)k.addCase(I,D[I]);for(let I of m.sliceMatchers)k.addMatcher(I.matcher,I.reducer);for(let I of R)k.addMatcher(I.matcher,I.reducer);E&&k.addDefaultCase(E)})}const x=T=>T,S=new Map,w=new WeakMap;let j;function C(T,R){return j||(j=p()),j(T,R)}function A(){return j||(j=p()),j.getInitialState()}function N(T,R=!1){function E(k){let I=k[T];return typeof I>"u"&&R&&(I=lm(w,E,A)),I}function D(k=x){return lm(lm(S,R,()=>new WeakMap),k,()=>{const I={};for(const[P,B]of Object.entries(l.selectors??{}))I[P]=WV(B,k,()=>lm(w,k,A),R);return I})}return{reducerPath:T,getSelectors:D,get selectors(){return D(E)},selectSlice:E}}const O={name:o,reducer:C,actions:m.actionCreators,caseReducers:m.sliceCaseReducersByName,getInitialState:A,...N(u),injectInto(T,{reducerPath:R,...E}={}){const D=R??u;return T.inject({reducerPath:D,reducer:C},E),{...O,...N(D,!0)}}};return O}}function WV(e,t,n,r){function l(o,...u){let c=t(o);return typeof c>"u"&&r&&(c=n()),e(c,...u)}return l.unwrapped=e,l}const Hn=ZV();function JV(){function e(t,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...n}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...n){return t(...n)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:n}},asyncThunk:e}}function e9({type:e,reducerName:t,createNotation:n},r,l){let o,u;if("reducer"in r){if(n&&!n9(r))throw new Error(cr(17));o=r.reducer,u=r.prepare}else o=r;l.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,u?Er(e,u):Er(e))}function t9(e){return e._reducerDefinitionType==="asyncThunk"}function n9(e){return e._reducerDefinitionType==="reducerWithPrepare"}function r9({type:e,reducerName:t},n,r,l){if(!l)throw new Error(cr(18));const{payloadCreator:o,fulfilled:u,pending:c,rejected:h,settled:m,options:v}=n,p=l(e,o,v);r.exposeAction(t,p),u&&r.addCase(p.fulfilled,u),c&&r.addCase(p.pending,c),h&&r.addCase(p.rejected,h),m&&r.addMatcher(p.settled,m),r.exposeCaseReducer(t,{fulfilled:u||om,pending:c||om,rejected:h||om,settled:m||om})}function om(){}const i9="task",gP="listener",pP="completed",qS="cancelled",a9=`task-${qS}`,l9=`task-${pP}`,fb=`${gP}-${qS}`,o9=`${gP}-${pP}`;var Xv=class{constructor(e){Kh(this,"code");Kh(this,"name","TaskAbortError");Kh(this,"message");this.code=e,this.message=`${i9} ${qS} (reason: ${e})`}};const KS=(e,t)=>{if(typeof e!="function")throw new TypeError(cr(32))},Zm=()=>{},YS=(e,t=Zm)=>(e.catch(t),e),yP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),zo=e=>{if(e.aborted)throw new Xv(e.reason)};function xP(e,t){let n=Zm;return new Promise((r,l)=>{const o=()=>l(new Xv(e.reason));if(e.aborted){o();return}n=yP(e,o),t.finally(()=>n()).then(r,l)}).finally(()=>{n=Zm})}const s9=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(n){return{status:n instanceof Xv?"cancelled":"rejected",error:n}}finally{t==null||t()}},Wm=e=>t=>YS(xP(e,t).then(n=>(zo(e),n))),bP=e=>{const t=Wm(e);return n=>{let r;return YS(t(new Promise(l=>{r=setTimeout(l,n)})).finally(()=>clearTimeout(r)))}},{assign:mu}=Object,CO={},Qv="listenerMiddleware",u9=(e,t)=>{const n=r=>yP(e,()=>r.abort(e.reason));return(r,l)=>{KS(r);const o=new AbortController;n(o);const u=s9(async()=>{zo(e),zo(o.signal);const c=await r({pause:Wm(o.signal),delay:bP(o.signal),signal:o.signal});return zo(o.signal),c},()=>o.abort(l9));return l!=null&&l.autoJoin&&t.push(u.catch(Zm)),{result:Wm(e)(u),cancel(){o.abort(a9)}}}},c9=(e,t)=>{const n=async(r,l)=>{zo(t);let o=()=>{};const u=[new Promise((h,m)=>{let v=e({predicate:r,effect:(p,x)=>{x.unsubscribe(),h([p,x.getState(),x.getOriginalState()])}});o=()=>{v(),m()}})];let c;l!=null&&u.push(new Promise(h=>{c=setTimeout(h,l,null)}));try{const h=await xP(t,Promise.race(u));return zo(t),h}finally{clearTimeout(c),o()}};return((r,l)=>YS(n(r,l)))},SP=e=>{let{type:t,actionCreator:n,matcher:r,predicate:l,effect:o}=e;if(t)l=Er(t).match;else if(n)t=n.type,l=n.match;else if(r)l=r;else if(!l)throw new Error(cr(21));return KS(o),{predicate:l,type:t,effect:o}},wP=mu(e=>{const{type:t,predicate:n,effect:r}=SP(e);return{id:YV(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(cr(22))}}},{withTypes:()=>wP}),_O=(e,t)=>{const{type:n,effect:r,predicate:l}=SP(t);return Array.from(e.values()).find(o=>(typeof n=="string"?o.type===n:o.predicate===l)&&o.effect===r)},db=e=>{e.pending.forEach(t=>{t.abort(fb)})},f9=(e,t)=>()=>{for(const n of t.keys())db(n);e.clear()},AO=(e,t,n)=>{try{e(t,n)}catch(r){setTimeout(()=>{throw r},0)}},jP=mu(Er(`${Qv}/add`),{withTypes:()=>jP}),d9=Er(`${Qv}/removeAll`),CP=mu(Er(`${Qv}/remove`),{withTypes:()=>CP}),h9=(...e)=>{console.error(`${Qv}/error`,...e)},ed=(e={})=>{const t=new Map,n=new Map,r=A=>{const N=n.get(A)??0;n.set(A,N+1)},l=A=>{const N=n.get(A)??1;N===1?n.delete(A):n.set(A,N-1)},{extra:o,onError:u=h9}=e;KS(u);let c;const h=()=>{if(!c){const A=Array.from(t.values()),N=new Set;let O=!1;for(const T of A)typeof T.type=="string"?N.add(T.type):O=!0;c={entries:A,types:N,anyType:O}}return c},m=A=>{t.has(A.id)||(t.set(A.id,A),c=void 0)},v=A=>(A.unsubscribe=()=>{t.delete(A.id)&&(c=void 0)},m(A),N=>{A.unsubscribe(),N!=null&&N.cancelActive&&db(A)}),p=(A=>{const N=_O(t,A)??wP(A);return v(N)});mu(p,{withTypes:()=>p});const x=A=>{const N=_O(t,A);return N&&(N.unsubscribe(),A.cancelActive&&db(N)),!!N};mu(x,{withTypes:()=>x});const S=async(A,N,O,T)=>{const R=new AbortController,E=c9(p,R.signal),D=[];try{A.pending.add(R),r(A),await Promise.resolve(A.effect(N,mu({},O,{getOriginalState:T,condition:(k,I)=>E(k,I).then(Boolean),take:E,delay:bP(R.signal),pause:Wm(R.signal),extra:o,signal:R.signal,fork:u9(R.signal,D),unsubscribe:A.unsubscribe,subscribe:()=>{m(A)},cancelActiveListeners:()=>{A.pending.forEach((k,I,P)=>{k!==R&&(k.abort(fb),P.delete(k))})},cancel:()=>{R.abort(fb),A.pending.delete(R)},throwIfCancelled:()=>{zo(R.signal)}})))}catch(k){k instanceof Xv||AO(u,k,{raisedBy:"effect"})}finally{await Promise.all(D),R.abort(o9),l(A),A.pending.delete(R)}},w=f9(t,n),j=()=>{w(),c=void 0};return{middleware:A=>N=>O=>{if(!eP(O))return N(O);if(jP.match(O))return p(O.payload);if(d9.match(O)){j();return}if(CP.match(O))return x(O.payload);let T=A.getState();const R=()=>{if(T===CO)throw new Error(cr(23));return T};let E;try{E=N(O);const{entries:D,types:k,anyType:I}=h();if(I||k.has(O.type)){const P=A.getState();for(const B of D){if(typeof B.type=="string"&&B.type!==O.type)continue;let F=!1;try{F=B.predicate(O,P,T)}catch(se){F=!1,AO(u,se,{raisedBy:"predicate"})}F&&S(B,O,A,R)}}}finally{T=CO}return E},startListening:p,stopListening:x,clearListeners:j}};function cr(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 m9={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},_P=Hn({name:"chartLayout",initialState:m9,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var n,r,l,o;e.margin.top=(n=t.payload.top)!==null&&n!==void 0?n:0,e.margin.right=(r=t.payload.right)!==null&&r!==void 0?r:0,e.margin.bottom=(l=t.payload.bottom)!==null&&l!==void 0?l:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),Zv=_P.actions,v9=Zv.setMargin,g9=Zv.setLayout,p9=Zv.setChartSize,y9=Zv.setScale,x9=_P.reducer;function AP(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function it(e){return Number.isFinite(e)}function Fi(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function EO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function or(e){for(var t=1;t{if(t&&n){var r=n.width,l=n.height,o=t.align,u=t.verticalAlign,c=t.layout,h=t.position,m=t.offset,v=m===void 0?0:m;if(h!=null){if($H(h)){if(h==="top"&&Re(e.top))return or(or({},e),{},{top:e.top+(l||0)+v});if(h==="bottom"&&Re(e.bottom))return or(or({},e),{},{bottom:e.bottom+(l||0)+v});if(h==="left"&&Re(e.left))return or(or({},e),{},{left:e.left+(r||0)+v});if(h==="right"&&Re(e.right))return or(or({},e),{},{right:e.right+(r||0)+v})}return e}if((c==="vertical"||c==="horizontal"&&u==="middle")&&o!=="center"&&Re(e[o]))return or(or({},e),{},{[o]:e[o]+(r||0)});if((c==="horizontal"||c==="vertical"&&o==="center")&&u!=="middle"&&Re(e[u]))return or(or({},e),{},{[u]:e[u]+(l||0)})}return e},Ra=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",EP=(e,t,n,r)=>{if(r)return e.map(c=>c.coordinate);var l,o,u=e.map(c=>(c.coordinate===t&&(l=!0),c.coordinate===n&&(o=!0),c.coordinate));return l||u.push(t),o||u.push(n),u},OP=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,l=e.type,o=e.range,u=e.scale,c=e.realScaleType,h=e.isCategorical,m=e.categoricalDomain,v=e.tickCount,p=e.ticks,x=e.niceTicks,S=e.axisType;if(!u)return null;var w=c==="scaleBand"&&u.bandwidth?u.bandwidth()/2:2,j=l==="category"&&u.bandwidth?u.bandwidth()/w:0;if(j=S==="angleAxis"&&o&&o.length>=2?Vr(o[0]-o[1])*2*j:j,p||x){var C=(p||x||[]).map((A,N)=>{var O=r?r.indexOf(A):A,T=u.map(O);return it(T)?{coordinate:T+j,value:A,offset:j,index:N}:null}).filter(ur);return C}return h&&m?m.map((A,N)=>{var O=u.map(A);return it(O)?{coordinate:O+j,value:A,index:N,offset:j}:null}).filter(ur):u.ticks&&v!=null?u.ticks(v).map((A,N)=>{var O=u.map(A);return it(O)?{coordinate:O+j,value:A,index:N,offset:j}:null}).filter(ur):u.domain().map((A,N)=>{var O=u.map(A);return it(O)?{coordinate:O+j,value:r?r[A]:A,index:N,offset:j}:null}).filter(ur)},C9=e=>{var t,n=e.length;if(!(n<=0)){var r=(t=e[0])===null||t===void 0?void 0:t.length;if(!(r==null||r<=0))for(var l=0;l=0?(m[0]=o,o+=x,m[1]=o):(m[0]=u,u+=x,m[1]=u)}}}},_9=e=>{var t,n=e.length;if(!(n<=0)){var r=(t=e[0])===null||t===void 0?void 0:t.length;if(!(r==null||r<=0))for(var l=0;l=0?(h[0]=o,o+=m,h[1]=o):(h[0]=0,h[1]=0)}}}},A9={sign:C9,expand:oF,none:Go,silhouette:sF,wiggle:uF,positive:_9},E9=(e,t,n)=>{var r,l=(r=A9[n])!==null&&r!==void 0?r:Go,o=lF().keys(t).value((c,h)=>Number(pn(c,h,0))).order(W0).offset(l),u=o(e);return u.forEach((c,h)=>{c.forEach((m,v)=>{var p=pn(e[v],t[h],0);Array.isArray(p)&&p.length===2&&Re(p[0])&&Re(p[1])&&(m[0]=p[0],m[1]=p[1])})}),u};function OO(e){var t=e.axis,n=e.ticks,r=e.bandSize,l=e.entry,o=e.index,u=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!yn(l[t.dataKey])){var c=rD(n,"value",l[t.dataKey]);if(c)return c.coordinate+r/2}return n!=null&&n[o]?n[o].coordinate+r/2:null}var h=pn(l,yn(u)?t.dataKey:u),m=t.scale.map(h);return Re(m)?m:null}var O9=e=>{var t=e.flat(2).filter(Re);return[Math.min(...t),Math.max(...t)]},N9=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],T9=(e,t,n)=>{if(!(e==null||Object.keys(e).length===0))return N9(Object.keys(e).reduce((r,l)=>{var o=e[l];if(!o)return r;var u=o.stackedData,c=u.reduce((h,m)=>{var v=AP(m,t,n),p=O9(v);return!it(p[0])||!it(p[1])?h:[Math.min(h[0],p[0]),Math.max(h[1],p[1])]},[1/0,-1/0]);return[Math.min(c[0],r[0]),Math.max(c[1],r[1])]},[1/0,-1/0]))},NO=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,TO=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Jm=(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 l=Hv(t,j=>j.coordinate),o=[],u=0,c=1,h=l.length;cx&&(S=Math.min(w,S));return S===1/0?0:S}return n?void 0:0};function RO(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,l=e.value,o=e.name;return or(or({},t),{},{dataKey:n,payload:r,value:l,name:o})}function NP(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var R9=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},M9=(e,t)=>t==="centric"?e.angle:e.radius,Ma=e=>e.layout.width,Da=e=>e.layout.height,D9=e=>e.layout.scale,TP=e=>e.layout.margin,Wv=W(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Jv=W(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),P9="data-recharts-item-index",k9="data-recharts-item-id",td=60,XS=30;function MO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function sm(e){for(var t=1;te.brush.height;function $9(e){var t=Jv(e);return t.reduce((n,r)=>{if(r.orientation==="left"&&!r.mirror&&!r.hide){var l=typeof r.width=="number"?r.width:td;return n+l}return n},0)}function B9(e){var t=Jv(e);return t.reduce((n,r)=>{if(r.orientation==="right"&&!r.mirror&&!r.hide){var l=typeof r.width=="number"?r.width:td;return n+l}return n},0)}function H9(e){var t=Wv(e);return t.reduce((n,r)=>{if(r.orientation==="top"&&!r.mirror&&!r.hide){var l=typeof r.height=="number"?r.height:XS;return n+l}return n},0)}function F9(e){var t=Wv(e);return t.reduce((n,r)=>{if(r.orientation==="bottom"&&!r.mirror&&!r.hide){var l=typeof r.height=="number"?r.height:XS;return n+l}return n},0)}var Pn=W([Ma,Da,TP,U9,$9,B9,H9,F9,ZD,cV],(e,t,n,r,l,o,u,c,h,m)=>{var v={left:(n.left||0)+l,right:(n.right||0)+o},p={top:(n.top||0)+u,bottom:(n.bottom||0)+c},x=sm(sm({},p),v),S=x.bottom;x.bottom+=r,x=j9(x,h,m);var w=e-x.left-x.right,j=t-x.top-x.bottom;return sm(sm({brushBottom:S},x),{},{width:Math.max(w,0),height:Math.max(j,0)})}),V9=W(Pn,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),RP=W(Ma,Da,(e,t)=>({x:0,y:0,width:e,height:t})),G9=b.createContext(null),fr=()=>b.useContext(G9)!=null,eg=e=>e.brush,tg=W([eg,Pn,TP],(e,t,n)=>({height:e.height,x:Re(e.x)?e.x:t.left,y:Re(e.y)?e.y:t.top+t.height+t.brushBottom-((n==null?void 0:n.bottom)||0),width:Re(e.width)?e.width:t.width}));function q9(e,t,{signal:n,edges:r}={}){let l,o=null;const u=r!=null&&r.includes("leading"),c=r==null||r.includes("trailing"),h=()=>{o!==null&&(e.apply(l,o),l=void 0,o=null)},m=()=>{c&&h(),S()};let v=null;const p=()=>{v!=null&&clearTimeout(v),v=setTimeout(()=>{v=null,m()},t)},x=()=>{v!==null&&(clearTimeout(v),v=null)},S=()=>{x(),l=void 0,o=null},w=()=>{h()},j=function(...C){if(n!=null&&n.aborted)return;l=this,o=C;const A=v==null;p(),u&&A&&h()};return j.schedule=p,j.cancel=S,j.flush=w,n==null||n.addEventListener("abort",S,{once:!0}),j}function K9(e,t=0,n={}){typeof n!="object"&&(n={});const{leading:r=!1,trailing:l=!0,maxWait:o}=n,u=Array(2);r&&(u[0]="leading"),l&&(u[1]="trailing");let c,h=null;const m=q9(function(...x){c=e.apply(this,x),h=null},t,{edges:u}),v=function(...x){return o!=null&&(h===null&&(h=Date.now()),Date.now()-h>=o)?((r||l)&&(c=e.apply(this,x)),h=Date.now(),m.cancel(),m.schedule(),c):(m.apply(this,x),c)},p=()=>(m.flush(),c);return v.cancel=m.cancel,v.flush=p,v}function Y9(e,t=0,n={}){const{leading:r=!0,trailing:l=!0}=n;return K9(e,t,{leading:r,maxWait:t,trailing:l})}var ev=function(t,n){for(var r=arguments.length,l=new Array(r>2?r-2:0),o=2;ol[u++]))}},ki={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},MP=(e,t,n)=>{var r=n.width,l=r===void 0?ki.width:r,o=n.height,u=o===void 0?ki.height:o,c=n.aspect,h=n.maxHeight,m=Vo(l)?e:Number(l),v=Vo(u)?t:Number(u);return c&&c>0&&(m?v=m/c:v&&(m=v*c),h&&v!=null&&v>h&&(v=h)),{calculatedWidth:m,calculatedHeight:v}},X9={width:0,height:0,overflow:"visible"},Q9={width:0,overflowX:"visible"},Z9={height:0,overflowY:"visible"},W9={},J9=e=>{var t=e.width,n=e.height,r=Vo(t),l=Vo(n);return r&&l?X9:r?Q9:l?Z9:W9};function eG(e){var t=e.width,n=e.height,r=e.aspect,l=t,o=n;return l===void 0&&o===void 0?(l=ki.width,o=ki.height):l===void 0?l=r&&r>0?void 0:ki.width:o===void 0&&(o=r&&r>0?void 0:ki.height),{width:l,height:o}}var tG=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function tv(){return tv=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 dG(l)?b.createElement(DP.Provider,{value:l},t):null}var QS=()=>b.useContext(DP),hG=b.forwardRef((e,t)=>{var n=e.aspect,r=e.initialDimension,l=r===void 0?ki.initialDimension:r,o=e.width,u=e.height,c=e.minWidth,h=c===void 0?ki.minWidth:c,m=e.minHeight,v=e.maxHeight,p=e.children,x=e.debounce,S=x===void 0?ki.debounce:x,w=e.id,j=e.className,C=e.onResize,A=e.style,N=A===void 0?{}:A,O=cG(e,tG),T=b.useRef(null),R=b.useRef();R.current=C,b.useImperativeHandle(t,()=>T.current);var E=b.useState({containerWidth:l.width,containerHeight:l.height}),D=aG(E,2),k=D[0],I=D[1],P=b.useCallback((G,ne)=>{I(ie=>{var ce=Math.round(G),U=Math.round(ne);return ie.containerWidth===ce&&ie.containerHeight===U?ie:{containerWidth:ce,containerHeight:U}})},[]);b.useEffect(()=>{if(T.current==null||typeof ResizeObserver>"u")return Ku;var G=Ee=>{var ee,ve=Ee[0];if(ve!=null){var z=ve.contentRect,Y=z.width,le=z.height;P(Y,le),(ee=R.current)===null||ee===void 0||ee.call(R,Y,le)}};S>0&&(G=Y9(G,S,{trailing:!0,leading:!1}));var ne=new ResizeObserver(G),ie=T.current.getBoundingClientRect(),ce=ie.width,U=ie.height;return P(ce,U),ne.observe(T.current),()=>{ne.disconnect()}},[P,S]);var B=k.containerWidth,F=k.containerHeight;ev(!n||n>0,"The aspect(%s) must be greater than zero.",n);var se=MP(B,F,{width:o,height:u,aspect:n,maxHeight:v}),ue=se.calculatedWidth,de=se.calculatedHeight;return ev(B<0||F<0||ue!=null&&ue>0||de!=null&&de>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.`,ue,de,o,u,h,m,n),b.createElement("div",tv({id:w?"".concat(w):void 0,className:Ct("recharts-responsive-container",j),style:PO(PO({},N),{},{width:o,height:u,minWidth:h,minHeight:m,maxHeight:v}),ref:T},O),b.createElement("div",{style:J9({width:o,height:u})},b.createElement(PP,{width:ue,height:de},p)))}),kP=b.forwardRef((e,t)=>{var n=QS();if(Fi(n.width)&&Fi(n.height))return e.children;var r=eG({width:e.width,height:e.height,aspect:e.aspect}),l=r.width,o=r.height,u=MP(void 0,void 0,{width:l,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),c=u.calculatedWidth,h=u.calculatedHeight;return Re(c)&&Re(h)?b.createElement(PP,{width:c,height:h},e.children):b.createElement(hG,tv({},e,{width:l,height:o,ref:t}))}),ng=()=>{var e,t=fr(),n=ke(V9),r=ke(tg),l=(e=ke(eg))===null||e===void 0?void 0:e.padding;return!t||!r||!l?n:{width:r.width-l.left-l.right,height:r.height-l.top-l.bottom,x:l.left,y:l.top}},mG={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},IP=()=>{var e;return(e=ke(Pn))!==null&&e!==void 0?e:mG},zP=()=>ke(Ma),LP=()=>ke(Da),It=e=>e.layout.layoutType,Yu=()=>ke(It),UP=()=>{var e=Yu();if(e==="horizontal"||e==="vertical")return e},$P=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},vG=()=>{var e=Yu();return e!==void 0},nd=e=>{var t=Vt(),n=fr(),r=e.width,l=e.height,o=QS(),u=r,c=l;return o&&(u=o.width>0?o.width:r,c=o.height>0?o.height:l),b.useEffect(()=>{!n&&Fi(u)&&Fi(c)&&t(p9({width:u,height:c}))},[t,n,u,c]),null},gG={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},BP=Hn({name:"legend",initialState:gG,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(rt(t.payload))},prepare:Ot()},replaceLegendPayload:{reducer(e,t){var n=t.payload,r=n.prev,l=n.next,o=Gr(e).payload.indexOf(rt(r));o>-1&&(e.payload[o]=rt(l))},prepare:Ot()},removeLegendPayload:{reducer(e,t){var n=Gr(e).payload.indexOf(rt(t.payload));n>-1&&e.payload.splice(n,1)},prepare:Ot()}}}),rd=BP.actions;rd.setLegendSize;rd.setLegendSettings;var pG=rd.addLegendPayload,yG=rd.replaceLegendPayload,xG=rd.removeLegendPayload,bG=BP.reducer,kx={exports:{}},Ix={};/** - * @license React - * use-sync-external-store-with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var IO;function SG(){if(IO)return Ix;IO=1;var e=Hu();function t(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var n=typeof Object.is=="function"?Object.is:t,r=e.useSyncExternalStore,l=e.useRef,o=e.useEffect,u=e.useMemo,c=e.useDebugValue;return Ix.useSyncExternalStoreWithSelector=function(h,m,v,p,x){var S=l(null);if(S.current===null){var w={hasValue:!1,value:null};S.current=w}else w=S.current;S=u(function(){function C(R){if(!A){if(A=!0,N=R,R=p(R),x!==void 0&&w.hasValue){var E=w.value;if(x(E,R))return O=E}return O=R}if(E=O,n(N,R))return E;var D=p(R);return x!==void 0&&x(E,D)?(N=R,E):(N=R,O=D)}var A=!1,N,O,T=v===void 0?null:v;return[function(){return C(m())},T===null?void 0:function(){return C(T())}]},[m,v,p,x]);var j=r(h,S[0],S[1]);return o(function(){w.hasValue=!0,w.value=j},[j]),c(j),j},Ix}var zO;function wG(){return zO||(zO=1,kx.exports=SG()),kx.exports}wG();function jG(e){e()}function CG(){let e=null,t=null;return{clear(){e=null,t=null},notify(){jG(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const l=t={callback:n,next:null,prev:t};return l.prev?l.prev.next=l:e=l,function(){!r||e===null||(r=!1,l.next?l.next.prev=l.prev:t=l.prev,l.prev?l.prev.next=l.next:e=l.next)}}}}const LO={notify(){},get:()=>[]};function _G(e,t){let n,r=LO,l=0,o=!1;function u(j){v();const C=r.subscribe(j);let A=!1;return()=>{A||(A=!0,C(),p())}}function c(){r.notify()}function h(){w.onStateChange&&w.onStateChange()}function m(){return o}function v(){l++,n||(n=e.subscribe(h),r=CG())}function p(){l--,n&&l===0&&(n(),n=void 0,r.clear(),r=LO)}function x(){o||(o=!0,v())}function S(){o&&(o=!1,p())}const w={addNestedSub:u,notifyNestedSubs:c,handleChangeWrapper:h,isSubscribed:m,trySubscribe:x,tryUnsubscribe:S,getListeners:()=>r};return w}const AG=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",EG=AG(),OG=()=>typeof navigator<"u"&&navigator.product==="ReactNative",NG=OG(),TG=()=>EG||NG?b.useLayoutEffect:b.useEffect,RG=TG();function UO(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function MG(e,t){if(UO(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let l=0;l{const h=_G(l);return{store:l,subscription:h,getServerState:r!=null?()=>r:void 0}},[l,r]),u=b.useMemo(()=>l.getState(),[l]);RG(()=>{const{subscription:h}=o;return h.onStateChange=h.notifyNestedSubs,h.trySubscribe(),u!==l.getState()&&h.notifyNestedSubs(),()=>{h.tryUnsubscribe(),h.onStateChange=void 0}},[o,u]);const c=n||PG;return b.createElement(c.Provider,{value:o},t)}var IG=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function zG(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function rg(e,t){var n=new Set([...Object.keys(e),...Object.keys(t)]);for(var r of n)if(IG.has(r)){if(e[r]==null&&t[r]==null)continue;if(!MG(e[r],t[r]))return!1}else if(!zG(e[r],t[r]))return!1;return!0}function hb(){return hb=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?Zs.separator:t,r=e.contentStyle,l=e.itemStyle,o=e.labelStyle,u=o===void 0?Zs.labelStyle:o,c=e.payload,h=e.formatter,m=e.itemSorter,v=e.wrapperClassName,p=e.labelClassName,x=e.label,S=e.labelFormatter,w=e.accessibilityLayer,j=w===void 0?Zs.accessibilityLayer:w,C=()=>{if(c&&c.length){var k={padding:0,margin:0},I=KG(c,m),P=I.map((B,F)=>{if(!B||B.type==="none")return null;var se=B.formatter||h||qG,ue=B.value,de=B.name,G=ue,ne=de;if(se){var ie=se(ue,de,B,F,c);if(Array.isArray(ie)){var ce=BG(ie,2);G=ce[0],ne=ce[1]}else if(ie!=null)G=ie;else return null}var U=af(af({},Zs.itemStyle),{},{color:B.color||Zs.itemStyle.color},l);return b.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(F),style:U},Hi(ne)?b.createElement("span",{className:"recharts-tooltip-item-name"},ne):null,Hi(ne)?b.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,b.createElement("span",{className:"recharts-tooltip-item-value"},G),b.createElement("span",{className:"recharts-tooltip-item-unit"},B.unit||""))});return b.createElement("ul",{className:"recharts-tooltip-item-list",style:k},P)}return null},A=af(af({},Zs.contentStyle),r),N=af({margin:0},u),O=!yn(x),T=O?x:"",R=Ct("recharts-default-tooltip",v),E=Ct("recharts-tooltip-label",p);O&&S&&c!==void 0&&c!==null&&(T=S(x,c));var D=j?{role:"status","aria-live":"assertive"}:{};return b.createElement("div",hb({className:R,style:A},D),b.createElement("p",{className:E,style:N},b.isValidElement(T)?T:"".concat(T)),C())},lf="recharts-tooltip-wrapper",XG={visibility:"hidden"};function QG(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return Ct(lf,{["".concat(lf,"-right")]:Re(n)&&t&&Re(t.x)&&n>=t.x,["".concat(lf,"-left")]:Re(n)&&t&&Re(t.x)&&n=t.y,["".concat(lf,"-top")]:Re(r)&&t&&Re(t.y)&&r0?l:0),p=n[r]+l;if(t[r])return u[r]?v:p;var x=h[r];if(x==null)return 0;if(u[r]){var S=v,w=x;return SC?Math.max(v,x):Math.max(p,x)}function ZG(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function WG(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTop,l=e.offsetLeft,o=e.position,u=e.reverseDirection,c=e.tooltipBox,h=e.useTranslate3d,m=e.viewBox,v,p,x;return c&&c.height>0&&c.width>0&&n?(p=HO({allowEscapeViewBox:t,coordinate:n,key:"x",offset:l,position:o,reverseDirection:u,tooltipDimension:c.width,viewBox:m,viewBoxDimension:m.width}),x=HO({allowEscapeViewBox:t,coordinate:n,key:"y",offset:r,position:o,reverseDirection:u,tooltipDimension:c.height,viewBox:m,viewBoxDimension:m.height}),v=ZG({translateX:p,translateY:x,useTranslate3d:h})):v=XG,{cssProperties:v,cssClasses:QG({translateX:p,translateY:x,coordinate:n})}}var JG=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),id={isSsr:JG()};function e7(e,t){return i7(e)||r7(e,t)||n7(e,t)||t7()}function t7(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n7(e,t){if(e){if(typeof e=="string")return FO(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)?FO(e,t):void 0}}function FO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nid.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=e7(e,2),n=t[0],r=t[1];return b.useEffect(()=>{if(window.matchMedia){var l=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{r(l.matches)};return l.addEventListener("change",o),()=>{l.removeEventListener("change",o)}}},[]),n}function VO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Ws(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}})),m=s7(h,2),v=m[0],p=m[1];b.useEffect(()=>{var A=N=>{if(N.key==="Escape"){var O,T,R,E;p({dismissed:!0,dismissedAtCoordinate:{x:(O=(T=e.coordinate)===null||T===void 0?void 0:T.x)!==null&&O!==void 0?O:0,y:(R=(E=e.coordinate)===null||E===void 0?void 0:E.y)!==null&&R!==void 0?R:0}})}};return document.addEventListener("keydown",A),()=>{document.removeEventListener("keydown",A)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(n=e.coordinate)===null||n===void 0?void 0:n.y]),v.dismissed&&(((r=(l=e.coordinate)===null||l===void 0?void 0:l.x)!==null&&r!==void 0?r:0)!==v.dismissedAtCoordinate.x||((o=(u=e.coordinate)===null||u===void 0?void 0:u.y)!==null&&o!==void 0?o:0)!==v.dismissedAtCoordinate.y)&&p(Ws(Ws({},v),{},{dismissed:!1}));var x=WG({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}),S=x.cssClasses,w=x.cssProperties,j=e.hasPortalFromProps?{}:Ws(Ws({transition:h7({prefersReducedMotion:c,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},w),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),C=Ws(Ws({},j),{},{visibility:!v.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return b.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:S,style:C,ref:e.innerRef},e.children)}var v7=b.memo(m7),FP=()=>{var e;return(e=ke(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};function mb(){return mb=Object.assign?Object.assign.bind():function(e){for(var t=1;tit(e.x)&&it(e.y),XO=e=>e.base!=null&&nv(e.base)&&nv(e),of=e=>e.x,sf=e=>e.y,x7=(e,t)=>{if(typeof e=="function")return e;var n="curve".concat(NS(e));if((n==="curveMonotone"||n==="curveBump")&&t){var r=YO["".concat(n).concat(t==="vertical"?"Y":"X")];if(r)return r}return YO[n]||Uv},QO={connectNulls:!1,type:"linear"},b7=e=>{var t=e.type,n=t===void 0?QO.type:t,r=e.points,l=r===void 0?[]:r,o=e.baseLine,u=e.layout,c=e.connectNulls,h=c===void 0?QO.connectNulls:c,m=x7(n,u),v=h?l.filter(nv):l;if(Array.isArray(o)){var p,x=l.map((A,N)=>KO(KO({},A),{},{base:o[N]}));u==="vertical"?p=nm().y(sf).x1(of).x0(A=>A.base.x):p=nm().x(of).y1(sf).y0(A=>A.base.y);var S=p.defined(XO).curve(m),w=h?x.filter(XO):x;return S(w)}var j;u==="vertical"&&Re(o)?j=nm().y(sf).x1(of).x0(o):Re(o)?j=nm().x(of).y1(sf).y0(o):j=cD().x(of).y(sf);var C=j.defined(nv).curve(m);return C(v)},VP=e=>{var t=e.className,n=e.points,r=e.path,l=e.pathRef,o=Yu();if((!n||!n.length)&&!r)return null;var u={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},c=n&&n.length?b7(u):r;return b.createElement("path",mb({},Bi(e),IS(e),{className:Ct("recharts-curve",t),d:c===null?void 0:c,ref:l}))},S7=["x","y","top","left","width","height","className"];function vb(){return vb=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(l,"v").concat(r,"M").concat(o,",").concat(t,"h").concat(n),N7=e=>{var t=e.x,n=t===void 0?0:t,r=e.y,l=r===void 0?0:r,o=e.top,u=o===void 0?0:o,c=e.left,h=c===void 0?0:c,m=e.width,v=m===void 0?0:m,p=e.height,x=p===void 0?0:p,S=e.className,w=A7(e,S7),j=w7({x:n,y:l,top:u,left:h,width:v,height:x},w);return!Re(n)||!Re(l)||!Re(v)||!Re(x)||!Re(u)||!Re(h)?null:b.createElement("path",vb({},Xr(j),{className:Ct("recharts-cross",S),d:O7(n,l,v,x,u,h)}))};function T7(e,t,n,r){var l=r/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-l:n.left+.5,y:e==="horizontal"?n.top+.5:t.y-l,width:e==="horizontal"?r:n.width-1,height:e==="horizontal"?n.height-1:r}}var rv=1e-4,GP=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],qP=(e,t)=>e.map((n,r)=>n*t**r).reduce((n,r)=>n+r),WO=(e,t)=>n=>{var r=GP(e,t);return qP(r,n)},R7=(e,t)=>n=>{var r=GP(e,t),l=[...r.map((o,u)=>o*u).slice(1),0];return qP(l,n)},M7=e=>{var t,n=e.split("(");if(n.length!==2||n[0]!=="cubic-bezier")return null;var r=(t=n[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(r==null||r.length!==4)return null;var l=r.map(o=>parseFloat(o));return[l[0],l[1],l[2],l[3]]},D7=function(){for(var t=arguments.length,n=new Array(t),r=0;r{var l=WO(e,n),o=WO(t,r),u=R7(e,n),c=m=>m>1?1:m<0?0:m,h=m=>{for(var v=m>1?1:m,p=v,x=0;x<8;++x){var S=l(p)-v,w=u(p);if(Math.abs(S-v)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,l=t.damping,o=l===void 0?8:l,u=t.dt,c=u===void 0?16.67:u,h=1,m=[0],v=0,p=0,x=1e4,S=0;S{var N,O,T;if(A<=0)return 0;if(A>=1)return h;var R=A*C,E=Math.floor(R),D=R-E;return((N=m[E])!==null&&N!==void 0?N:0)+(((O=m[E+1])!==null&&O!==void 0?O:0)-((T=m[E])!==null&&T!==void 0?T:0))*D}},I7=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return JO(e);case"spring":return k7();default:if(e.split("(")[0]==="cubic-bezier")return JO(e)}return typeof e=="function"?e:null},z7=(e,t,n)=>{var r,l=o=>{var u=t.tick(o);if(t.getState()==="active"){if(n(t.getInterpolated()),t.getProgress()===1){t.complete(),r=void 0;return}r=e.setTimeout(l,u);return}r=e.setTimeout(l,u)};return r=e.setTimeout(l,0),()=>{var o;return(o=r)===null||o===void 0?void 0:o()}},KP=b.createContext(z7);KP.Provider;function L7(e){var t=b.useContext(KP);return b.useMemo(()=>e??t,[e,t])}function U7(e,t,n){return(t=$7(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $7(e){var t=B7(e,"string");return typeof t=="symbol"?t:t+""}function B7(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var eN="init",tN="pending",nN="active",H7="completed";function Ux(e){return Math.max(0,e)}class F7{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var n;U7(this,"state",eN),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Ux(t.animationDuration),this.animationBegin=Ux(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(n=t.onAnimationStart)===null||n===void 0||n.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===eN)return this.state=tN,this.beginStartedTime=t,this.animationBegin;if(this.getState()===tN){if(this.beginStartedTime==null)throw new Error;var n=t-this.beginStartedTime;return n>=this.animationBegin?(this.state=nN,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Ux(this.animationBegin-n)}if(this.getState()===nN){if(this.animationStartedTime==null)throw new Error;var r=t-this.animationStartedTime;return this.setProgress(r/this.animationDuration),this.nextAnimationUpdate(r)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=H7}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class V7 extends F7{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(pa(this.getFrom(),this.getTo(),this.getProgress()))}}class G7{setTimeout(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=performance.now(),l=null,o=u=>{u-r>=n?t(u):l=requestAnimationFrame(o)};return l=requestAnimationFrame(o),()=>{l!=null&&cancelAnimationFrame(l)}}}function q7(e,t){return Q7(e)||X7(e,t)||Y7(e,t)||K7()}function K7(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Y7(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{},onAnimationStart:()=>{}},iN=0,$x=1;function YP(e){var t=Tr(e,Z7),n=t.animationId,r=t.isActive,l=t.canBegin,o=t.duration,u=t.easing,c=t.begin,h=t.onAnimationEnd,m=t.onAnimationStart,v=t.children,p=HP(),x=r==="auto"?!id.isSsr&&!p:r,S=L7(t.animationController),w=b.useState(x?iN:$x),j=q7(w,2),C=j[0],A=j[1];return b.useEffect(()=>{x||A($x)},[x]),b.useEffect(()=>{var N=I7(u);if(!x||!l||N==null)return Ku;var O=new G7,T=new V7({animationId:n,easing:N,animationDuration:o,animationBegin:c,onAnimationStart:m,onAnimationEnd:h,from:iN,to:$x});return S(O,T,A)},[S,n,x,l,o,u,c,m,h]),v(Number(C))}function XP(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",n=b.useRef(Tf(t)),r=b.useRef(e);return r.current!==e&&(n.current=Tf(t),r.current=e),n.current}var W7=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),J7=(e,t,n)=>e.map(r=>"".concat(W7(r)," ").concat(t,"ms ").concat(n)).join(","),eq=["radius"],tq=["radius"],aN,lN,oN,sN,uN,cN,fN,dN,hN,mN;function vN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function gN(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{var o=ga(n),u=ga(r),c=Math.min(Math.abs(o)/2,Math.abs(u)/2),h=u>=0?1:-1,m=o>=0?1:-1,v=u>=0&&o>=0||u<0&&o<0?1:0,p;if(c>0&&Array.isArray(l)){for(var x=[0,0,0,0],S=0,w=4;Sc?c:C}p=Tn(aN||(aN=Ei(["M",",",""])),e,t+h*x[0]),x[0]>0&&(p+=Tn(lN||(lN=Ei(["A ",",",",0,0,",",",",",""])),x[0],x[0],v,e+m*x[0],t)),p+=Tn(oN||(oN=Ei(["L ",",",""])),e+n-m*x[1],t),x[1]>0&&(p+=Tn(sN||(sN=Ei(["A ",",",",0,0,",`, - `,",",""])),x[1],x[1],v,e+n,t+h*x[1])),p+=Tn(uN||(uN=Ei(["L ",",",""])),e+n,t+r-h*x[2]),x[2]>0&&(p+=Tn(cN||(cN=Ei(["A ",",",",0,0,",`, - `,",",""])),x[2],x[2],v,e+n-m*x[2],t+r)),p+=Tn(fN||(fN=Ei(["L ",",",""])),e+m*x[3],t+r),x[3]>0&&(p+=Tn(dN||(dN=Ei(["A ",",",",0,0,",`, - `,",",""])),x[3],x[3],v,e,t+r-h*x[3])),p+="Z"}else if(c>0&&l===+l&&l>0){var A=Math.min(c,l);p=Tn(hN||(hN=Ei(["M ",",",` - A `,",",",0,0,",",",",",` - L `,",",` - A `,",",",0,0,",",",",",` - L `,",",` - A `,",",",0,0,",",",",",` - L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+h*A,A,A,v,e+m*A,t,e+n-m*A,t,A,A,v,e+n,t+h*A,e+n,t+r-h*A,A,A,v,e+n-m*A,t+r,e+m*A,t+r,A,A,v,e,t+r-h*A)}else p=Tn(mN||(mN=Ei(["M ",","," h "," v "," h "," Z"])),e,t,n,r,-n);return p},bN={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},fq=e=>{var t=Tr(e,bN),n=b.useRef(null),r=b.useState(-1),l=lq(r,2),o=l[0],u=l[1];b.useEffect(()=>{if(n.current&&n.current.getTotalLength)try{var ie=n.current.getTotalLength();ie&&u(ie)}catch{}},[]);var c=t.x,h=t.y,m=t.width,v=t.height,p=t.radius,x=t.className,S=t.animationEasing,w=t.animationDuration,j=t.animationBegin,C=t.isAnimationActive,A=t.isUpdateAnimationActive,N=b.useRef(m),O=b.useRef(v),T=b.useRef(c),R=b.useRef(h),E=b.useMemo(()=>({x:c,y:h,width:m,height:v,radius:p}),[c,h,m,v,p]),D=XP(E,"rectangle-");if(c!==+c||h!==+h||m!==+m||v!==+v||m===0||v===0)return null;var k=Ct("recharts-rectangle",x);if(!A){var I=Xr(t);I.radius;var P=pN(I,eq);return b.createElement("path",iv({},P,{x:ga(c),y:ga(h),width:ga(m),height:ga(v),radius:typeof p=="number"?p:void 0,className:k,d:xN(c,h,m,v,p)}))}var B=N.current,F=O.current,se=T.current,ue=R.current,de="0px ".concat(o===-1?1:o,"px"),G="".concat(o,"px ").concat(o,"px"),ne=J7(["strokeDasharray"],w,typeof S=="string"?S:bN.animationEasing);return b.createElement(YP,{animationId:D,key:D,canBegin:o>0,duration:w,easing:S,isActive:A,begin:j},ie=>{var ce=pa(B,m,ie),U=pa(F,v,ie),Ee=pa(se,c,ie),ee=pa(ue,h,ie);n.current&&(N.current=ce,O.current=U,T.current=Ee,R.current=ee);var ve;C?ie>0?ve={transition:ne,strokeDasharray:G}:ve={strokeDasharray:de}:ve={strokeDasharray:G};var z=Xr(t);z.radius;var Y=pN(z,tq);return b.createElement("path",iv({},Y,{radius:typeof p=="number"?p:void 0,className:k,d:xN(Ee,ee,ce,U,p),ref:n,style:gN(gN({},ve),t.style)}))})};function SN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function wN(e){for(var t=1;te*180/Math.PI,Dn=(e,t,n,r)=>({x:e+Math.cos(-av*r)*n,y:t+Math.sin(-av*r)*n}),gq=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},pq=(e,t)=>{var n=e.x,r=e.y,l=t.x,o=t.y;return Math.sqrt((n-l)**2+(r-o)**2)},yq=(e,t)=>{var n=e.x,r=e.y,l=t.cx,o=t.cy,u=pq({x:n,y:r},{x:l,y:o});if(u<=0)return{radius:u,angle:0};var c=(n-l)/u,h=Math.acos(c);return r>o&&(h=2*Math.PI-h),{radius:u,angle:vq(h),angleInRadian:h}},xq=e=>{var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),l=Math.floor(n/360),o=Math.min(r,l);return{startAngle:t-o*360,endAngle:n-o*360}},bq=(e,t)=>{var n=t.startAngle,r=t.endAngle,l=Math.floor(n/360),o=Math.floor(r/360),u=Math.min(l,o);return e+u*360},Sq=(e,t)=>{var n=e.relativeX,r=e.relativeY,l=yq({x:n,y:r},t),o=l.radius,u=l.angle,c=t.innerRadius,h=t.outerRadius;if(oh||o===0)return null;var m=xq(t),v=m.startAngle,p=m.endAngle,x=u,S;if(v<=p){for(;x>p;)x-=360;for(;x=v&&x<=p}else{for(;x>v;)x-=360;for(;x=p&&x<=v}return S?wN(wN({},t),{},{radius:o,angle:bq(x,t)}):null};function QP(e){var t=e.cx,n=e.cy,r=e.radius,l=e.startAngle,o=e.endAngle,u=Dn(t,n,r,l),c=Dn(t,n,r,o);return{points:[u,c],cx:t,cy:n,radius:r,startAngle:l,endAngle:o}}var jN,CN,_N,AN,EN,ON,NN;function gb(){return gb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=Vr(t-e),r=Math.min(Math.abs(t-e),359.999);return n*r},um=e=>{var t=e.cx,n=e.cy,r=e.radius,l=e.angle,o=e.sign,u=e.isExternal,c=e.cornerRadius,h=e.cornerIsExternal,m=c*(u?1:-1)+r,v=Math.asin(c/m)/av,p=h?l:l+o*v,x=Dn(t,n,m,p),S=Dn(t,n,r,p),w=h?l-o*v:l,j=Dn(t,n,m*Math.cos(v*av),w);return{center:x,circleTangency:S,lineTangency:j,theta:v}},ZP=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,l=e.outerRadius,o=e.startAngle,u=e.endAngle,c=wq(o,u),h=o+c,m=Dn(t,n,l,o),v=Dn(t,n,l,h),p=Tn(jN||(jN=wo(["M ",",",` - A `,",",`,0, - `,",",`, - `,",",` - `])),m.x,m.y,l,l,+(Math.abs(c)>180),+(o>h),v.x,v.y);if(r>0){var x=Dn(t,n,r,o),S=Dn(t,n,r,h);p+=Tn(CN||(CN=wo(["L ",",",` - A `,",",`,0, - `,",",`, - `,","," Z"])),S.x,S.y,r,r,+(Math.abs(c)>180),+(o<=h),x.x,x.y)}else p+=Tn(_N||(_N=wo(["L ",","," Z"])),t,n);return p},jq=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,l=e.outerRadius,o=e.cornerRadius,u=e.forceCornerRadius,c=e.cornerIsExternal,h=e.startAngle,m=e.endAngle,v=Vr(m-h),p=um({cx:t,cy:n,radius:l,angle:h,sign:v,cornerRadius:o,cornerIsExternal:c}),x=p.circleTangency,S=p.lineTangency,w=p.theta,j=um({cx:t,cy:n,radius:l,angle:m,sign:-v,cornerRadius:o,cornerIsExternal:c}),C=j.circleTangency,A=j.lineTangency,N=j.theta,O=c?Math.abs(h-m):Math.abs(h-m)-w-N;if(O<0)return u?Tn(AN||(AN=wo(["M ",",",` - a`,",",",0,0,1,",`,0 - a`,",",",0,0,1,",`,0 - `])),S.x,S.y,o,o,o*2,o,o,-o*2):ZP({cx:t,cy:n,innerRadius:r,outerRadius:l,startAngle:h,endAngle:m});var T=Tn(EN||(EN=wo(["M ",",",` - A`,",",",0,0,",",",",",` - A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",",` - `])),S.x,S.y,o,o,+(v<0),x.x,x.y,l,l,+(O>180),+(v<0),C.x,C.y,o,o,+(v<0),A.x,A.y);if(r>0){var R=um({cx:t,cy:n,radius:r,angle:h,sign:v,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),E=R.circleTangency,D=R.lineTangency,k=R.theta,I=um({cx:t,cy:n,radius:r,angle:m,sign:-v,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),P=I.circleTangency,B=I.lineTangency,F=I.theta,se=c?Math.abs(h-m):Math.abs(h-m)-k-F;if(se<0&&o===0)return"".concat(T,"L").concat(t,",").concat(n,"Z");T+=Tn(ON||(ON=wo(["L",",",` - A`,",",",0,0,",",",",",` - A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),B.x,B.y,o,o,+(v<0),P.x,P.y,r,r,+(se>180),+(v>0),E.x,E.y,o,o,+(v<0),D.x,D.y)}else T+=Tn(NN||(NN=wo(["L",",","Z"])),t,n);return T},Cq={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},_q=e=>{var t=Tr(e,Cq),n=t.cx,r=t.cy,l=t.innerRadius,o=t.outerRadius,u=t.cornerRadius,c=t.forceCornerRadius,h=t.cornerIsExternal,m=t.startAngle,v=t.endAngle,p=t.className;if(o0&&Math.abs(m-v)<360?j=jq({cx:n,cy:r,innerRadius:l,outerRadius:o,cornerRadius:Math.min(w,S/2),forceCornerRadius:c,cornerIsExternal:h,startAngle:m,endAngle:v}):j=ZP({cx:n,cy:r,innerRadius:l,outerRadius:o,startAngle:m,endAngle:v}),b.createElement("path",gb({},Xr(t),{className:x,d:j}))};function Aq(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(wD(t)){if(e==="centric"){var r=t.cx,l=t.cy,o=t.innerRadius,u=t.outerRadius,c=t.angle,h=Dn(r,l,o,c),m=Dn(r,l,u,c);return[{x:h.x,y:h.y},{x:m.x,y:m.y}]}return QP(t)}}function Eq(e){return ES(e)?NaN:Number(e)}function Bx(e){return e?(e=Eq(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function WP(e,t,n){n&&typeof n!="number"&&nb(e,t,n)&&(t=n=void 0),e=Bx(e),t===void 0?(t=e,e=0):t=Bx(t),n=n===void 0?ee.chartData,JP=W([Gi],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),ad=(e,t,n,r)=>r?JP(e):Gi(e),Oq=W([ad],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t!=null?t.slice(n,r+1):[]});W([JP],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t!=null?t.slice(n,r+1):[]});var Nq=W([Gi],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t!=null?t.slice(n,r+1):[]});function ZS(e,t){return Dq(e)||Mq(e,t)||Rq(e,t)||Tq()}function Tq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Rq(e,t){if(e){if(typeof e=="string")return TN(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)?TN(e,t):void 0}}function TN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.e^o.s<0?1:-1;for(r=o.d.length,l=e.d.length,t=0,n=re.d[t]^o.s<0?1:-1;return r===l?0:r>l^o.s<0?1:-1};_e.decimalPlaces=_e.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*Nt;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};_e.dividedBy=_e.div=function(e){return Sa(this,new this.constructor(e))};_e.dividedToIntegerBy=_e.idiv=function(e){var t=this,n=t.constructor;return jt(Sa(t,new n(e),0,1),n.precision)};_e.equals=_e.eq=function(e){return!this.cmp(e)};_e.exponent=function(){return Zt(this)};_e.greaterThan=_e.gt=function(e){return this.cmp(e)>0};_e.greaterThanOrEqualTo=_e.gte=function(e){return this.cmp(e)>=0};_e.isInteger=_e.isint=function(){return this.e>this.d.length-2};_e.isNegative=_e.isneg=function(){return this.s<0};_e.isPositive=_e.ispos=function(){return this.s>0};_e.isZero=function(){return this.s===0};_e.lessThan=_e.lt=function(e){return this.cmp(e)<0};_e.lessThanOrEqualTo=_e.lte=function(e){return this.cmp(e)<1};_e.logarithm=_e.log=function(e){var t,n=this,r=n.constructor,l=r.precision,o=l+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(Cr))throw Error(Zr+"NaN");if(n.s<1)throw Error(Zr+(n.s?"NaN":"-Infinity"));return n.eq(Cr)?new r(0):(Dt=!1,t=Sa(Pf(n,o),Pf(e,o),o),Dt=!0,jt(t,l))};_e.minus=_e.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?ik(t,e):nk(t,(e.s=-e.s,e))};_e.modulo=_e.mod=function(e){var t,n=this,r=n.constructor,l=r.precision;if(e=new r(e),!e.s)throw Error(Zr+"NaN");return n.s?(Dt=!1,t=Sa(n,e,0,1).times(e),Dt=!0,n.minus(t)):jt(new r(n),l)};_e.naturalExponential=_e.exp=function(){return rk(this)};_e.naturalLogarithm=_e.ln=function(){return Pf(this)};_e.negated=_e.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};_e.plus=_e.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?nk(t,e):ik(t,(e.s=-e.s,e))};_e.precision=_e.sd=function(e){var t,n,r,l=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Lo+e);if(t=Zt(l)+1,r=l.d.length-1,n=r*Nt+1,r=l.d[r],r){for(;r%10==0;r/=10)n--;for(r=l.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};_e.squareRoot=_e.sqrt=function(){var e,t,n,r,l,o,u,c=this,h=c.constructor;if(c.s<1){if(!c.s)return new h(0);throw Error(Zr+"NaN")}for(e=Zt(c),Dt=!1,l=Math.sqrt(+c),l==0||l==1/0?(t=Ii(c.d),(t.length+e)%2==0&&(t+="0"),l=Math.sqrt(t),e=Qu((e+1)/2)-(e<0||e%2),l==1/0?t="5e"+e:(t=l.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new h(t)):r=new h(l.toString()),n=h.precision,l=u=n+3;;)if(o=r,r=o.plus(Sa(c,o,u+2)).times(.5),Ii(o.d).slice(0,u)===(t=Ii(r.d)).slice(0,u)){if(t=t.slice(u-3,u+1),l==u&&t=="4999"){if(jt(o,n+1,0),o.times(o).eq(c)){r=o;break}}else if(t!="9999")break;u+=4}return Dt=!0,jt(r,n)};_e.times=_e.mul=function(e){var t,n,r,l,o,u,c,h,m,v=this,p=v.constructor,x=v.d,S=(e=new p(e)).d;if(!v.s||!e.s)return new p(0);for(e.s*=v.s,n=v.e+e.e,h=x.length,m=S.length,h=0;){for(t=0,l=h+r;l>r;)c=o[l]+S[r]*x[l-r-1]+t,o[l--]=c%mn|0,t=c/mn|0;o[l]=(o[l]+t)%mn|0}for(;!o[--u];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,Dt?jt(e,p.precision):e};_e.toDecimalPlaces=_e.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Vi(e,0,Xu),t===void 0?t=r.rounding:Vi(t,0,8),jt(n,e+Zt(n)+1,t))};_e.toExponential=function(e,t){var n,r=this,l=r.constructor;return e===void 0?n=Ko(r,!0):(Vi(e,0,Xu),t===void 0?t=l.rounding:Vi(t,0,8),r=jt(new l(r),e+1,t),n=Ko(r,!0,e+1)),n};_e.toFixed=function(e,t){var n,r,l=this,o=l.constructor;return e===void 0?Ko(l):(Vi(e,0,Xu),t===void 0?t=o.rounding:Vi(t,0,8),r=jt(new o(l),e+Zt(l)+1,t),n=Ko(r.abs(),!1,e+Zt(r)+1),l.isneg()&&!l.isZero()?"-"+n:n)};_e.toInteger=_e.toint=function(){var e=this,t=e.constructor;return jt(new t(e),Zt(e)+1,t.rounding)};_e.toNumber=function(){return+this};_e.toPower=_e.pow=function(e){var t,n,r,l,o,u,c=this,h=c.constructor,m=12,v=+(e=new h(e));if(!e.s)return new h(Cr);if(c=new h(c),!c.s){if(e.s<1)throw Error(Zr+"Infinity");return c}if(c.eq(Cr))return c;if(r=h.precision,e.eq(Cr))return jt(c,r);if(t=e.e,n=e.d.length-1,u=t>=n,o=c.s,u){if((n=v<0?-v:v)<=tk){for(l=new h(Cr),t=Math.ceil(r/Nt+4),Dt=!1;n%2&&(l=l.times(c),DN(l.d,t)),n=Qu(n/2),n!==0;)c=c.times(c),DN(c.d,t);return Dt=!0,e.s<0?new h(Cr).div(l):jt(l,r)}}else if(o<0)throw Error(Zr+"NaN");return o=o<0&&e.d[Math.max(t,n)]&1?-1:1,c.s=1,Dt=!1,l=e.times(Pf(c,r+m)),Dt=!0,l=rk(l),l.s=o,l};_e.toPrecision=function(e,t){var n,r,l=this,o=l.constructor;return e===void 0?(n=Zt(l),r=Ko(l,n<=o.toExpNeg||n>=o.toExpPos)):(Vi(e,1,Xu),t===void 0?t=o.rounding:Vi(t,0,8),l=jt(new o(l),e,t),n=Zt(l),r=Ko(l,e<=n||n<=o.toExpNeg,e)),r};_e.toSignificantDigits=_e.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Vi(e,1,Xu),t===void 0?t=r.rounding:Vi(t,0,8)),jt(new r(n),e,t)};_e.toString=_e.valueOf=_e.val=_e.toJSON=_e[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Zt(e),n=e.constructor;return Ko(e,t<=n.toExpNeg||t>=n.toExpPos)};function nk(e,t){var n,r,l,o,u,c,h,m,v=e.constructor,p=v.precision;if(!e.s||!t.s)return t.s||(t=new v(e)),Dt?jt(t,p):t;if(h=e.d,m=t.d,u=e.e,l=t.e,h=h.slice(),o=u-l,o){for(o<0?(r=h,o=-o,c=m.length):(r=m,l=u,c=h.length),u=Math.ceil(p/Nt),c=u>c?u+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=h.length,o=m.length,c-o<0&&(o=c,r=m,m=h,h=r),n=0;o;)n=(h[--o]=h[o]+m[o]+n)/mn|0,h[o]%=mn;for(n&&(h.unshift(n),++l),c=h.length;h[--c]==0;)h.pop();return t.d=h,t.e=l,Dt?jt(t,p):t}function Vi(e,t,n){if(e!==~~e||en)throw Error(Lo+e)}function Ii(e){var t,n,r,l=e.length-1,o="",u=e[0];if(l>0){for(o+=u,t=1;tu?1:-1;else for(c=h=0;cl[c]?1:-1;break}return h}function n(r,l,o){for(var u=0;o--;)r[o]-=u,u=r[o]1;)r.shift()}return function(r,l,o,u){var c,h,m,v,p,x,S,w,j,C,A,N,O,T,R,E,D,k,I=r.constructor,P=r.s==l.s?1:-1,B=r.d,F=l.d;if(!r.s)return new I(r);if(!l.s)throw Error(Zr+"Division by zero");for(h=r.e-l.e,D=F.length,R=B.length,S=new I(P),w=S.d=[],m=0;F[m]==(B[m]||0);)++m;if(F[m]>(B[m]||0)&&--h,o==null?N=o=I.precision:u?N=o+(Zt(r)-Zt(l))+1:N=o,N<0)return new I(0);if(N=N/Nt+2|0,m=0,D==1)for(v=0,F=F[0],N++;(m1&&(F=e(F,v),B=e(B,v),D=F.length,R=B.length),T=D,j=B.slice(0,D),C=j.length;C=mn/2&&++E;do v=0,c=t(F,j,D,C),c<0?(A=j[0],D!=C&&(A=A*mn+(j[1]||0)),v=A/E|0,v>1?(v>=mn&&(v=mn-1),p=e(F,v),x=p.length,C=j.length,c=t(p,j,x,C),c==1&&(v--,n(p,D16)throw Error(WS+Zt(e));if(!e.s)return new v(Cr);for(Dt=!1,c=p,u=new v(.03125);e.abs().gte(.1);)e=e.times(u),m+=5;for(r=Math.log(xo(2,m))/Math.LN10*2+5|0,c+=r,n=l=o=new v(Cr),v.precision=c;;){if(l=jt(l.times(e),c),n=n.times(++h),u=o.plus(Sa(l,n,c)),Ii(u.d).slice(0,c)===Ii(o.d).slice(0,c)){for(;m--;)o=jt(o.times(o),c);return v.precision=p,t==null?(Dt=!0,jt(o,p)):o}o=u}}function Zt(e){for(var t=e.e*Nt,n=e.d[0];n>=10;n/=10)t++;return t}function Hx(e,t,n){if(t>e.LN10.sd())throw Dt=!0,n&&(e.precision=n),Error(Zr+"LN10 precision limit exceeded");return jt(new e(e.LN10),t)}function yl(e){for(var t="";e--;)t+="0";return t}function Pf(e,t){var n,r,l,o,u,c,h,m,v,p=1,x=10,S=e,w=S.d,j=S.constructor,C=j.precision;if(S.s<1)throw Error(Zr+(S.s?"NaN":"-Infinity"));if(S.eq(Cr))return new j(0);if(t==null?(Dt=!1,m=C):m=t,S.eq(10))return t==null&&(Dt=!0),Hx(j,m);if(m+=x,j.precision=m,n=Ii(w),r=n.charAt(0),o=Zt(S),Math.abs(o)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)S=S.times(e),n=Ii(S.d),r=n.charAt(0),p++;o=Zt(S),r>1?(S=new j("0."+n),o++):S=new j(r+"."+n.slice(1))}else return h=Hx(j,m+2,C).times(o+""),S=Pf(new j(r+"."+n.slice(1)),m-x).plus(h),j.precision=C,t==null?(Dt=!0,jt(S,C)):S;for(c=u=S=Sa(S.minus(Cr),S.plus(Cr),m),v=jt(S.times(S),m),l=3;;){if(u=jt(u.times(v),m),h=c.plus(Sa(u,new j(l),m)),Ii(h.d).slice(0,m)===Ii(c.d).slice(0,m))return c=c.times(2),o!==0&&(c=c.plus(Hx(j,m+2,C).times(o+""))),c=Sa(c,new j(p),m),j.precision=C,t==null?(Dt=!0,jt(c,C)):c;c=h,l+=2}}function MN(e,t){var n,r,l;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(l=t.length;t.charCodeAt(l-1)===48;)--l;if(t=t.slice(r,l),t){if(l-=r,n=n-r-1,e.e=Qu(n/Nt),e.d=[],r=(n+1)%Nt,n<0&&(r+=Nt),rlv||e.e<-lv))throw Error(WS+n)}else e.s=0,e.e=0,e.d=[0];return e}function jt(e,t,n){var r,l,o,u,c,h,m,v,p=e.d;for(u=1,o=p[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=Nt,l=t,m=p[v=0];else{if(v=Math.ceil((r+1)/Nt),o=p.length,v>=o)return e;for(m=o=p[v],u=1;o>=10;o/=10)u++;r%=Nt,l=r-Nt+u}if(n!==void 0&&(o=xo(10,u-l-1),c=m/o%10|0,h=t<0||p[v+1]!==void 0||m%o,h=n<4?(c||h)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||h||n==6&&(r>0?l>0?m/xo(10,u-l):0:p[v-1])%10&1||n==(e.s<0?8:7))),t<1||!p[0])return h?(o=Zt(e),p.length=1,t=t-o-1,p[0]=xo(10,(Nt-t%Nt)%Nt),e.e=Qu(-t/Nt)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(r==0?(p.length=v,o=1,v--):(p.length=v+1,o=xo(10,Nt-r),p[v]=l>0?(m/xo(10,u-l)%xo(10,l)|0)*o:0),h)for(;;)if(v==0){(p[0]+=o)==mn&&(p[0]=1,++e.e);break}else{if(p[v]+=o,p[v]!=mn)break;p[v--]=0,o=1}for(r=p.length;p[--r]===0;)p.pop();if(Dt&&(e.e>lv||e.e<-lv))throw Error(WS+Zt(e));return e}function ik(e,t){var n,r,l,o,u,c,h,m,v,p,x=e.constructor,S=x.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new x(e),Dt?jt(t,S):t;if(h=e.d,p=t.d,r=t.e,m=e.e,h=h.slice(),u=m-r,u){for(v=u<0,v?(n=h,u=-u,c=p.length):(n=p,r=m,c=h.length),l=Math.max(Math.ceil(S/Nt),c)+2,u>l&&(u=l,n.length=1),n.reverse(),l=u;l--;)n.push(0);n.reverse()}else{for(l=h.length,c=p.length,v=l0;--l)h[c++]=0;for(l=p.length;l>u;){if(h[--l]0?o=o.charAt(0)+"."+o.slice(1)+yl(r):u>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(l<0?"e":"e+")+l):l<0?(o="0."+yl(-l-1)+o,n&&(r=n-u)>0&&(o+=yl(r))):l>=u?(o+=yl(l+1-u),n&&(r=n-l-1)>0&&(o=o+"."+yl(r))):((r=l+1)0&&(l+1===u&&(o+="."),o+=yl(r))),e.s<0?"-"+o:o}function DN(e,t){if(e.length>t)return e.length=t,!0}function ak(e){var t,n,r;function l(o){var u=this;if(!(u instanceof l))return new l(o);if(u.constructor=l,o instanceof l){u.s=o.s,u.e=o.e,u.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Lo+o);if(o>0)u.s=1;else if(o<0)o=-o,u.s=-1;else{u.s=0,u.e=0,u.d=[0];return}if(o===~~o&&o<1e7){u.e=0,u.d=[o];return}return MN(u,o.toString())}else if(typeof o!="string")throw Error(Lo+o);if(o.charCodeAt(0)===45?(o=o.slice(1),u.s=-1):u.s=1,Iq.test(o))MN(u,o);else throw Error(Lo+o)}if(l.prototype=_e,l.ROUND_UP=0,l.ROUND_DOWN=1,l.ROUND_CEIL=2,l.ROUND_FLOOR=3,l.ROUND_HALF_UP=4,l.ROUND_HALF_DOWN=5,l.ROUND_HALF_EVEN=6,l.ROUND_HALF_CEIL=7,l.ROUND_HALF_FLOOR=8,l.clone=ak,l.config=l.set=zq,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=l[t+1]&&r<=l[t+2])this[n]=r;else throw Error(Lo+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(Lo+n+": "+r);return this}var JS=ak(kq);Cr=new JS(1);const et=JS;function lk(e){var t;return e===0?t=1:t=Math.floor(new et(e).abs().log(10).toNumber())+1,t}function ok(e,t,n){for(var r=new et(e),l=0,o=[];r.lt(t)&&l<1e5;)o.push(r.toNumber()),r=r.add(n),l++;return o}function kf(e,t){return Bq(e)||$q(e,t)||Uq(e,t)||Lq()}function Lq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Uq(e,t){if(e){if(typeof e=="string")return PN(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)?PN(e,t):void 0}}function PN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=kf(e,2),n=t[0],r=t[1],l=n,o=r;return n>r&&(l=r,o=n),[l,o]},e1=(e,t,n)=>{if(e.lte(0))return new et(0);var r=lk(e.toNumber()),l=new et(10).pow(r),o=e.div(l),u=r!==1?.05:.1,c=new et(Math.ceil(o.div(u).toNumber())).add(n).mul(u),h=c.mul(l);return t?new et(h.toNumber()):new et(Math.ceil(h.toNumber()))},uk=(e,t,n)=>{var r;if(e.lte(0))return new et(0);var l=[1,2,2.5,5],o=e.toNumber(),u=Math.floor(new et(o).abs().log(10).toNumber()),c=new et(10).pow(u),h=e.div(c).toNumber(),m=l.findIndex(S=>S>=h-1e-10);if(m===-1&&(c=c.mul(10),m=0),m+=n,m>=l.length){var v=Math.floor(m/l.length);m%=l.length,c=c.mul(new et(10).pow(v))}var p=(r=l[m])!==null&&r!==void 0?r:1,x=new et(p).mul(c);return t?x:new et(Math.ceil(x.toNumber()))},Hq=(e,t,n)=>{var r=new et(1),l=new et(e);if(!l.isint()&&n){var o=Math.abs(e);o<1?(r=new et(10).pow(lk(e)-1),l=new et(Math.floor(l.div(r).toNumber())).mul(r)):o>1&&(l=new et(Math.floor(e)))}else e===0?l=new et(Math.floor((t-1)/2)):n||(l=new et(Math.floor(e)));for(var u=Math.floor((t-1)/2),c=[],h=0;h4&&arguments[4]!==void 0?arguments[4]:0,u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:e1;if(!Number.isFinite((n-t)/(r-1)))return{step:new et(0),tickMin:new et(0),tickMax:new et(0)};var c=u(new et(n).sub(t).div(r-1),l,o),h;t<=0&&n>=0?h=new et(0):(h=new et(t).add(n).div(2),h=h.sub(new et(h).mod(c)));var m=Math.ceil(h.sub(t).div(c).toNumber()),v=Math.ceil(new et(n).sub(h).div(c).toNumber()),p=m+v+1;return p>r?ck(t,n,r,l,o+1,u):(p0?v+(r-p):v,m=n>0?m:m+(r-p)),{step:c,tickMin:h.sub(new et(m).mul(c)),tickMax:h.add(new et(v).mul(c))})},kN=function(t){var n=kf(t,2),r=n[0],l=n[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",h=Math.max(o,2),m=sk([r,l]),v=kf(m,2),p=v[0],x=v[1];if(p===-1/0||x===1/0){var S=x===1/0?[p,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),x];return r>l?S.reverse():S}if(p===x)return Hq(p,o,u);var w=c==="snap125"?uk:e1,j=ck(p,x,h,u,0,w),C=j.step,A=j.tickMin,N=j.tickMax,O=ok(A,N.add(new et(.1).mul(C)),C);return r>l?O.reverse():O},IN=function(t,n){var r=kf(t,2),l=r[0],o=r[1],u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",h=sk([l,o]),m=kf(h,2),v=m[0],p=m[1];if(v===-1/0||p===1/0)return[l,o];if(v===p)return[v];var x=c==="snap125"?uk:e1,S=Math.max(n,2),w=x(new et(p).sub(v).div(S-1),u,0),j=[...ok(new et(v),new et(p),w),p];if(u===!1){j=j.map(A=>Math.round(A));var C=j.length-1;C>0&&j[C]===j[C-1]&&(j=j.slice(0,C))}return l>o?j.reverse():j},Fq=e=>e.rootProps.barCategoryGap,ig=e=>e.rootProps.stackOffset,fk=e=>e.rootProps.reverseStackOrder,t1=e=>e.options.chartName,n1=e=>e.rootProps.syncId,dk=e=>e.rootProps.syncMethod,r1=e=>e.options.eventEmitter,Qn={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},mo={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},Oi={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},ag=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function lg(e,t,n){if(n!=="auto")return n;if(e!=null)return Ra(e,t)?"category":"number"}function zN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function ov(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},i1=W([Kq,$P],(e,t)=>{var n;if(e!=null)return e;var r=(n=lg(t,"angleAxis",LN.type))!==null&&n!==void 0?n:"category";return ov(ov({},LN),{},{type:r})}),Yq=(e,t)=>e.polarAxis.radiusAxis[t],a1=W([Yq,$P],(e,t)=>{var n;if(e!=null)return e;var r=(n=lg(t,"radiusAxis",UN.type))!==null&&n!==void 0?n:"category";return ov(ov({},UN),{},{type:r})}),og=e=>e.polarOptions,l1=W([Ma,Da,Pn],gq),hk=W([og,l1],(e,t)=>{if(e!=null)return Pl(e.innerRadius,t,0)}),mk=W([og,l1],(e,t)=>{if(e!=null)return Pl(e.outerRadius,t,t*.8)}),Xq=e=>{if(e==null)return[0,0];var t=e.startAngle,n=e.endAngle;return[t,n]},vk=W([og],Xq);W([i1,vk],ag);var gk=W([l1,hk,mk],(e,t,n)=>{if(!(e==null||t==null||n==null))return[t,n]});W([a1,gk],ag);var pk=W([It,og,hk,mk,Ma,Da],(e,t,n,r,l,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||n==null||r==null)){var u=t.cx,c=t.cy,h=t.startAngle,m=t.endAngle;return{cx:Pl(u,l,l/2),cy:Pl(c,o,o/2),innerRadius:n,outerRadius:r,startAngle:h,endAngle:m,clockWise:!1}}}),xn=(e,t)=>t,sg=(e,t,n)=>n;function yk(e){return e==null?void 0:e.id}function xk(e,t,n){var r=t.chartData,l=r===void 0?[]:r,o=n.allowDuplicatedCategory,u=n.dataKey,c=new Map;return e.forEach(h=>{var m,v=(m=h.data)!==null&&m!==void 0?m:l;if(!(v==null||v.length===0)){var p=yk(h);v.forEach((x,S)=>{var w=u==null||o?S:String(pn(x,u,null)),j=pn(x,h.dataKey,0),C;c.has(w)?C=c.get(w):C={},Object.assign(C,{[p]:j}),c.set(w,C)})}}),Array.from(c.values())}function o1(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var ld=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function ug(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function Qq(e,t){if(e.length===t.length){for(var n=0;n{var t=It(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"},Zu=e=>e.tooltip.settings.axisId;function s1(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),l=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:(function(o){function u(){return o.apply(this,arguments)}return u.toString=function(){return o.toString()},u})(()=>l),rangeMin:()=>l[0],rangeMax:()=>l[1],isInRange(o){var u=l[0],c=l[1];return u<=c?o>=u&&o<=c:o>=c&&o<=u},bandwidth:n?()=>n.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,u)=>{var c=e(o);if(c!=null){if(e.bandwidth&&u!==null&&u!==void 0&&u.position){var h=e.bandwidth();switch(u.position){case"middle":c+=h/2;break;case"end":c+=h;break}}return c}}}}}var Zq=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Li(t)){for(var n,r,l=0;lr)&&(r=o))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t}default:return t}};function Tl(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Wq(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function u1(e){let t,n,r;e.length!==2?(t=Tl,n=(c,h)=>Tl(e(c),h),r=(c,h)=>e(c)-h):(t=e===Tl||e===Wq?e:Jq,n=e,r=e);function l(c,h,m=0,v=c.length){if(m>>1;n(c[p],h)<0?m=p+1:v=p}while(m>>1;n(c[p],h)<=0?m=p+1:v=p}while(mm&&r(c[p-1],h)>-r(c[p],h)?p-1:p}return{left:l,center:u,right:o}}function Jq(){return 0}function bk(e){return e===null?NaN:+e}function*eK(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const tK=u1(Tl),od=tK.right;u1(bk).center;class $N extends Map{constructor(t,n=iK){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,l]of t)this.set(r,l)}get(t){return super.get(BN(this,t))}has(t){return super.has(BN(this,t))}set(t,n){return super.set(nK(this,t),n)}delete(t){return super.delete(rK(this,t))}}function BN({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function nK({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function rK({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function iK(e){return e!==null&&typeof e=="object"?e.valueOf():e}function aK(e=Tl){if(e===Tl)return Sk;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Sk(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const lK=Math.sqrt(50),oK=Math.sqrt(10),sK=Math.sqrt(2);function sv(e,t,n){const r=(t-e)/Math.max(0,n),l=Math.floor(Math.log10(r)),o=r/Math.pow(10,l),u=o>=lK?10:o>=oK?5:o>=sK?2:1;let c,h,m;return l<0?(m=Math.pow(10,-l)/u,c=Math.round(e*m),h=Math.round(t*m),c/mt&&--h,m=-m):(m=Math.pow(10,l)*u,c=Math.round(e/m),h=Math.round(t/m),c*mt&&--h),h0))return[];if(e===t)return[e];const r=t=l))return[];const c=o-l+1,h=new Array(c);if(r)if(u<0)for(let m=0;m=r)&&(n=r);return n}function FN(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function wk(e,t,n=0,r=1/0,l){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(l=l===void 0?Sk:aK(l);r>n;){if(r-n>600){const h=r-n+1,m=t-n+1,v=Math.log(h),p=.5*Math.exp(2*v/3),x=.5*Math.sqrt(v*p*(h-p)/h)*(m-h/2<0?-1:1),S=Math.max(n,Math.floor(t-m*p/h+x)),w=Math.min(r,Math.floor(t+(h-m)*p/h+x));wk(e,t,S,w,l)}const o=e[t];let u=n,c=r;for(uf(e,n,t),l(e[r],o)>0&&uf(e,n,r);u0;)--c}l(e[n],o)===0?uf(e,n,c):(++c,uf(e,c,r)),c<=t&&(n=c+1),t<=c&&(r=c-1)}return e}function uf(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function uK(e,t,n){if(e=Float64Array.from(eK(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return FN(e);if(t>=1)return HN(e);var r,l=(r-1)*t,o=Math.floor(l),u=HN(wk(e,o).subarray(0,o+1)),c=FN(e.subarray(o+1));return u+(c-u)*(l-o)}}function cK(e,t,n=bk){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,l=(r-1)*t,o=Math.floor(l),u=+n(e[o],o,e),c=+n(e[o+1],o+1,e);return u+(c-u)*(l-o)}}function fK(e,t,n){e=+e,t=+t,n=(l=arguments.length)<2?(t=e,e=0,1):l<3?1:+n;for(var r=-1,l=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(l);++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=hK.exec(e))?new gn(t[1],t[2],t[3],1):(t=mK.exec(e))?new gn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=vK.exec(e))?cm(t[1],t[2],t[3],t[4]):(t=gK.exec(e))?cm(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=pK.exec(e))?QN(t[1],t[2]/100,t[3]/100,1):(t=yK.exec(e))?QN(t[1],t[2]/100,t[3]/100,t[4]):VN.hasOwnProperty(e)?KN(VN[e]):e==="transparent"?new gn(NaN,NaN,NaN,0):null}function KN(e){return new gn(e>>16&255,e>>8&255,e&255,1)}function cm(e,t,n,r){return r<=0&&(e=t=n=NaN),new gn(e,t,n,r)}function c1(e){return e instanceof $l||(e=zf(e)),e?(e=e.rgb(),new gn(e.r,e.g,e.b,e.opacity)):new gn}function bb(e,t,n,r){return arguments.length===1?c1(e):new gn(e,t,n,r??1)}function gn(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Wu(gn,bb,sd($l,{brighter(e){return e=e==null?Iu:Math.pow(Iu,e),new gn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Yo:Math.pow(Yo,e),new gn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gn(Uo(this.r),Uo(this.g),Uo(this.b),uv(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:YN,formatHex:YN,formatHex8:SK,formatRgb:XN,toString:XN}));function YN(){return`#${jo(this.r)}${jo(this.g)}${jo(this.b)}`}function SK(){return`#${jo(this.r)}${jo(this.g)}${jo(this.b)}${jo((isNaN(this.opacity)?1:this.opacity)*255)}`}function XN(){const e=uv(this.opacity);return`${e===1?"rgb(":"rgba("}${Uo(this.r)}, ${Uo(this.g)}, ${Uo(this.b)}${e===1?")":`, ${e})`}`}function uv(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Uo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function jo(e){return e=Uo(e),(e<16?"0":"")+e.toString(16)}function QN(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ui(e,t,n,r)}function jk(e){if(e instanceof ui)return new ui(e.h,e.s,e.l,e.opacity);if(e instanceof $l||(e=zf(e)),!e)return new ui;if(e instanceof ui)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,l=Math.min(t,n,r),o=Math.max(t,n,r),u=NaN,c=o-l,h=(o+l)/2;return c?(t===o?u=(n-r)/c+(n0&&h<1?0:u,new ui(u,c,h,e.opacity)}function wK(e,t,n,r){return arguments.length===1?jk(e):new ui(e,t,n,r??1)}function ui(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Wu(ui,wK,sd($l,{brighter(e){return e=e==null?Iu:Math.pow(Iu,e),new ui(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Yo:Math.pow(Yo,e),new ui(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,l=2*n-r;return new gn(Fx(e>=240?e-240:e+120,l,r),Fx(e,l,r),Fx(e<120?e+240:e-120,l,r),this.opacity)},clamp(){return new ui(ZN(this.h),fm(this.s),fm(this.l),uv(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(){const e=uv(this.opacity);return`${e===1?"hsl(":"hsla("}${ZN(this.h)}, ${fm(this.s)*100}%, ${fm(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ZN(e){return e=(e||0)%360,e<0?e+360:e}function fm(e){return Math.max(0,Math.min(1,e||0))}function Fx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Ck=Math.PI/180,_k=180/Math.PI,cv=18,Ak=.96422,Ek=1,Ok=.82521,Nk=4/29,gu=6/29,Tk=3*gu*gu,jK=gu*gu*gu;function Rk(e){if(e instanceof $i)return new $i(e.l,e.a,e.b,e.opacity);if(e instanceof ya)return Mk(e);e instanceof gn||(e=c1(e));var t=Kx(e.r),n=Kx(e.g),r=Kx(e.b),l=Vx((.2225045*t+.7168786*n+.0606169*r)/Ek),o,u;return t===n&&n===r?o=u=l:(o=Vx((.4360747*t+.3850649*n+.1430804*r)/Ak),u=Vx((.0139322*t+.0971045*n+.7141733*r)/Ok)),new $i(116*l-16,500*(o-l),200*(l-u),e.opacity)}function CK(e,t,n,r){return arguments.length===1?Rk(e):new $i(e,t,n,r??1)}function $i(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}Wu($i,CK,sd($l,{brighter(e){return new $i(this.l+cv*(e??1),this.a,this.b,this.opacity)},darker(e){return new $i(this.l-cv*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=Ak*Gx(t),e=Ek*Gx(e),n=Ok*Gx(n),new gn(qx(3.1338561*t-1.6168667*e-.4906146*n),qx(-.9787684*t+1.9161415*e+.033454*n),qx(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function Vx(e){return e>jK?Math.pow(e,1/3):e/Tk+Nk}function Gx(e){return e>gu?e*e*e:Tk*(e-Nk)}function qx(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Kx(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function _K(e){if(e instanceof ya)return new ya(e.h,e.c,e.l,e.opacity);if(e instanceof $i||(e=Rk(e)),e.a===0&&e.b===0)return new ya(NaN,0()=>e;function Pk(e,t){return function(n){return e+n*t}}function OK(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function NK(e,t){var n=t-e;return n?Pk(e,n>180||n<-180?n-360*Math.round(n/360):n):fg(isNaN(e)?t:e)}function TK(e){return(e=+e)==1?pu:function(t,n){return n-t?OK(t,n,e):fg(isNaN(t)?n:t)}}function pu(e,t){var n=t-e;return n?Pk(e,n):fg(isNaN(e)?t:e)}var t2=(function e(t){var n=TK(t);function r(l,o){var u=n((l=bb(l)).r,(o=bb(o)).r),c=n(l.g,o.g),h=n(l.b,o.b),m=pu(l.opacity,o.opacity);return function(v){return l.r=u(v),l.g=c(v),l.b=h(v),l.opacity=m(v),l+""}}return r.gamma=e,r})(1);function RK(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),l;return function(o){for(l=0;ln&&(o=t.slice(n,o),c[u]?c[u]+=o:c[++u]=o),(r=r[0])===(l=l[0])?c[u]?c[u]+=l:c[++u]=l:(c[++u]=null,h.push({i:u,x:fv(r,l)})),n=Yx.lastIndex;return n=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function dv(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 zu(e){return e=dv(Math.abs(e)),e?e[1]:NaN}function VK(e,t){return function(n,r){for(var l=n.length,o=[],u=0,c=e[0],h=0;l>0&&c>0&&(h+c+1>r&&(c=Math.max(1,r-h)),o.push(n.substring(l-=c,l+c)),!((h+=c+1)>r));)c=e[u=(u+1)%e.length];return o.reverse().join(t)}}function GK(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var qK=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Uf(e){if(!(t=qK.exec(e)))throw new Error("invalid format: "+e);var t;return new m1({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]})}Uf.prototype=m1.prototype;function m1(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+""}m1.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 KK(e){e:for(var t=e.length,n=1,r=-1,l;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(l+1):e}var hv;function YK(e,t){var n=dv(e,t);if(!n)return hv=void 0,e.toPrecision(t);var r=n[0],l=n[1],o=l-(hv=Math.max(-8,Math.min(8,Math.floor(l/3)))*3)+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+dv(e,Math.max(0,t+o-1))[0]}function r2(e,t){var n=dv(e,t);if(!n)return e+"";var r=n[0],l=n[1];return l<0?"0."+new Array(-l).join("0")+r:r.length>l+1?r.slice(0,l+1)+"."+r.slice(l+1):r+new Array(l-r.length+2).join("0")}var i2={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:FK,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)=>r2(e*100,t),r:r2,s:YK,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function a2(e){return e}var l2=Array.prototype.map,o2=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function XK(e){var t=e.grouping===void 0||e.thousands===void 0?a2:VK(l2.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",l=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?a2:GK(l2.call(e.numerals,String)),u=e.percent===void 0?"%":e.percent+"",c=e.minus===void 0?"−":e.minus+"",h=e.nan===void 0?"NaN":e.nan+"";function m(p,x){p=Uf(p);var S=p.fill,w=p.align,j=p.sign,C=p.symbol,A=p.zero,N=p.width,O=p.comma,T=p.precision,R=p.trim,E=p.type;E==="n"?(O=!0,E="g"):i2[E]||(T===void 0&&(T=12),R=!0,E="g"),(A||S==="0"&&w==="=")&&(A=!0,S="0",w="=");var D=(x&&x.prefix!==void 0?x.prefix:"")+(C==="$"?n:C==="#"&&/[boxX]/.test(E)?"0"+E.toLowerCase():""),k=(C==="$"?r:/[%p]/.test(E)?u:"")+(x&&x.suffix!==void 0?x.suffix:""),I=i2[E],P=/[defgprs%]/.test(E);T=T===void 0?6:/[gprs]/.test(E)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function B(F){var se=D,ue=k,de,G,ne;if(E==="c")ue=I(F)+ue,F="";else{F=+F;var ie=F<0||1/F<0;if(F=isNaN(F)?h:I(Math.abs(F),T),R&&(F=KK(F)),ie&&+F==0&&j!=="+"&&(ie=!1),se=(ie?j==="("?j:c:j==="-"||j==="("?"":j)+se,ue=(E==="s"&&!isNaN(F)&&hv!==void 0?o2[8+hv/3]:"")+ue+(ie&&j==="("?")":""),P){for(de=-1,G=F.length;++dene||ne>57){ue=(ne===46?l+F.slice(de+1):F.slice(de))+ue,F=F.slice(0,de);break}}}O&&!A&&(F=t(F,1/0));var ce=se.length+F.length+ue.length,U=ce>1)+se+F+ue+U.slice(ce);break;default:F=U+se+F+ue;break}return o(F)}return B.toString=function(){return p+""},B}function v(p,x){var S=Math.max(-8,Math.min(8,Math.floor(zu(x)/3)))*3,w=Math.pow(10,-S),j=m((p=Uf(p),p.type="f",p),{suffix:o2[8+S/3]});return function(C){return j(w*C)}}return{format:m,formatPrefix:v}}var dm,v1,Ik;QK({thousands:",",grouping:[3],currency:["$",""]});function QK(e){return dm=XK(e),v1=dm.format,Ik=dm.formatPrefix,dm}function ZK(e){return Math.max(0,-zu(Math.abs(e)))}function WK(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(zu(t)/3)))*3-zu(Math.abs(e)))}function JK(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,zu(t)-zu(e))+1}const Xx=new Date,Qx=new Date;function on(e,t,n,r){function l(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return l.floor=o=>(e(o=new Date(+o)),o),l.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),l.round=o=>{const u=l(o),c=l.ceil(o);return o-u(t(o=new Date(+o),u==null?1:Math.floor(u)),o),l.range=(o,u,c)=>{const h=[];if(o=l.ceil(o),c=c==null?1:Math.floor(c),!(o0))return h;let m;do h.push(m=new Date(+o)),t(o,c),e(o);while(mon(u=>{if(u>=u)for(;e(u),!o(u);)u.setTime(u-1)},(u,c)=>{if(u>=u)if(c<0)for(;++c<=0;)for(;t(u,-1),!o(u););else for(;--c>=0;)for(;t(u,1),!o(u););}),n&&(l.count=(o,u)=>(Xx.setTime(+o),Qx.setTime(+u),e(Xx),e(Qx),Math.floor(n(Xx,Qx))),l.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?l.filter(r?u=>r(u)%o===0:u=>l.count(0,u)%o===0):l)),l}const mv=on(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);mv.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?on(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):mv);mv.range;const xa=1e3,qr=xa*60,ba=qr*60,Oa=ba*24,g1=Oa*7,s2=Oa*30,Zx=Oa*365,Co=on(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*xa)},(e,t)=>(t-e)/xa,e=>e.getUTCSeconds());Co.range;const p1=on(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xa)},(e,t)=>{e.setTime(+e+t*qr)},(e,t)=>(t-e)/qr,e=>e.getMinutes());p1.range;const y1=on(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*qr)},(e,t)=>(t-e)/qr,e=>e.getUTCMinutes());y1.range;const x1=on(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xa-e.getMinutes()*qr)},(e,t)=>{e.setTime(+e+t*ba)},(e,t)=>(t-e)/ba,e=>e.getHours());x1.range;const b1=on(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*ba)},(e,t)=>(t-e)/ba,e=>e.getUTCHours());b1.range;const ud=on(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*qr)/Oa,e=>e.getDate()-1);ud.range;const dg=on(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Oa,e=>e.getUTCDate()-1);dg.range;const zk=on(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Oa,e=>Math.floor(e/Oa));zk.range;function ts(e){return on(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*qr)/g1)}const hg=ts(0),vv=ts(1),eY=ts(2),tY=ts(3),Lu=ts(4),nY=ts(5),rY=ts(6);hg.range;vv.range;eY.range;tY.range;Lu.range;nY.range;rY.range;function ns(e){return on(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/g1)}const mg=ns(0),gv=ns(1),iY=ns(2),aY=ns(3),Uu=ns(4),lY=ns(5),oY=ns(6);mg.range;gv.range;iY.range;aY.range;Uu.range;lY.range;oY.range;const S1=on(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());S1.range;const w1=on(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());w1.range;const Na=on(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());Na.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:on(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)});Na.range;const Ta=on(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());Ta.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:on(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)});Ta.range;function Lk(e,t,n,r,l,o){const u=[[Co,1,xa],[Co,5,5*xa],[Co,15,15*xa],[Co,30,30*xa],[o,1,qr],[o,5,5*qr],[o,15,15*qr],[o,30,30*qr],[l,1,ba],[l,3,3*ba],[l,6,6*ba],[l,12,12*ba],[r,1,Oa],[r,2,2*Oa],[n,1,g1],[t,1,s2],[t,3,3*s2],[e,1,Zx]];function c(m,v,p){const x=vC).right(u,x);if(S===u.length)return e.every(xb(m/Zx,v/Zx,p));if(S===0)return mv.every(Math.max(xb(m,v,p),1));const[w,j]=u[x/u[S-1][2]53)return null;"w"in J||(J.w=1),"Z"in J?(Ke=Jx(cf(J.y,0,1)),Pe=Ke.getUTCDay(),Ke=Pe>4||Pe===0?gv.ceil(Ke):gv(Ke),Ke=dg.offset(Ke,(J.V-1)*7),J.y=Ke.getUTCFullYear(),J.m=Ke.getUTCMonth(),J.d=Ke.getUTCDate()+(J.w+6)%7):(Ke=Wx(cf(J.y,0,1)),Pe=Ke.getDay(),Ke=Pe>4||Pe===0?vv.ceil(Ke):vv(Ke),Ke=ud.offset(Ke,(J.V-1)*7),J.y=Ke.getFullYear(),J.m=Ke.getMonth(),J.d=Ke.getDate()+(J.w+6)%7)}else("W"in J||"U"in J)&&("w"in J||(J.w="u"in J?J.u%7:"W"in J?1:0),Pe="Z"in J?Jx(cf(J.y,0,1)).getUTCDay():Wx(cf(J.y,0,1)).getDay(),J.m=0,J.d="W"in J?(J.w+6)%7+J.W*7-(Pe+5)%7:J.w+J.U*7-(Pe+6)%7);return"Z"in J?(J.H+=J.Z/100|0,J.M+=J.Z%100,Jx(J)):Wx(J)}}function k(te,ge,oe,J){for(var ut=0,Ke=ge.length,Pe=oe.length,Tt,Et;ut=Pe)return-1;if(Tt=ge.charCodeAt(ut++),Tt===37){if(Tt=ge.charAt(ut++),Et=R[Tt in u2?ge.charAt(ut++):Tt],!Et||(J=Et(te,oe,J))<0)return-1}else if(Tt!=oe.charCodeAt(J++))return-1}return J}function I(te,ge,oe){var J=m.exec(ge.slice(oe));return J?(te.p=v.get(J[0].toLowerCase()),oe+J[0].length):-1}function P(te,ge,oe){var J=S.exec(ge.slice(oe));return J?(te.w=w.get(J[0].toLowerCase()),oe+J[0].length):-1}function B(te,ge,oe){var J=p.exec(ge.slice(oe));return J?(te.w=x.get(J[0].toLowerCase()),oe+J[0].length):-1}function F(te,ge,oe){var J=A.exec(ge.slice(oe));return J?(te.m=N.get(J[0].toLowerCase()),oe+J[0].length):-1}function se(te,ge,oe){var J=j.exec(ge.slice(oe));return J?(te.m=C.get(J[0].toLowerCase()),oe+J[0].length):-1}function ue(te,ge,oe){return k(te,t,ge,oe)}function de(te,ge,oe){return k(te,n,ge,oe)}function G(te,ge,oe){return k(te,r,ge,oe)}function ne(te){return u[te.getDay()]}function ie(te){return o[te.getDay()]}function ce(te){return h[te.getMonth()]}function U(te){return c[te.getMonth()]}function Ee(te){return l[+(te.getHours()>=12)]}function ee(te){return 1+~~(te.getMonth()/3)}function ve(te){return u[te.getUTCDay()]}function z(te){return o[te.getUTCDay()]}function Y(te){return h[te.getUTCMonth()]}function le(te){return c[te.getUTCMonth()]}function fe(te){return l[+(te.getUTCHours()>=12)]}function De(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var ge=E(te+="",O);return ge.toString=function(){return te},ge},parse:function(te){var ge=D(te+="",!1);return ge.toString=function(){return te},ge},utcFormat:function(te){var ge=E(te+="",T);return ge.toString=function(){return te},ge},utcParse:function(te){var ge=D(te+="",!0);return ge.toString=function(){return te},ge}}}var u2={"-":"",_:" ",0:"0"},Sn=/^\s*\d+/,hY=/^%/,mY=/[\\^$*+?|[\]().{}]/g;function at(e,t,n){var r=e<0?"-":"",l=(r?-e:e)+"",o=l.length;return r+(o[t.toLowerCase(),n]))}function gY(e,t,n){var r=Sn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function pY(e,t,n){var r=Sn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function yY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function xY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function bY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function c2(e,t,n){var r=Sn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function f2(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function SY(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 wY(e,t,n){var r=Sn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function jY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function d2(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function CY(e,t,n){var r=Sn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function h2(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function _Y(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function AY(e,t,n){var r=Sn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function EY(e,t,n){var r=Sn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function OY(e,t,n){var r=Sn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function NY(e,t,n){var r=hY.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function TY(e,t,n){var r=Sn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function RY(e,t,n){var r=Sn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function m2(e,t){return at(e.getDate(),t,2)}function MY(e,t){return at(e.getHours(),t,2)}function DY(e,t){return at(e.getHours()%12||12,t,2)}function PY(e,t){return at(1+ud.count(Na(e),e),t,3)}function Uk(e,t){return at(e.getMilliseconds(),t,3)}function kY(e,t){return Uk(e,t)+"000"}function IY(e,t){return at(e.getMonth()+1,t,2)}function zY(e,t){return at(e.getMinutes(),t,2)}function LY(e,t){return at(e.getSeconds(),t,2)}function UY(e){var t=e.getDay();return t===0?7:t}function $Y(e,t){return at(hg.count(Na(e)-1,e),t,2)}function $k(e){var t=e.getDay();return t>=4||t===0?Lu(e):Lu.ceil(e)}function BY(e,t){return e=$k(e),at(Lu.count(Na(e),e)+(Na(e).getDay()===4),t,2)}function HY(e){return e.getDay()}function FY(e,t){return at(vv.count(Na(e)-1,e),t,2)}function VY(e,t){return at(e.getFullYear()%100,t,2)}function GY(e,t){return e=$k(e),at(e.getFullYear()%100,t,2)}function qY(e,t){return at(e.getFullYear()%1e4,t,4)}function KY(e,t){var n=e.getDay();return e=n>=4||n===0?Lu(e):Lu.ceil(e),at(e.getFullYear()%1e4,t,4)}function YY(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+at(t/60|0,"0",2)+at(t%60,"0",2)}function v2(e,t){return at(e.getUTCDate(),t,2)}function XY(e,t){return at(e.getUTCHours(),t,2)}function QY(e,t){return at(e.getUTCHours()%12||12,t,2)}function ZY(e,t){return at(1+dg.count(Ta(e),e),t,3)}function Bk(e,t){return at(e.getUTCMilliseconds(),t,3)}function WY(e,t){return Bk(e,t)+"000"}function JY(e,t){return at(e.getUTCMonth()+1,t,2)}function eX(e,t){return at(e.getUTCMinutes(),t,2)}function tX(e,t){return at(e.getUTCSeconds(),t,2)}function nX(e){var t=e.getUTCDay();return t===0?7:t}function rX(e,t){return at(mg.count(Ta(e)-1,e),t,2)}function Hk(e){var t=e.getUTCDay();return t>=4||t===0?Uu(e):Uu.ceil(e)}function iX(e,t){return e=Hk(e),at(Uu.count(Ta(e),e)+(Ta(e).getUTCDay()===4),t,2)}function aX(e){return e.getUTCDay()}function lX(e,t){return at(gv.count(Ta(e)-1,e),t,2)}function oX(e,t){return at(e.getUTCFullYear()%100,t,2)}function sX(e,t){return e=Hk(e),at(e.getUTCFullYear()%100,t,2)}function uX(e,t){return at(e.getUTCFullYear()%1e4,t,4)}function cX(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Uu(e):Uu.ceil(e),at(e.getUTCFullYear()%1e4,t,4)}function fX(){return"+0000"}function g2(){return"%"}function p2(e){return+e}function y2(e){return Math.floor(+e/1e3)}var Js,Fk,j1,Vk;dX({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 dX(e){return Js=dY(e),Fk=Js.format,Js.parse,j1=Js.utcFormat,Vk=Js.utcParse,Js}var Gk="%Y-%m-%dT%H:%M:%S.%LZ";function hX(e){return e.toISOString()}Date.prototype.toISOString||j1(Gk);function mX(e){var t=new Date(e);return isNaN(t)?null:t}+new Date("2000-01-01T00:00:00.000Z")||Vk(Gk);function Wr(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Pa(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}const jb=Symbol("implicit");function C1(){var e=new $N,t=[],n=[],r=jb;function l(o){let u=e.get(o);if(u===void 0){if(r!==jb)return r;e.set(o,u=t.push(o)-1)}return n[u%n.length]}return l.domain=function(o){if(!arguments.length)return t.slice();t=[],e=new $N;for(const u of o)e.has(u)||e.set(u,t.push(u)-1);return l},l.range=function(o){return arguments.length?(n=Array.from(o),l):n.slice()},l.unknown=function(o){return arguments.length?(r=o,l):r},l.copy=function(){return C1(t,n).unknown(r)},Wr.apply(l,arguments),l}function _1(){var e=C1().unknown(void 0),t=e.domain,n=e.range,r=0,l=1,o,u,c=!1,h=0,m=0,v=.5;delete e.unknown;function p(){var x=t().length,S=lt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function yX(e,t,n){var r=e[0],l=e[1],o=t[0],u=t[1];return l2?xX:yX,h=m=null,p}function p(x){return x==null||isNaN(x=+x)?o:(h||(h=c(e.map(r),t,n)))(r(u(x)))}return p.invert=function(x){return u(l((m||(m=c(t,e.map(r),fv)))(x)))},p.domain=function(x){return arguments.length?(e=Array.from(x,pv),v()):e.slice()},p.range=function(x){return arguments.length?(t=Array.from(x),v()):t.slice()},p.rangeRound=function(x){return t=Array.from(x),n=h1,v()},p.clamp=function(x){return arguments.length?(u=x?!0:Zn,v()):u!==Zn},p.interpolate=function(x){return arguments.length?(n=x,v()):n},p.unknown=function(x){return arguments.length?(o=x,p):o},function(x,S){return r=x,l=S,v()}}function A1(){return vg()(Zn,Zn)}function Kk(e,t,n,r){var l=xb(e,t,n),o;switch(r=Uf(r??",f"),r.type){case"s":{var u=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=WK(l,u))&&(r.precision=o),Ik(r,u)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=JK(l,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=ZK(l))&&(r.precision=o-(r.type==="%")*2);break}}return v1(r)}function Bl(e){var t=e.domain;return e.ticks=function(n){var r=t();return pb(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var l=t();return Kk(l[0],l[l.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),l=0,o=r.length-1,u=r[l],c=r[o],h,m,v=10;for(c0;){if(m=yb(u,c,n),m===h)return r[l]=u,r[o]=c,t(r);if(m>0)u=Math.floor(u/m)*m,c=Math.ceil(c/m)*m;else if(m<0)u=Math.ceil(u*m)/m,c=Math.floor(c*m)/m;else break;h=m}return e},e}function Yk(){var e=A1();return e.copy=function(){return cd(e,Yk())},Wr.apply(e,arguments),Bl(e)}function Xk(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,pv),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return Xk(e).unknown(t)},e=arguments.length?Array.from(e,pv):[0,1],Bl(n)}function Qk(e,t){e=e.slice();var n=0,r=e.length-1,l=e[n],o=e[r],u;return oMath.pow(e,t)}function CX(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 w2(e){return(t,n)=>-e(-t,n)}function E1(e){const t=e(b2,S2),n=t.domain;let r=10,l,o;function u(){return l=CX(r),o=jX(r),n()[0]<0?(l=w2(l),o=w2(o),e(bX,SX)):e(b2,S2),t}return t.base=function(c){return arguments.length?(r=+c,u()):r},t.domain=function(c){return arguments.length?(n(c),u()):n()},t.ticks=c=>{const h=n();let m=h[0],v=h[h.length-1];const p=v0){for(;x<=S;++x)for(w=1;wv)break;A.push(j)}}else for(;x<=S;++x)for(w=r-1;w>=1;--w)if(j=x>0?w/o(-x):w*o(x),!(jv)break;A.push(j)}A.length*2{if(c==null&&(c=10),h==null&&(h=r===10?"s":","),typeof h!="function"&&(!(r%1)&&(h=Uf(h)).precision==null&&(h.trim=!0),h=v1(h)),c===1/0)return h;const m=Math.max(1,r*c/t.ticks().length);return v=>{let p=v/o(Math.round(l(v)));return p*rn(Qk(n(),{floor:c=>o(Math.floor(l(c))),ceil:c=>o(Math.ceil(l(c)))})),t}function Zk(){const e=E1(vg()).domain([1,10]);return e.copy=()=>cd(e,Zk()).base(e.base()),Wr.apply(e,arguments),e}function j2(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function C2(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function O1(e){var t=1,n=e(j2(t),C2(t));return n.constant=function(r){return arguments.length?e(j2(t=+r),C2(t)):t},Bl(n)}function Wk(){var e=O1(vg());return e.copy=function(){return cd(e,Wk()).constant(e.constant())},Wr.apply(e,arguments)}function _2(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function _X(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function AX(e){return e<0?-e*e:e*e}function N1(e){var t=e(Zn,Zn),n=1;function r(){return n===1?e(Zn,Zn):n===.5?e(_X,AX):e(_2(n),_2(1/n))}return t.exponent=function(l){return arguments.length?(n=+l,r()):n},Bl(t)}function T1(){var e=N1(vg());return e.copy=function(){return cd(e,T1()).exponent(e.exponent())},Wr.apply(e,arguments),e}function EX(){return T1.apply(null,arguments).exponent(.5)}function A2(e){return Math.sign(e)*e*e}function OX(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Jk(){var e=A1(),t=[0,1],n=!1,r;function l(o){var u=OX(e(o));return isNaN(u)?r:n?Math.round(u):u}return l.invert=function(o){return e.invert(A2(o))},l.domain=function(o){return arguments.length?(e.domain(o),l):e.domain()},l.range=function(o){return arguments.length?(e.range((t=Array.from(o,pv)).map(A2)),l):t.slice()},l.rangeRound=function(o){return l.range(o).round(!0)},l.round=function(o){return arguments.length?(n=!!o,l):n},l.clamp=function(o){return arguments.length?(e.clamp(o),l):e.clamp()},l.unknown=function(o){return arguments.length?(r=o,l):r},l.copy=function(){return Jk(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Wr.apply(l,arguments),Bl(l)}function eI(){var e=[],t=[],n=[],r;function l(){var u=0,c=Math.max(1,t.length);for(n=new Array(c-1);++u0?n[c-1]:e[0],c=n?[r[n-1],t]:[r[m-1],r[m]]},u.unknown=function(h){return arguments.length&&(o=h),u},u.thresholds=function(){return r.slice()},u.copy=function(){return tI().domain([e,t]).range(l).unknown(o)},Wr.apply(Bl(u),arguments)}function nI(){var e=[.5],t=[0,1],n,r=1;function l(o){return o!=null&&o<=o?t[od(e,o,0,r)]:n}return l.domain=function(o){return arguments.length?(e=Array.from(o),r=Math.min(e.length,t.length-1),l):e.slice()},l.range=function(o){return arguments.length?(t=Array.from(o),r=Math.min(e.length,t.length-1),l):t.slice()},l.invertExtent=function(o){var u=t.indexOf(o);return[e[u-1],e[u]]},l.unknown=function(o){return arguments.length?(n=o,l):n},l.copy=function(){return nI().domain(e).range(t).unknown(n)},Wr.apply(l,arguments)}function NX(e){return new Date(e)}function TX(e){return e instanceof Date?+e:Math.round(e)}function R1(e,t,n,r,l,o,u,c,h,m){var v=A1(),p=v.invert,x=v.domain,S=m(".%L"),w=m(":%S"),j=m("%I:%M"),C=m("%I %p"),A=m("%a %d"),N=m("%b %d"),O=m("%B"),T=m("%Y");function R(E){return(h(E)t(l/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(l,o)=>uK(e,o/r))},n.copy=function(){return lI(t).domain(e)},Pa.apply(n,arguments)}function pg(){var e=0,t=.5,n=1,r=1,l,o,u,c,h,m=Zn,v,p=!1,x;function S(j){return j==null||isNaN(j=+j)?x:(j=.5+((j=+v(j))-o)*(r*j{if(e!=null){var r=e.scale,l=e.type;if(r==="auto")return l==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!t)?"point":l==="category"?"band":"linear";if(typeof r=="string")return zX(r)?r:"point"}};function LX(e,t){for(var n=0,r=e.length,l=e[0]t)?n=o+1:r=o}return n}function dI(e,t){if(e){var n=t??e.domain(),r=n.map(o=>{var u;return(u=e(o))!==null&&u!==void 0?u:0}),l=e.range();if(!(n.length===0||l.length<2))return o=>{var u,c,h=LX(r,o);if(h<=0)return n[0];if(h>=n.length)return n[n.length-1];var m=(u=r[h-1])!==null&&u!==void 0?u:0,v=(c=r[h])!==null&&c!==void 0?c:0;return Math.abs(o-m)<=Math.abs(o-v)?n[h-1]:n[h]}}}function UX(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):dI(e,void 0)}function O2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function yv(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.cartesianAxis.xAxis[t],ka=(e,t)=>{var n=mI(e,t);return n??tn},nn={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:_b,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:td},vI=(e,t)=>e.cartesianAxis.yAxis[t],Ia=(e,t)=>{var n=vI(e,t);return n??nn},KX={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:""},k1=(e,t)=>{var n=e.cartesianAxis.zAxis[t];return n??KX},Fn=(e,t,n)=>{switch(t){case"xAxis":return ka(e,n);case"yAxis":return Ia(e,n);case"zAxis":return k1(e,n);case"angleAxis":return i1(e,n);case"radiusAxis":return a1(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},YX=(e,t,n)=>{switch(t){case"xAxis":return ka(e,n);case"yAxis":return Ia(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},fd=(e,t,n)=>{switch(t){case"xAxis":return ka(e,n);case"yAxis":return Ia(e,n);case"angleAxis":return i1(e,n);case"radiusAxis":return a1(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},gI=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function pI(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 yI=e=>e.graphicalItems.cartesianItems,XX=W([xn,sg],pI),xI=(e,t,n)=>e.filter(n).filter(r=>(t==null?void 0:t.includeHidden)===!0?!0:!r.hide),ec=W([yI,Fn,XX],xI,{memoizeOptions:{resultEqualityCheck:ug}}),bI=W([ec],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(o1)),SI=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),QX=W([ec],SI),wI=e=>e.map(t=>t.data).filter(Boolean).flat(1),ZX=W([ec],e=>e.some(t=>!t.data)),jI=W([ec],wI,{memoizeOptions:{resultEqualityCheck:ug}}),CI=(e,t)=>{var n=t.chartData,r=n===void 0?[]:n,l=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:r.slice(l,o+1)},I1=W([jI,ad],CI),WX=(e,t,n)=>(t==null?void 0:t.dataKey)!=null?e.map(r=>({value:pn(r,t.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>e.map(l=>({value:pn(l,r)}))):e.map(r=>({value:r})),_I=(e,t,n,r,l,o)=>{var u=r.chartData,c=u===void 0?[]:u,h=r.dataStartIndex,m=r.dataEndIndex,v=WX(e,t,n);if(l&&(t==null?void 0:t.dataKey)!=null&&o.length>0){var p=c.slice(h,m+1),x=p.map(S=>({value:pn(S,t.dataKey)})).filter(S=>S.value!=null);return[...x,...v]}return v},dd=W([I1,Fn,ec,ad,ZX,jI],_I);function yu(e){if(Hi(e)||e instanceof Date){var t=Number(e);if(it(t))return t}}function T2(e){if(Array.isArray(e)){var t=[yu(e[0]),yu(e[1])];return Li(t)?t:void 0}var n=yu(e);if(n!=null)return[n,n]}function fi(e){return e.map(yu).filter(ur)}function JX(e,t){var n=yu(e),r=yu(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var eQ=W([dd],e=>e==null?void 0:e.map(t=>t.value).sort(JX));function AI(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function tQ(e,t,n){if(!n)return[];if(!n.length)return[];var r;if(typeof t=="number"&&!Aa(t))r=t;else if(Array.isArray(t)){var l=fi(t);l.length>0&&(r=Math.max(...l))}return r==null?[]:fi(n.flatMap(o=>{var u=pn(e,o.dataKey),c,h;if(Array.isArray(u)){var m=hI(u,2);c=m[0],h=m[1]}else c=h=u;if(!(!it(c)||!it(h)))return[r-c,r+h]}))}var sn=e=>{var t=bn(e),n=Zu(e);return fd(e,t,n)},$u=W([sn],e=>e==null?void 0:e.dataKey),nQ=W([bI,ad,sn],xk),EI=(e,t,n,r)=>{var l={},o=t.reduce((u,c)=>{if(c.stackId==null)return u;var h=u[c.stackId];return h==null&&(h=[]),h.push(c),u[c.stackId]=h,u},l);return Object.fromEntries(Object.entries(o).map(u=>{var c=hI(u,2),h=c[0],m=c[1],v=r?[...m].reverse():m,p=v.map(yk);return[h,{stackedData:E9(e,p,n),graphicalItems:v}]}))},rQ=W([nQ,bI,ig,fk],EI),OI=(e,t,n,r)=>{var l=t.dataStartIndex,o=t.dataEndIndex;if(r==null&&n!=="zAxis")return T9(e,l,o)},iQ=W([Fn],e=>e.allowDataOverflow),z1=e=>{var t;if(e==null||!("domain"in e))return _b;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var n=fi(e.ticks);return[Math.min(...n),Math.max(...n)]}if(e.type==="category")return e.ticks.map(String)}return(t=e==null?void 0:e.domain)!==null&&t!==void 0?t:_b},NI=W([Fn],z1),TI=W([NI,iQ],ek),aQ=W([rQ,Gi,xn,TI],OI,{memoizeOptions:{resultEqualityCheck:ld}}),L1=e=>e.errorBars,lQ=(e,t,n)=>e.flatMap(r=>t[r.id]).filter(Boolean).filter(r=>AI(n,r)),xv=function(){for(var t=arguments.length,n=new Array(t),r=0;r5&&arguments[5]!==void 0?arguments[5]:[],c,h;if(r.length>0&&r.forEach(m=>{var v,p=m.data!=null?[...m.data]:u,x=(v=l[m.id])===null||v===void 0?void 0:v.filter(S=>AI(o,S));p.forEach(S=>{var w,j=pn(S,(w=n.dataKey)!==null&&w!==void 0?w:m.dataKey),C=tQ(S,j,x);if(C.length>=2){var A=Math.min(...C),N=Math.max(...C);(c==null||Ah)&&(h=N)}var O=T2(j);O!=null&&(c=c==null?O[0]:Math.min(c,O[0]),h=h==null?O[1]:Math.max(h,O[1]))})}),(n==null?void 0:n.dataKey)!=null&&r.length===0&&t.forEach(m=>{var v=T2(pn(m,n.dataKey));v!=null&&(c=c==null?v[0]:Math.min(c,v[0]),h=h==null?v[1]:Math.max(h,v[1]))}),it(c)&&it(h))return[c,h]},oQ=W([I1,Fn,QX,L1,xn,Oq],RI,{memoizeOptions:{resultEqualityCheck:ld}});function sQ(e){var t=e.value;if(Hi(t)||t instanceof Date)return t}var uQ=(e,t,n)=>{var r=e.map(sQ).filter(l=>l!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&nD(r))?WP(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},MI=e=>e.referenceElements.dots,tc=(e,t,n)=>e.filter(r=>r.ifOverflow==="extendDomain").filter(r=>t==="xAxis"?r.xAxisId===n:r.yAxisId===n),cQ=W([MI,xn,sg],tc),DI=e=>e.referenceElements.areas,fQ=W([DI,xn,sg],tc),PI=e=>e.referenceElements.lines,dQ=W([PI,xn,sg],tc),kI=(e,t)=>{if(e!=null){var n=fi(e.map(r=>t==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},hQ=W(cQ,xn,kI),II=(e,t)=>{if(e!=null){var n=fi(e.flatMap(r=>[t==="xAxis"?r.x1:r.y1,t==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},mQ=W([fQ,xn],II);function vQ(e){var t;if(e.x!=null)return fi([e.x]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.x);return n==null||n.length===0?[]:fi(n)}function gQ(e){var t;if(e.y!=null)return fi([e.y]);var n=(t=e.segment)===null||t===void 0?void 0:t.map(r=>r.y);return n==null||n.length===0?[]:fi(n)}var zI=(e,t)=>{if(e!=null){var n=e.flatMap(r=>t==="xAxis"?vQ(r):gQ(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},pQ=W([dQ,xn],zI),yQ=W(hQ,pQ,mQ,(e,t,n)=>xv(e,n,t)),LI=(e,t,n,r,l,o,u,c,h)=>{if(n!=null)return n;var m=u==="vertical"&&c==="xAxis"||u==="horizontal"&&c==="yAxis",v=m?xv(r,o,l):xv(o,l),p=Pq(t,v,e.allowDataOverflow);return p??(e.allowDataOverflow&&v==null&&h!=null?h:p)},xQ=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=fi(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},bQ=W([Fn],xQ,{memoizeOptions:{resultEqualityCheck:ld}}),SQ=W([Fn,NI,TI,aQ,oQ,yQ,It,xn,bQ],LI,{memoizeOptions:{resultEqualityCheck:ld}}),wQ=[0,1],UI=(e,t,n,r,l,o,u)=>{if(!((e==null||n==null||n.length===0)&&u===void 0)){var c=e.dataKey,h=e.type,m=Ra(t,o);if(m&&c==null){var v;return WP(0,(v=n==null?void 0:n.length)!==null&&v!==void 0?v:0)}return h==="category"?uQ(r,e,m):l==="expand"&&!m?wQ:u}},U1=W([Fn,It,I1,dd,ig,xn,SQ],UI),nc=W([Fn,gI,t1],fI),$I=(e,t,n)=>{var r=t.niceTicks;if(r!=="none"){var l=z1(t),o=Array.isArray(l)&&(l[0]==="auto"||l[1]==="auto");if((r==="snap125"||r==="adaptive")&&t!=null&&t.tickCount&&Li(e)){if(o)return kN(e,t.tickCount,t.allowDecimals,r);if(t.type==="number")return IN(e,t.tickCount,t.allowDecimals,r)}if(r==="auto"&&n==="linear"&&t!=null&&t.tickCount){if(o&&Li(e))return kN(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Li(e))return IN(e,t.tickCount,t.allowDecimals,"adaptive")}}},$1=W([U1,fd,nc],$I),BI=(e,t,n,r)=>{if(r!=="angleAxis"&&(e==null?void 0:e.type)==="number"&&Li(t)&&Array.isArray(n)&&n.length>0){var l,o,u=t[0],c=(l=n[0])!==null&&l!==void 0?l:0,h=t[1],m=(o=n[n.length-1])!==null&&o!==void 0?o:0;return[Math.min(u,c),Math.max(h,m)]}return t},jQ=W([Fn,U1,$1,xn],BI),CQ=W(dd,Fn,(e,t)=>{if(!(!t||t.type!=="number")){var n=1/0,r=Array.from(fi(e.map(p=>p.value))).sort((p,x)=>p-x),l=r[0],o=r[r.length-1];if(l==null||o==null)return 1/0;var u=o-l;if(u===0)return 1/0;for(var c=0;cl,(e,t,n,r,l)=>{if(!it(e))return 0;var o=t==="vertical"?r.height:r.width;if(l==="gap")return e*o/2;if(l==="no-gap"){var u=Pl(n,e*o),c=e*o/2;return c-u-(c-u)/o*u}return 0}),_Q=(e,t,n)=>{var r=ka(e,t);return r==null||typeof r.padding!="string"?0:HI(e,"xAxis",t,n,r.padding)},AQ=(e,t,n)=>{var r=Ia(e,t);return r==null||typeof r.padding!="string"?0:HI(e,"yAxis",t,n,r.padding)},EQ=W(ka,_Q,(e,t)=>{var n,r;if(e==null)return{left:0,right:0};var l=e.padding;return typeof l=="string"?{left:t,right:t}:{left:((n=l.left)!==null&&n!==void 0?n:0)+t,right:((r=l.right)!==null&&r!==void 0?r:0)+t}}),OQ=W(Ia,AQ,(e,t)=>{var n,r;if(e==null)return{top:0,bottom:0};var l=e.padding;return typeof l=="string"?{top:t,bottom:t}:{top:((n=l.top)!==null&&n!==void 0?n:0)+t,bottom:((r=l.bottom)!==null&&r!==void 0?r:0)+t}}),FI=W([Pn,EQ,tg,eg,(e,t,n)=>n],(e,t,n,r,l)=>{var o=r.padding;return l?[o.left,n.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),VI=W([Pn,It,OQ,tg,eg,(e,t,n)=>n],(e,t,n,r,l,o)=>{var u=l.padding;return o?[r.height-u.bottom,u.top]:t==="horizontal"?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),hd=(e,t,n,r)=>{var l;switch(t){case"xAxis":return FI(e,n,r);case"yAxis":return VI(e,n,r);case"zAxis":return(l=k1(e,n))===null||l===void 0?void 0:l.range;case"angleAxis":return vk(e);case"radiusAxis":return gk(e,n);default:return}},GI=W([Fn,hd],ag),NQ=W([nc,jQ],Zq),B1=W([Fn,nc,NQ,GI],P1),qI=(e,t,n,r)=>{if(!(n==null||n.dataKey==null)){var l=n.type,o=n.scale,u=Ra(e,r);if(u&&(l==="number"||o!=="auto"))return t.map(c=>c.value)}},H1=W([It,dd,fd,xn],qI),yg=W([B1],s1);W([B1],UX);W([B1,eQ],dI);W([ec,L1,xn],lQ);function KI(e,t){return e.idt.id?1:0}var xg=(e,t)=>t,bg=(e,t,n)=>n,TQ=W(Wv,xg,bg,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(KI)),RQ=W(Jv,xg,bg,(e,t,n)=>e.filter(r=>r.orientation===t).filter(r=>r.mirror===n).sort(KI)),YI=(e,t)=>{var n=typeof t.height=="number"?t.height:XS;return{width:e.width,height:n}},MQ=(e,t)=>{var n=typeof t.width=="number"?t.width:td;return{width:n,height:e.height}},DQ=W(Pn,ka,YI),PQ=(e,t,n)=>{switch(t){case"top":return e.top;case"bottom":return n-e.bottom;default:return 0}},kQ=(e,t,n)=>{switch(t){case"left":return e.left;case"right":return n-e.right;default:return 0}},IQ=W(Da,Pn,TQ,xg,bg,(e,t,n,r,l)=>{var o={},u;return n.forEach(c=>{var h=YI(t,c);u==null&&(u=PQ(t,r,e));var m=r==="top"&&!l||r==="bottom"&&l;o[c.id]=u-Number(m)*h.height,u+=(m?-1:1)*h.height}),o}),zQ=W(Ma,Pn,RQ,xg,bg,(e,t,n,r,l)=>{var o={},u;return n.forEach(c=>{var h=MQ(t,c);u==null&&(u=kQ(t,r,e));var m=r==="left"&&!l||r==="right"&&l;o[c.id]=u-Number(m)*h.width,u+=(m?-1:1)*h.width}),o}),LQ=(e,t)=>{var n=ka(e,t);if(n!=null)return IQ(e,n.orientation,n.mirror)},UQ=W([Pn,ka,LQ,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var l=n==null?void 0:n[r];return l==null?{x:e.left,y:0}:{x:e.left,y:l}}}),$Q=(e,t)=>{var n=Ia(e,t);if(n!=null)return zQ(e,n.orientation,n.mirror)},BQ=W([Pn,Ia,$Q,(e,t)=>t],(e,t,n,r)=>{if(t!=null){var l=n==null?void 0:n[r];return l==null?{x:0,y:e.top}:{x:l,y:e.top}}}),HQ=W(Pn,Ia,(e,t)=>{var n=typeof t.width=="number"?t.width:td;return{width:n,height:e.height}}),XI=(e,t,n,r)=>{if(n!=null){var l=n.allowDuplicatedCategory,o=n.type,u=n.dataKey,c=Ra(e,r),h=t.map(v=>v.value),m=h.filter(v=>v!=null);if(u&&c&&o==="category"&&l&&nD(m))return h}},F1=W([It,dd,Fn,xn],XI),R2=W([It,YX,nc,yg,F1,H1,hd,$1,xn],(e,t,n,r,l,o,u,c,h)=>{if(t!=null){var m=Ra(e,h);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:h,categoricalDomain:o,duplicateDomain:l,isCategorical:m,niceTicks:c,range:u,realScaleType:n,scale:r}}}),FQ=(e,t,n,r,l,o,u,c,h)=>{if(!(t==null||r==null)){var m=Ra(e,h),v=t.type,p=t.ticks,x=t.tickCount,S=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,w=v==="category"&&r.bandwidth?r.bandwidth()/S:0;w=h==="angleAxis"&&o!=null&&o.length>=2?Vr(o[0]-o[1])*2*w:w;var j=p||l;return j?j.map((C,A)=>{var N=u?u.indexOf(C):C,O=r.map(N);return it(O)?{index:A,coordinate:O+w,value:C,offset:w}:null}).filter(ur):m&&c?c.map((C,A)=>{var N=r.map(C);return it(N)?{coordinate:N+w,value:C,index:A,offset:w}:null}).filter(ur):r.ticks?r.ticks(x).map((C,A)=>{var N=r.map(C);return it(N)?{coordinate:N+w,value:C,index:A,offset:w}:null}).filter(ur):r.domain().map((C,A)=>{var N=r.map(C);return it(N)?{coordinate:N+w,value:u?u[C]:C,index:A,offset:w}:null}).filter(ur)}},QI=W([It,fd,nc,yg,$1,hd,F1,H1,xn],FQ),VQ=(e,t,n,r,l,o,u)=>{if(!(t==null||n==null||r==null||r[0]===r[1])){var c=Ra(e,u),h=t.tickCount,m=0;return m=u==="angleAxis"&&(r==null?void 0:r.length)>=2?Vr(r[0]-r[1])*2*m:m,c&&o?o.map((v,p)=>{var x=n.map(v);return it(x)?{coordinate:x+m,value:v,index:p,offset:m}:null}).filter(ur):n.ticks?n.ticks(h).map((v,p)=>{var x=n.map(v);return it(x)?{coordinate:x+m,value:v,index:p,offset:m}:null}).filter(ur):n.domain().map((v,p)=>{var x=n.map(v);return it(x)?{coordinate:x+m,value:l?l[v]:v,index:p,offset:m}:null}).filter(ur)}},ZI=W([It,fd,yg,hd,F1,H1,xn],VQ),WI=W(Fn,yg,(e,t)=>{if(!(e==null||t==null))return yv(yv({},e),{},{scale:t})}),GQ=W([Fn,nc,U1,GI],P1),qQ=W([GQ],s1);W((e,t,n)=>k1(e,n),qQ,(e,t)=>{if(!(e==null||t==null))return yv(yv({},e),{},{scale:t})});var KQ=W([It,Wv,Jv],(e,t,n)=>{switch(e){case"horizontal":return t.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),YQ=(e,t,n)=>{var r;return(r=e.renderedTicks[t])===null||r===void 0?void 0:r[n]};W([YQ],e=>{if(!(!e||e.length===0))return t=>{var n,r=1/0,l=e[0];for(var o of e){var u=Math.abs(o.coordinate-t);ue.options.defaultTooltipEventType,e3=e=>e.options.validateTooltipEventTypes;function t3(e,t,n){if(e==null)return t;var r=e?"axis":"item";return n==null?t:n.includes(r)?r:t}function md(e,t){var n=JI(e),r=e3(e);return t3(t,n,r)}function XQ(e){return ke(t=>md(t,e))}var n3=(e,t)=>{var n,r=Number(t);if(!(Aa(r)||t==null))return r>=0?e==null||(n=e[r])===null||n===void 0?void 0:n.value:void 0},QQ=e=>e.tooltip.settings,bl={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},ZQ={itemInteraction:{click:bl,hover:bl},axisInteraction:{click:bl,hover:bl},keyboardInteraction:bl,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}},r3=Hn({name:"tooltip",initialState:ZQ,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(rt(t.payload))},prepare:Ot()},replaceTooltipEntrySettings:{reducer(e,t){var n=t.payload,r=n.prev,l=n.next,o=Gr(e).tooltipItemPayloads.indexOf(rt(r));o>-1&&(e.tooltipItemPayloads[o]=rt(l))},prepare:Ot()},removeTooltipEntrySettings:{reducer(e,t){var n=Gr(e).tooltipItemPayloads.indexOf(rt(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:Ot()},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}}}),Jr=r3.actions,WQ=Jr.addTooltipEntrySettings,JQ=Jr.replaceTooltipEntrySettings,eZ=Jr.removeTooltipEntrySettings,tZ=Jr.setTooltipSettingsState,nZ=Jr.setActiveMouseOverItemIndex;Jr.mouseLeaveItem;var i3=Jr.mouseLeaveChart;Jr.setActiveClickItemIndex;var a3=Jr.setMouseOverAxisIndex,rZ=Jr.setMouseClickAxisIndex,Sf=Jr.setSyncInteraction,bv=Jr.setKeyboardInteraction,iZ=r3.reducer;function M2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function hm(e){for(var t=1;t{if(t==null)return bl;var l=sZ(e,t,n);if(l==null)return bl;if(l.active)return l;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(uZ(l)){if(o)return hm(hm({},l),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return hm(hm({},bl),{},{coordinate:l.coordinate})};function cZ(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 fZ(e,t){var n=cZ(e),r=t[0],l=t[1];if(n===void 0)return!1;var o=Math.min(r,l),u=Math.max(r,l);return n>=o&&n<=u}function dZ(e,t,n){if(n==null||t==null)return!0;var r=pn(e,t);return r==null||!Li(n)?!0:fZ(r,n)}var Cf=(e,t,n,r)=>{var l=e==null?void 0:e.index;if(l==null)return null;var o=Number(l);if(!it(o))return l;var u=0,c=1/0;t.length>0&&(c=t.length-1);var h=Math.max(u,Math.min(o,c)),m=t[h];return m==null||dZ(m,n,r)?String(h):null},o3=(e,t,n,r,l,o,u)=>{if(o!=null){var c=u[0],h=c==null?void 0:c.getPosition(o);if(h!=null)return h;var m=l==null?void 0:l[Number(o)];if(m)switch(n){case"horizontal":return{x:m.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:m.coordinate}}}},s3=(e,t,n,r)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var l;if(n==="hover"?l=e.itemInteraction.hover.graphicalItemId:l=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&l==null)return e.tooltipItemPayloads;if(l==null&&(r!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(u=>{var c;return((c=u.settings)===null||c===void 0?void 0:c.graphicalItemId)===l})},u3=e=>e.options.tooltipPayloadSearcher,rc=e=>e.tooltip;function D2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function P2(e){for(var t=1;te(t)}function k2(e){if(typeof e=="string")return e}function xZ(e){if(!(e==null||typeof e!="object")){var t="name"in e?gZ(e.name):void 0,n="unit"in e?pZ(e.unit):void 0,r="dataKey"in e?yZ(e.dataKey):void 0,l="payload"in e?e.payload:void 0,o="color"in e?k2(e.color):void 0,u="fill"in e?k2(e.fill):void 0;return{name:t,unit:n,dataKey:r,payload:l,color:o,fill:u}}}function bZ(e,t){return e??t}var c3=(e,t,n,r,l,o,u)=>{if(!(t==null||o==null)){var c=n.chartData,h=n.computedData,m=n.dataStartIndex,v=n.dataEndIndex,p=[];return e.reduce((x,S)=>{var w,j=S.dataDefinedOnItem,C=S.settings,A=bZ(j,c),N=Array.isArray(A)?AP(A,m,v):A,O=(w=C==null?void 0:C.dataKey)!==null&&w!==void 0?w:r,T=C==null?void 0:C.nameKey,R;if(r&&Array.isArray(N)&&!Array.isArray(N[0])&&u==="axis"?(R=rD(N,r,l),R==null&&(R=o(N,t,h,T))):R=o(N,t,h,T),Array.isArray(R))R.forEach(D=>{var k,I,P=xZ(D),B=P==null?void 0:P.name,F=P==null?void 0:P.dataKey,se=P==null?void 0:P.payload,ue=P2(P2({},C),{},{name:B,unit:P==null?void 0:P.unit,color:(k=P==null?void 0:P.color)!==null&&k!==void 0?k:C==null?void 0:C.color,fill:(I=P==null?void 0:P.fill)!==null&&I!==void 0?I:C==null?void 0:C.fill});x.push(RO({tooltipEntrySettings:ue,dataKey:F,payload:se,value:pn(se,F),name:B==null?void 0:String(B)}))});else{var E;x.push(RO({tooltipEntrySettings:C,dataKey:O,payload:R,value:pn(R,O),name:(E=pn(R,T))!==null&&E!==void 0?E:C==null?void 0:C.name}))}return x},p)}},V1=W([sn,gI,t1],fI),SZ=W([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),wZ=W([bn,Zu],pI),rs=W([SZ,sn,wZ],xI,{memoizeOptions:{resultEqualityCheck:ug}}),jZ=W([rs],e=>e.filter(o1)),f3=W([rs],wI,{memoizeOptions:{resultEqualityCheck:ug}}),CZ=W([rs],e=>e.some(t=>!t.data)),Xo=W([f3,Gi],CI),_Z=W([jZ,Gi,sn],xk),G1=W([Xo,sn,rs,Gi,CZ,f3],_I),d3=W([sn],z1),AZ=W([sn],e=>e.allowDataOverflow),h3=W([d3,AZ],ek),EZ=W([rs],e=>e.filter(o1)),OZ=W([_Z,EZ,ig,fk],EI),NZ=W([OZ,Gi,bn,h3],OI),TZ=W([rs],SI),RZ=W([Xo,sn,TZ,L1,bn,Nq],RI,{memoizeOptions:{resultEqualityCheck:ld}}),MZ=W([MI,bn,Zu],tc),DZ=W([MZ,bn],kI),PZ=W([DI,bn,Zu],tc),kZ=W([PZ,bn],II),IZ=W([PI,bn,Zu],tc),zZ=W([IZ,bn],zI),LZ=W([DZ,zZ,kZ],xv),UZ=W([sn,d3,h3,NZ,RZ,LZ,It,bn],LI),Bu=W([sn,It,Xo,G1,ig,bn,UZ],UI),$Z=W([Bu,sn,V1],$I),BZ=W([sn,Bu,$Z,bn],BI),m3=e=>{var t=bn(e),n=Zu(e),r=!1;return hd(e,t,n,r)},v3=W([sn,m3],ag),HZ=W([sn,V1,BZ,v3],P1),g3=W([HZ],s1),FZ=W([It,G1,sn,bn],XI),VZ=W([It,G1,sn,bn],qI),GZ=(e,t,n,r,l,o,u,c)=>{if(t){var h=t.type,m=Ra(e,c);if(r){var v=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,p=h==="category"&&r.bandwidth?r.bandwidth()/v:0;return p=c==="angleAxis"&&l!=null&&(l==null?void 0:l.length)>=2?Vr(l[0]-l[1])*2*p:p,m&&u?u.map((x,S)=>{var w=r.map(x);return it(w)?{coordinate:w+p,value:x,index:S,offset:p}:null}).filter(ur):r.domain().map((x,S)=>{var w=r.map(x);return it(w)?{coordinate:w+p,value:o?o[x]:x,index:S,offset:p}:null}).filter(ur)}}},za=W([It,sn,V1,g3,m3,FZ,VZ,bn],GZ),q1=W([JI,e3,QQ],(e,t,n)=>t3(n.shared,e,t)),p3=e=>e.tooltip.settings.trigger,K1=e=>e.tooltip.settings.defaultIndex,vd=W([rc,q1,p3,K1],l3),$f=W([vd,Xo,$u,Bu],Cf),y3=W([za,$f],n3),qZ=W([vd],e=>{if(e)return e.dataKey}),KZ=W([vd],e=>{if(e)return e.graphicalItemId}),x3=W([rc,q1,p3,K1],s3),YZ=W([Ma,Da,It,Pn,za,K1,x3],o3),XZ=W([vd,YZ],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),QZ=W([vd],e=>{var t;return(t=e==null?void 0:e.active)!==null&&t!==void 0?t:!1}),ZZ=W([x3,$f,Gi,$u,y3,u3,q1],c3),WZ=W([ZZ],e=>{if(e!=null){var t=e.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(t))}});function I2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function z2(e){for(var t=1;tke(sn),rW=()=>{var e=nW(),t=ke(za),n=ke(g3);return Jm(!e||!n?void 0:z2(z2({},e),{},{scale:n}),t)};function L2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function eu(e){for(var t=1;t{var l=t.find(o=>o&&o.index===n);if(l){if(e==="horizontal")return{x:l.coordinate,y:r.relativeY};if(e==="vertical")return{x:r.relativeX,y:l.coordinate}}return{x:0,y:0}},sW=(e,t,n,r)=>{var l=t.find(m=>m&&m.index===n);if(l){if(e==="centric"){var o=l.coordinate,u=r.radius;return eu(eu(eu({},r),Dn(r.cx,r.cy,u,o)),{},{angle:o,radius:u})}var c=l.coordinate,h=r.angle;return eu(eu(eu({},r),Dn(r.cx,r.cy,c,h)),{},{angle:h,radius:c})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function uW(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 b3=(e,t,n,r,l)=>{var o,u=(o=t==null?void 0:t.length)!==null&&o!==void 0?o:0;if(u<=1||e==null)return 0;if(r==="angleAxis"&&l!=null&&Math.abs(Math.abs(l[1]-l[0])-360)<=1e-6)for(var c=l[1]-l[0],h=(de,G,ne)=>[e,e+c,e-c].some(ie=>(ne?ie>=de:ie>de)&&ie<=G),m=0;m0?(v=n[m-1])===null||v===void 0?void 0:v.coordinate:(p=n[u-1])===null||p===void 0?void 0:p.coordinate,C=(x=n[m])===null||x===void 0?void 0:x.coordinate,A=m>=u-1?(S=n[0])===null||S===void 0?void 0:S.coordinate:(w=n[m+1])===null||w===void 0?void 0:w.coordinate,N=void 0;if(!(j==null||C==null||A==null))if(Vr(C-j)!==Vr(A-C)){var O=[];if(Vr(A-C)===Vr(l[1]-l[0])){N=A;var T=C+l[1]-l[0];O[0]=Math.min(T,(T+j)/2),O[1]=Math.max(T,(T+j)/2)}else{N=j;var R=A+l[1]-l[0];O[0]=Math.min(C,(R+C)/2),O[1]=Math.max(C,(R+C)/2)}var E=[Math.min(C,(N+C)/2),Math.max(C,(N+C)/2)];if(h(E[0],E[1],!1)||h(O[0],O[1],!0)){var D;return(D=n[m])===null||D===void 0?void 0:D.index}}else{var k=Math.min(j,A),I=Math.max(j,A);if(h((k+C)/2,(I+C)/2,!1)){var P;return(P=n[m])===null||P===void 0?void 0:P.index}}}else if(t)for(var B=0;B(F.coordinate+ue.coordinate)/2||B>0&&B(F.coordinate+ue.coordinate)/2&&e<=(F.coordinate+se.coordinate)/2)return F.index}}return-1},cW=()=>ke(t1),Y1=(e,t)=>t,S3=(e,t,n)=>n,X1=(e,t,n,r)=>r,fW=W(za,e=>Hv(e,t=>t.coordinate)),Q1=W([rc,Y1,S3,X1],l3),Z1=W([Q1,Xo,$u,Bu],Cf),dW=(e,t,n)=>{if(t!=null){var r=rc(e);return t==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},w3=W([rc,Y1,S3,X1],s3),Sv=W([Ma,Da,It,Pn,za,X1,w3],o3),hW=W([Q1,Sv],(e,t)=>{var n;return(n=e.coordinate)!==null&&n!==void 0?n:t}),j3=W([za,Z1],n3),mW=W([w3,Z1,Gi,$u,j3,u3,Y1],c3),vW=W([Q1,Z1],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),gW=(e,t,n,r,l,o,u)=>{if(!(!e||!n||!r||!l)&&uW(e,u)){var c=R9(e,t),h=b3(c,o,l,n,r),m=oW(t,l,h,e);return{activeIndex:String(h),activeCoordinate:m}}},pW=(e,t,n,r,l,o,u)=>{if(!(!e||!r||!l||!o||!n)){var c=Sq(e,n);if(c){var h=M9(c,t),m=b3(h,u,o,r,l),v=sW(t,o,m,c);return{activeIndex:String(m),activeCoordinate:v}}}},yW=(e,t,n,r,l,o,u,c)=>{if(!(!e||!t||!r||!l||!o))return t==="horizontal"||t==="vertical"?gW(e,t,r,l,o,u,c):pW(e,t,n,r,l,o,u)},xW=W(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}}),bW=W(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(r=>parseInt(r,10)).concat(Object.values(Qn)),n=Array.from(new Set(t));return n.sort((r,l)=>r-l)},{memoizeOptions:{resultEqualityCheck:Qq}});function U2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function $2(e){for(var t=1;t$2($2({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),CW)},AW=new Set(Object.values(Qn));function EW(e){return AW.has(e)}var C3=Hn({name:"zIndex",initialState:_W,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:Ot()},unregisterZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(e.zIndexMap[n].consumers-=1,e.zIndexMap[n].consumers<=0&&!EW(n)&&delete e.zIndexMap[n])},prepare:Ot()},registerZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload,r=n.zIndex,l=n.element,o=n.isPanorama;e.zIndexMap[r]?o?e.zIndexMap[r].panoramaElement=rt(l):e.zIndexMap[r].element=rt(l):e.zIndexMap[r]={consumers:0,element:o?void 0:rt(l),panoramaElement:o?rt(l):void 0}},prepare:Ot()},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:Ot()}}}),Sg=C3.actions,OW=Sg.registerZIndexPortal,e0=Sg.unregisterZIndexPortal,NW=Sg.registerZIndexPortalElement,TW=Sg.unregisterZIndexPortalElement,RW=C3.reducer;function La(e){var t=e.zIndex,n=e.children,r=vG(),l=r&&t!==void 0&&t!==0,o=fr(),u=b.useRef(void 0),c=b.useRef(new Set),h=Vt(),m=ke(p=>xW(p,t,o));if(b.useLayoutEffect(()=>{if(!l){var p=c.current;p.forEach(S=>{h(e0({zIndex:S}))}),p.clear(),u.current=void 0;return}if(c.current.has(t)||(h(OW({zIndex:t})),c.current.add(t)),m){u.current=m;var x=c.current;x.forEach(S=>{S!==t&&(h(e0({zIndex:S})),x.delete(S))})}},[h,t,l,m]),b.useLayoutEffect(()=>{var p=c.current;return()=>{p.forEach(x=>{h(e0({zIndex:x}))}),p.clear()}},[h]),!l)return n;var v=m??u.current;return v?Rv.createPortal(n,v):null}function Ab(){return Ab=Object.assign?Object.assign.bind():function(e){for(var t=1;tb.useContext(_3),t0={exports:{}},H2;function UW(){return H2||(H2=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function l(h,m,v){this.fn=h,this.context=m,this.once=v||!1}function o(h,m,v,p,x){if(typeof v!="function")throw new TypeError("The listener must be a function");var S=new l(v,p||h,x),w=n?n+m:m;return h._events[w]?h._events[w].fn?h._events[w]=[h._events[w],S]:h._events[w].push(S):(h._events[w]=S,h._eventsCount++),h}function u(h,m){--h._eventsCount===0?h._events=new r:delete h._events[m]}function c(){this._events=new r,this._eventsCount=0}c.prototype.eventNames=function(){var m=[],v,p;if(this._eventsCount===0)return m;for(p in v=this._events)t.call(v,p)&&m.push(n?p.slice(1):p);return Object.getOwnPropertySymbols?m.concat(Object.getOwnPropertySymbols(v)):m},c.prototype.listeners=function(m){var v=n?n+m:m,p=this._events[v];if(!p)return[];if(p.fn)return[p.fn];for(var x=0,S=p.length,w=new Array(S);x{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!Aa(n))return e[n]}},FW={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},A3=Hn({name:"options",initialState:FW,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),VW=A3.reducer,GW=A3.actions.createEventEmitter;function qW(e){return e.tooltip.syncInteraction}var KW={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},E3=Hn({name:"chartData",initialState:KW,reducers:{setChartData(e,t){if(e.chartData=rt(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,l=n.endIndex;r!=null&&(e.dataStartIndex=r),l!=null&&(e.dataEndIndex=l)}}}),W1=E3.actions,V2=W1.setChartData,YW=W1.setDataStartEndIndexes;W1.setComputedData;var XW=E3.reducer,QW=["x","y"];function G2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function tu(e){for(var t=1;th.rootProps.className);b.useEffect(()=>{if(e==null)return Ku;var h=(m,v,p)=>{if(t!==p&&e===m){if(v.payload.active===!1){n(Sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r==="index"){var x;if(u&&v!==null&&v!==void 0&&(x=v.payload)!==null&&x!==void 0&&x.coordinate&&v.payload.sourceViewBox){var S=v.payload.coordinate,w=S.x,j=S.y,C=eJ(S,QW),A=v.payload.sourceViewBox,N=A.x,O=A.y,T=A.width,R=A.height,E=tu(tu({},C),{},{x:u.x+(T?(w-N)/T:0)*u.width,y:u.y+(R?(j-O)/R:0)*u.height});n(tu(tu({},v),{},{payload:tu(tu({},v.payload),{},{coordinate:E})}))}else n(v);return}if(l!=null){var D;if(typeof r=="function"){var k={activeTooltipIndex:v.payload.index==null?void 0:Number(v.payload.index),isTooltipActive:v.payload.active,activeIndex:v.payload.index==null?void 0:Number(v.payload.index),activeLabel:v.payload.label,activeDataKey:v.payload.dataKey,activeCoordinate:v.payload.coordinate},I=r(l,k);D=l[I]}else r==="value"&&(D=l.find(ne=>String(ne.value)===v.payload.label));var P=v.payload.coordinate;if(P==null||u==null){n(Sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(D==null){n(Sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:v.payload.sourceViewBox,graphicalItemId:void 0}));return}var B=P.x,F=P.y,se=Math.min(B,u.x+u.width),ue=Math.min(F,u.y+u.height),de={x:o==="horizontal"?D.coordinate:se,y:o==="horizontal"?ue:D.coordinate},G=Sf({active:v.payload.active,coordinate:de,dataKey:v.payload.dataKey,index:String(D.index),label:v.payload.label,sourceViewBox:v.payload.sourceViewBox,graphicalItemId:v.payload.graphicalItemId});n(G)}}};return Bf.on(Eb,h),()=>{Bf.off(Eb,h)}},[c,n,t,e,r,l,o,u])}function rJ(){var e=ke(n1),t=ke(r1),n=Vt();b.useEffect(()=>{if(e==null)return Ku;var r=(l,o,u)=>{t!==u&&e===l&&n(YW(o))};return Bf.on(F2,r),()=>{Bf.off(F2,r)}},[n,t,e])}function iJ(){var e=Vt();b.useEffect(()=>{e(GW())},[e]),nJ(),rJ()}function aJ(e,t,n,r,l,o){var u=ke(w=>dW(w,e,t)),c=ke(KZ),h=ke(r1),m=ke(n1),v=ke(dk),p=ke(qW),x=(p==null?void 0:p.sourceViewBox)!=null,S=ng();b.useEffect(()=>{if(!x&&m!=null&&h!=null){var w=Sf({active:o,coordinate:n,dataKey:u,index:l,label:typeof r=="number"?String(r):r,sourceViewBox:S,graphicalItemId:c});Bf.emit(Eb,m,w,h)}},[x,n,u,c,l,r,h,m,v,o,S])}function q2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function K2(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n{D(tZ({shared:N,trigger:O,axisId:E,active:l,defaultIndex:k}))},[D,N,O,E,l,k]);var I=ng(),P=FP(),B=XQ(N),F=(t=ke(oe=>vW(oe,B,O,k)))!==null&&t!==void 0?t:{},se=F.activeIndex,ue=F.isActive,de=ke(oe=>mW(oe,B,O,k)),G=ke(oe=>j3(oe,B,O,k)),ne=ke(oe=>hW(oe,B,O,k)),ie=de,ce=LW(),U=(n=l??ue)!==null&&n!==void 0?n:!1,Ee=pV([ie,U]),ee=uJ(Ee,2),ve=ee[0],z=ee[1],Y=B==="axis"?G:void 0;aJ(B,O,ne,Y,se,U);var le=R??ce;if(le==null||I==null||B==null)return null;var fe=ie??X2;U||(fe=X2),m&&fe.length&&(fe=UF(fe.filter(oe=>oe.value!=null&&(oe.hide!==!0||r.includeHidden)),x,mJ));var De=fe.length>0,te=K2(K2({},r),{},{payload:fe,label:Y,active:U,activeIndex:se,coordinate:ne,accessibilityLayer:P}),ge=b.createElement(v7,{allowEscapeViewBox:o,animationDuration:u,animationEasing:c,isAnimationActive:v,active:U,coordinate:ne,hasPayload:De,offset:p,position:S,reverseDirection:w,useTranslate3d:j,viewBox:I,wrapperStyle:C,lastBoundingBox:ve,innerRef:z,hasPortalFromProps:!!R},vJ(h,te));return b.createElement(b.Fragment,null,Rv.createPortal(ge,le),U&&b.createElement(zW,{cursor:A,tooltipEventType:B,coordinate:ne,payload:fe,index:se}))}function pJ(e,t,n){return(t=yJ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yJ(e){var t=xJ(e,"string");return typeof t=="symbol"?t:t+""}function xJ(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}class bJ{constructor(t){pJ(this,"cache",new Map),this.maxSize=t}get(t){var n=this.cache.get(t);return n!==void 0&&(this.cache.delete(t),this.cache.set(t,n)),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(t,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function Q2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function SJ(e){for(var t=1;t{try{var n=document.getElementById(W2);n||(n=document.createElement("span"),n.setAttribute("id",W2),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,AJ,t),n.textContent="".concat(e);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},_f=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||id.isSsr)return{width:0,height:0};if(!N3.enableCache)return J2(t,n);var r=EJ(t,n),l=Z2.get(r);if(l)return l;var o=J2(t,n);return Z2.set(r,o),o},T3;function wv(e,t){return RJ(e)||TJ(e,t)||NJ(e,t)||OJ()}function OJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function NJ(e,t){if(e){if(typeof e=="string")return eT(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)?eT(e,t):void 0}}function eT(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 l=[];yn(t)||(n?l=t.toString().split(""):l=t.toString().split(M3));var o=l.map(c=>({word:c,width:_f(c,r).width})),u=n?0:_f(" ",r).width;return{wordsWithComputedWidth:o,spaceWidth:u}}catch{return null}};function P3(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function ZJ(e){return yn(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var k3=(e,t,n,r)=>e.reduce((l,o)=>{var u=o.word,c=o.width,h=l[l.length-1];if(h&&c!=null&&(t==null||r||h.width+c+ne.reduce((t,n)=>t.width>n.width?t:n),WJ="…",oT=(e,t,n,r,l,o,u,c)=>{var h=e.slice(0,t),m=D3({breakAll:n,style:r,children:h+WJ});if(!m)return[!1,[]];var v=k3(m.wordsWithComputedWidth,o,u,c),p=v.length>l||I3(v).width>Number(o);return[p,v]},JJ=(e,t,n,r,l)=>{var o=e.maxLines,u=e.children,c=e.style,h=e.breakAll,m=Re(o),v=String(u),p=k3(t,r,n,l);if(!m||l)return p;var x=p.length>o||I3(p).width>Number(r);if(!x)return p;for(var S=0,w=v.length-1,j=0,C;S<=w&&j<=v.length-1;){var A=Math.floor((S+w)/2),N=A-1,O=oT(v,N,h,c,o,r,n,l),T=aT(O,2),R=T[0],E=T[1],D=oT(v,A,h,c,o,r,n,l),k=aT(D,1),I=k[0];if(!R&&!I&&(S=A+1),R&&I&&(w=A-1),!R&&I){C=E;break}j++}return C||p},sT=e=>{var t=yn(e)?[]:e.toString().split(M3);return[{words:t,width:void 0}]},eee=e=>{var t=e.width,n=e.scaleToFit,r=e.children,l=e.style,o=e.breakAll,u=e.maxLines;if((t||n)&&!id.isSsr){var c,h,m=D3({breakAll:o,children:r,style:l});if(m){var v=m.wordsWithComputedWidth,p=m.spaceWidth;c=v,h=p}else return sT(r);return JJ({breakAll:o,children:r,maxLines:u,style:l},c,h,t,!!n)}return sT(r)},z3="#808080",tee={angle:0,breakAll:!1,capHeight:"0.71em",fill:z3,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},J1=b.forwardRef((e,t)=>{var n=Tr(e,tee),r=n.x,l=n.y,o=n.lineHeight,u=n.capHeight,c=n.fill,h=n.scaleToFit,m=n.textAnchor,v=n.verticalAnchor,p=iT(n,VJ),x=b.useMemo(()=>eee({breakAll:p.breakAll,children:p.children,maxLines:p.maxLines,scaleToFit:h,style:p.style,width:p.width}),[p.breakAll,p.children,p.maxLines,h,p.style,p.width]),S=p.dx,w=p.dy,j=p.angle,C=p.className,A=p.breakAll,N=iT(p,GJ);if(!Hi(r)||!Hi(l)||x.length===0)return null;var O=Number(r)+(Re(S)?S:0),T=Number(l)+(Re(w)?w:0);if(!it(O)||!it(T))return null;var R;switch(v){case"start":R=n0("calc(".concat(u,")"));break;case"middle":R=n0("calc(".concat((x.length-1)/2," * -").concat(o," + (").concat(u," / 2))"));break;default:R=n0("calc(".concat(x.length-1," * -").concat(o,")"));break}var E=[],D=x[0];if(h&&D!=null){var k=D.width,I=p.width;E.push("scale(".concat(Re(I)&&Re(k)?I/k:1,")"))}return j&&E.push("rotate(".concat(j,", ").concat(O,", ").concat(T,")")),E.length&&(N.transform=E.join(" ")),b.createElement("text",Ob({},Xr(N),{ref:t,x:O,y:T,className:Ct("recharts-text",C),textAnchor:m,fill:c.includes("url")?z3:c}),x.map((P,B)=>{var F=P.words.join(A?"":" ");return b.createElement("tspan",{x:O,dy:B===0?R:o,key:"".concat(F,"-").concat(B)},F)}))});J1.displayName="Text";var nee=["labelRef"],ree=["content"];function uT(e,t){if(e==null)return{};var n,r,l=iee(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r{var t=e.x,n=e.y,r=e.upperWidth,l=e.lowerWidth,o=e.width,u=e.height,c=e.children,h=b.useMemo(()=>({x:t,y:n,upperWidth:r,lowerWidth:l,width:o,height:u}),[t,n,r,l,o,u]);return b.createElement(L3.Provider,{value:h},c)},U3=()=>{var e=b.useContext(L3),t=ng();return e||(t?TS(t):void 0)},uee=b.createContext(null),cee=()=>{var e=b.useContext(uee),t=ke(pk);return e||t},fee=e=>{var t=e.value,n=e.formatter,r=yn(e.children)?t:e.children;return typeof n=="function"?n(r):r},wg=e=>e!=null&&typeof e=="function",dee=(e,t)=>{var n=Vr(t-e),r=Math.min(Math.abs(t-e),360);return n*r},hee=(e,t,n,r,l)=>{var o=e.offset,u=e.className,c=l.cx,h=l.cy,m=l.innerRadius,v=l.outerRadius,p=l.startAngle,x=l.endAngle,S=l.clockWise,w=(m+v)/2,j=dee(p,x),C=j>=0?1:-1,A,N;switch(t){case"insideStart":A=p+C*o,N=S;break;case"insideEnd":A=x-C*o,N=!S;break;case"end":A=x+C*o,N=S;break;default:throw new Error("Unsupported position ".concat(t))}N=j<=0?N:!N;var O=Dn(c,h,w,A),T=Dn(c,h,w,A+(N?1:-1)*359),R="M".concat(O.x,",").concat(O.y,` - A`).concat(w,",").concat(w,",0,1,").concat(N?0:1,`, - `).concat(T.x,",").concat(T.y),E=yn(e.id)?Tf("recharts-radial-line-"):e.id;return b.createElement("text",va({},r,{dominantBaseline:"central",className:Ct("recharts-radial-bar-label",u)}),b.createElement("defs",null,b.createElement("path",{id:E,d:R})),b.createElement("textPath",{xlinkHref:"#".concat(E)},n))},mee=(e,t,n)=>{var r=e.cx,l=e.cy,o=e.innerRadius,u=e.outerRadius,c=e.startAngle,h=e.endAngle,m=(c+h)/2;if(n==="outside"){var v=Dn(r,l,u+t,m),p=v.x,x=v.y;return{x:p,y:x,textAnchor:p>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:l,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:l,textAnchor:"middle",verticalAnchor:"end"};var S=(o+u)/2,w=Dn(r,l,S,m),j=w.x,C=w.y;return{x:j,y:C,textAnchor:"middle",verticalAnchor:"middle"}},uu=e=>e!=null&&"cx"in e&&Re(e.cx),vee={angle:0,offset:5,zIndex:Qn.label,position:"middle",textBreakAll:!1};function gee(e){if(!uu(e))return e;var t=e.cx,n=e.cy,r=e.outerRadius,l=r*2;return{x:t-r,y:n-r,width:l,upperWidth:l,lowerWidth:l,height:l}}function xl(e){var t,n,r=Tr(e,vee),l=r.viewBox,o=r.parentViewBox,u=r.position,c=r.value,h=r.children,m=r.content,v=r.className,p=v===void 0?"":v,x=r.textBreakAll,S=r.labelRef,w=cee(),j=U3(),C=u==="center"?j:w??j,A,N,O;l==null?A=C:uu(l)?A=l:A=TS(l);var T=gee(A);if(!A||yn(c)&&yn(h)&&!b.isValidElement(m)&&typeof m!="function")return null;var R=uu(A)&&(u==="insideStart"||u==="insideEnd"||u==="end");if(uu(A))R||(O=mee(A,r.offset,r.position));else if(T){var E=LH({viewBox:T,position:u,offset:r.offset,parentViewBox:uu(o)?void 0:o});O=bo(bo({x:E.x,y:E.y,textAnchor:E.horizontalAnchor,verticalAnchor:E.verticalAnchor},E.width!==void 0?{width:E.width}:{}),E.height!==void 0?{height:E.height}:{})}var D=bo(bo(bo(bo({},((t=O)===null||t===void 0?void 0:t.x)!==void 0?{x:O.x}:{}),((n=O)===null||n===void 0?void 0:n.y)!==void 0?{y:O.y}:{}),r),{},{viewBox:A});if(b.isValidElement(m)){D.labelRef;var k=uT(D,nee);return b.cloneElement(m,k)}if(typeof m=="function"){D.content;var I=uT(D,ree);if(N=b.createElement(m,I),b.isValidElement(N))return N}else N=fee(r);var P=Xr(r);return R&&uu(A)?hee(r,u,N,P,A):O==null?null:b.createElement(La,{zIndex:r.zIndex},b.createElement(J1,va({ref:S,className:Ct("recharts-label",p)},P,O,{textAnchor:P3(P.textAnchor)?P.textAnchor:O.textAnchor,breakAll:x}),N))}xl.displayName="Label";var pee=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?b.createElement(xl,va({key:"label-implicit"},r)):Hi(e)?b.createElement(xl,va({key:"label-implicit",value:e},r)):b.isValidElement(e)?e.type===xl?b.cloneElement(e,bo({key:"label-implicit"},r)):b.createElement(xl,va({key:"label-implicit",content:e},r)):wg(e)?b.createElement(xl,va({key:"label-implicit",content:e},r)):e&&typeof e=="object"?b.createElement(xl,va({},e,{key:"label-implicit"},r)):null};function yee(e){var t=e.label,n=e.labelRef,r=U3();return pee(t,r,n)||null}var xee=["valueAccessor"],bee=["dataKey","clockWise","id","textBreakAll","zIndex"];function jv(){return jv=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(ZJ(t))return t},$3=b.createContext(void 0),jee=$3.Provider,B3=b.createContext(void 0);B3.Provider;function Cee(){return b.useContext($3)}function _ee(){return b.useContext(B3)}function Mm(e){var t=e.valueAccessor,n=t===void 0?wee:t,r=fT(e,xee),l=r.dataKey;r.clockWise;var o=r.id,u=r.textBreakAll,c=r.zIndex,h=fT(r,bee),m=Cee(),v=_ee(),p=m||v;return!p||!p.length?null:b.createElement(La,{zIndex:c??Qn.label},b.createElement(_a,{className:"recharts-label-list"},p.map((x,S)=>{var w,j=yn(l)?n(x,S):pn(x.payload,l),C=yn(o)?{}:{id:"".concat(o,"-").concat(S)};return b.createElement(xl,jv({key:"label-".concat(S)},Xr(x),h,C,{fill:(w=r.fill)!==null&&w!==void 0?w:x.fill,parentViewBox:x.parentViewBox,value:j,textBreakAll:u,viewBox:x.viewBox,index:S,zIndex:0}))})))}Mm.displayName="LabelList";function Aee(e){var t=e.label;return t?t===!0?b.createElement(Mm,{key:"labelList-implicit"}):b.isValidElement(t)||wg(t)?b.createElement(Mm,{key:"labelList-implicit",content:t}):typeof t=="object"?b.createElement(Mm,jv({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}function Nb(){return Nb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,n=e.cy,r=e.r,l=e.className,o=Ct("recharts-dot",l);return Re(t)&&Re(n)&&Re(r)?b.createElement("circle",Nb({},Bi(e),IS(e),{className:o,cx:t,cy:n,r})):null},Eee={radiusAxis:{},angleAxis:{}},F3=Hn({name:"polarAxis",initialState:Eee,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=rt(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=rt(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),jg=F3.actions;jg.addRadiusAxis;jg.removeRadiusAxis;jg.addAngleAxis;jg.removeAngleAxis;var Oee=F3.reducer;function Nee(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var V3=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;function dT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function hT(e){for(var t=1;t{r||(l.current===null?n(WQ(t)):l.current!==t&&n(JQ({prev:l.current,next:t})),l.current=t)},[t,n,r]),b.useLayoutEffect(()=>()=>{l.current&&(n(eZ(l.current)),l.current=null)},[n]),null}function Uee(e){var t=e.legendPayload,n=Vt(),r=fr(),l=b.useRef(null);return b.useLayoutEffect(()=>{r||(l.current===null?n(pG(t)):l.current!==t&&n(yG({prev:l.current,next:t})),l.current=t)},[n,r,t]),b.useLayoutEffect(()=>()=>{l.current&&(n(xG(l.current)),l.current=null)},[n]),null}function $ee(e,t){return Vee(e)||Fee(e,t)||Hee(e,t)||Bee()}function Bee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hee(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);n2&&arguments[2]!==void 0?arguments[2]:[],r=[];for(var l of n)r.push({status:"removed",prev:l});for(var o=0;oe[Math.floor(o*n)]);return tw(r,t)}function Kee(e,t){var n=t.map((r,l)=>e[l]);return tw(n,t)}function Yee(e,t){for(var n=new Map,r=0;r{var S=n(p,x);if(S!=null){var w=r.get(S);if(w!==void 0)return l.add(S),w}}),u=[];for(var c of r){var h=$ee(c,2),m=h[0],v=h[1];l.has(m)||u.push(v)}return tw(o,t,u)}function Qee(e,t,n){return t==null?null:e==null?t.map(r=>({status:"added",next:r})):n===ew?qee(e,t):n===Gee?Kee(e,t):Xee(e,t,n)}function Zee(e,t){var n=b.useRef(e),r=b.useRef(t.current),l=b.useRef(!0);n.current!==e&&(n.current=e,r.current=t.current,l.current=!1);var o=b.useCallback(function(u,c){var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(c===0){l.current=!0;return}c===1&&(r.current=u),c>0&&l.current&&h&&(t.current=u)},[t]);return{startValue:r.current,syncStepValue:o}}function Wee(e,t){return nte(e)||tte(e,t)||ete(e,t)||Jee()}function Jee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ete(e,t){if(e){if(typeof e=="string")return vT(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)?vT(e,t):void 0}}function vT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{typeof e=="function"&&e(),o(!0)},[e]),c=b.useCallback(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:l,handleAnimationStart:u,handleAnimationEnd:c}}function ite(e){var t,n=e.animationInput,r=e.animationIdPrefix,l=e.items,o=e.previousItemsRef,u=e.isAnimationActive,c=e.animationBegin,h=e.animationDuration,m=e.animationEasing,v=e.onAnimationStart,p=e.onAnimationEnd,x=e.animationInterpolateFn,S=e.animationMatchBy,w=e.shouldUpdatePreviousRef,j=e.children,C=e.layout,A=XP(n,r),N=Zee(A,o),O=(t=N.startValue)!==null&&t!==void 0?t:null,T=Qee(O,l,S??ew);return b.createElement(YP,{animationId:A,begin:c,duration:h,isActive:u,easing:m,onAnimationEnd:p,onAnimationStart:v,key:A},R=>{var E=O==null,D=l==null?l:x(T,R,C),k=w?w(R):R>0;return N.syncStepValue(D,R,k),D==null?null:j(D,R,E)})}var r0;function ate(e,t){return ute(e)||ste(e,t)||ote(e,t)||lte()}function lte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ote(e,t){if(e){if(typeof e=="string")return gT(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)?gT(e,t):void 0}}function gT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var e=b.useState(()=>Tf("uid-")),t=ate(e,1),n=t[0];return n},fte=(r0=Ll.useId)!==null&&r0!==void 0?r0:cte;function dte(e,t){var n=fte();return t||(e?"".concat(e,"-").concat(n):n)}var hte=b.createContext(void 0),mte=e=>{var t=e.id,n=e.type,r=e.children,l=dte("recharts-".concat(n),t);return b.createElement(hte.Provider,{value:l},r(l))},vte={cartesianItems:[],polarItems:[]},q3=Hn({name:"graphicalItems",initialState:vte,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(rt(t.payload))},prepare:Ot()},replaceCartesianGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,l=n.next,o=Gr(e).cartesianItems.indexOf(rt(r));o>-1&&(e.cartesianItems[o]=rt(l))},prepare:Ot()},removeCartesianGraphicalItem:{reducer(e,t){var n=Gr(e).cartesianItems.indexOf(rt(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:Ot()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(rt(t.payload))},prepare:Ot()},removePolarGraphicalItem:{reducer(e,t){var n=Gr(e).polarItems.indexOf(rt(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:Ot()},replacePolarGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,l=n.next,o=Gr(e).polarItems.indexOf(rt(r));o>-1&&(e.polarItems[o]=rt(l))},prepare:Ot()}}}),ic=q3.actions,gte=ic.addCartesianGraphicalItem,pte=ic.replaceCartesianGraphicalItem,yte=ic.removeCartesianGraphicalItem;ic.addPolarGraphicalItem;ic.removePolarGraphicalItem;ic.replacePolarGraphicalItem;var xte=q3.reducer,bte=e=>{var t=Vt(),n=b.useRef(null);return b.useLayoutEffect(()=>{n.current===null?t(gte(e)):n.current!==e&&t(pte({prev:n.current,next:e})),n.current=e},[t,e]),b.useLayoutEffect(()=>()=>{n.current&&(t(yte(n.current)),n.current=null)},[t]),null},Ste=b.memo(bte),wte=["points"];function pT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function i0(e){for(var t=1;t{var A,N,O=i0(i0(i0({r:3},u),x),{},{index:C,cx:(A=j.x)!==null&&A!==void 0?A:void 0,cy:(N=j.y)!==null&&N!==void 0?N:void 0,dataKey:o,value:j.value,payload:j.payload,points:t});return b.createElement(Ote,{key:"dot-".concat(C),option:n,dotProps:O,className:l})}),w={};return c&&h!=null&&(w.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(h,")")),b.createElement(La,{zIndex:v},b.createElement(_a,Cv({className:r},w),S))}function yT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function vm(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),Gte=W([Vte,Ma,Da],(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)}}),nw=()=>ke(Gte),qte=()=>ke(WZ);function xT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function a0(e){for(var t=1;t{var t=e.point,n=e.childIndex,r=e.mainColor,l=e.activeDot,o=e.dataKey,u=e.clipPath;if(l===!1||t.x==null||t.y==null)return null;var c={index:n,dataKey:o,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},h=a0(a0(a0({},c),zv(l)),IS(l)),m;return b.isValidElement(l)?m=b.cloneElement(l,h):typeof l=="function"?m=l(h):m=b.createElement(H3,h),b.createElement(_a,{className:"recharts-active-dot",clipPath:u},m)};function Zte(e){var t=e.points,n=e.mainColor,r=e.activeDot,l=e.itemDataKey,o=e.clipPath,u=e.zIndex,c=u===void 0?Qn.activeDot:u,h=ke($f),m=qte();if(t==null||m==null)return null;var v=t.find(p=>m.includes(p.payload));return yn(v)?null:b.createElement(La,{zIndex:c},b.createElement(Qte,{point:v,childIndex:Number(h),mainColor:n,dataKey:l,activeDot:r,clipPath:o}))}var Wte=e=>{var t=e.chartData,n=Vt(),r=fr();return b.useEffect(()=>r?()=>{}:(n(V2(t)),()=>{n(V2(void 0))}),[t,n,r]),null},bT={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},Y3=Hn({name:"brush",initialState:bT,reducers:{setBrushSettings(e,t){return t.payload==null?bT:t.payload}}});Y3.actions.setBrushSettings;var Jte=Y3.reducer;function ene(e){return(e%180+180)%180}var tne=function(t){var n=t.width,r=t.height,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=ene(l),u=o*Math.PI/180,c=Math.atan(r/n),h=u>c&&u{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=Gr(e).dots.findIndex(r=>r===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=Gr(e).areas.findIndex(r=>r===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(rt(t.payload))},removeLine:(e,t)=>{var n=Gr(e).lines.findIndex(r=>r===t.payload);n!==-1&&e.lines.splice(n,1)}}}),ac=X3.actions;ac.addDot;ac.removeDot;ac.addArea;ac.removeArea;ac.addLine;ac.removeLine;var rne=X3.reducer;function ine(e,t){return sne(e)||one(e,t)||lne(e,t)||ane()}function ane(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lne(e,t){if(e){if(typeof e=="string")return ST(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)?ST(e,t):void 0}}function ST(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{var t=e.children,n=b.useState("".concat(Tf("recharts"),"-clip")),r=ine(n,1),l=r[0],o=nw();if(o==null)return null;var u=o.x,c=o.y,h=o.width,m=o.height;return b.createElement(une.Provider,{value:l},b.createElement("defs",null,b.createElement("clipPath",{id:l},b.createElement("rect",{x:u,y:c,height:m,width:h}))),t)};function fne(){}function wT(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function dne(e,t,n){return wf(e,t,void 0,void 0,void 0,void 0,n)}function wf(e,t,n,r,l,o,u){const c=u(e,t,n,r,l,o);if(c!==void 0)return c;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 Af(e,t,o,u)}return Af(e,t,o,u)}function Af(e,t,n,r){var l;if(Object.is(e,t))return!0;let o=Io(e),u=Io(t);if(o==="[object Arguments]"&&(o=Om),u==="[object Arguments]"&&(u=Om),o!==u)return!1;switch(o){case LS:return e.toString()===t.toString();case US:{const m=e.valueOf(),v=t.valueOf();return jf(m,v)}case $S:case OD:case ED:return Object.is(e.valueOf(),t.valueOf());case _D:return e.source===t.source&&e.flags===t.flags;case bF:return e===t}n=(l=n)!==null&&l!==void 0?l:new Map;const c=n.get(e),h=n.get(t);if(c!=null&&h!=null)return c===t;n.set(e,t),n.set(t,e);try{switch(o){case ND:if(e.size!==t.size)return!1;for(const[m,v]of e.entries())if(!t.has(m)||!wf(v,t.get(m),m,e,t,n,r))return!1;return!0;case TD:{if(e.size!==t.size)return!1;const m=Array.from(e.values()),v=Array.from(t.values());for(let p=0;pwf(x,w,void 0,e,t,n,r));if(S===-1)return!1;v.splice(S,1)}return!0}case RD:case PD:case kD:case ID:case zD:case wF:case LD:case UD:case $D:case jF:case BD:case HD:if(tb(e)!==tb(t)||e.length!==t.length)return!1;for(let m=0;me*l)return!1;var o=n();return e*(t-e*o/2-r)>=0&&e*(t+e*o/2-l)<=0}function gne(e,t){return Q3(e,t+1)}function pne(e,t,n,r,l){for(var o=(r||[]).slice(),u=t.start,c=t.end,h=0,m=1,v=u,p=function(){var w=r==null?void 0:r[h];if(w===void 0)return{v:Q3(r,m)};var j=h,C,A=()=>(C===void 0&&(C=n(w,j)),C),N=w.coordinate,O=h===0||Hf(e,N,A,v,c);O||(h=0,v=u,m+=1),O&&(v=N+e*(A()/2+l),h+=m)},x;m<=o.length;)if(x=p(),x)return x.v;return[]}function yne(e,t,n,r,l){var o=(r||[]).slice(),u=o.length;if(u===0)return[];for(var c=t.start,h=t.end,m=1;m<=u;m++){for(var v=(u-1)%m,p=c,x=!0,S=function(){var T=r[j];if(T==null)return 0;var R=j,E,D=()=>(E===void 0&&(E=n(T,R)),E),k=T.coordinate,I=j===v||Hf(e,k,D,p,h);if(!I)return x=!1,1;I&&(p=k+e*(D()/2+l))},w,j=v;j(j===void 0&&(j=n(S,x)),j);if(x===u-1){var A=e*(w.coordinate+e*C()/2-h);o[x]=w=Ln(Ln({},w),{},{tickCoord:A>0?w.coordinate-A*e:w.coordinate})}else o[x]=w=Ln(Ln({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var N=Hf(e,w.tickCoord,C,c,h);N&&(h=w.tickCoord-e*(C()/2+l),o[x]=Ln(Ln({},w),{},{isShow:!0}))}},v=u-1;v>=0;v--)m(v);return o}function jne(e,t,n,r,l,o){var u=(r||[]).slice(),c=u.length,h=t.start,m=t.end;if(o){var v=r[c-1];if(v!=null){var p=n(v,c-1),x=e*(v.coordinate+e*p/2-m);if(u[c-1]=v=Ln(Ln({},v),{},{tickCoord:x>0?v.coordinate-x*e:v.coordinate}),v.tickCoord!=null){var S=Hf(e,v.tickCoord,()=>p,h,m);S&&(m=v.tickCoord-e*(p/2+l),u[c-1]=Ln(Ln({},v),{},{isShow:!0}))}}}for(var w=o?c-1:c,j=function(N){var O=u[N];if(O==null)return 1;var T=O,R,E=()=>(R===void 0&&(R=n(O,N)),R);if(N===0){var D=e*(T.coordinate-e*E()/2-h);u[N]=T=Ln(Ln({},T),{},{tickCoord:D<0?T.coordinate-D*e:T.coordinate})}else u[N]=T=Ln(Ln({},T),{},{tickCoord:T.coordinate});if(T.tickCoord!=null){var k=Hf(e,T.tickCoord,E,h,m);k&&(h=T.tickCoord+e*(E()/2+l),u[N]=Ln(Ln({},T),{},{isShow:!0}))}},C=0;C{var D=typeof m=="function"?m(R.value,E):R.value;return w==="width"?mne(_f(D,{fontSize:t,letterSpacing:n}),j,p):_f(D,{fontSize:t,letterSpacing:n})[w]},A=l[0],N=l[1],O=l.length>=2&&A!=null&&N!=null?Vr(N.coordinate-A.coordinate):1,T=vne(o,O,w);return h==="equidistantPreserveStart"?pne(O,T,C,l,u):h==="equidistantPreserveEnd"?yne(O,T,C,l,u):(h==="preserveStart"||h==="preserveStartEnd"?S=jne(O,T,C,l,u,h==="preserveStartEnd"):S=wne(O,T,C,l,u),S.filter(R=>R.isShow))}var Cne=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,l=r,o=e.tickSize,u=o===void 0?0:o,c=e.tickMargin,h=c===void 0?0:c,m=0;if(t){Array.from(t).forEach(S=>{if(S){var w=S.getBoundingClientRect();w.width>m&&(m=w.width)}});var v=n?n.getBoundingClientRect().width:0,p=u+h,x=m+p+v+(n?l:0);return Math.round(x)}return 0},_ne=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,l=r,o=e.tickSize,u=o===void 0?0:o,c=e.tickMargin,h=c===void 0?0:c,m=0;if(t){Array.from(t).forEach(S=>{if(S){var w=S.getBoundingClientRect();w.height>m&&(m=w.height)}});var v=n?n.getBoundingClientRect().height:0,p=u+h,x=m+p+v+(n?l:0);return Math.round(x)}return 0},Ane={xAxis:{},yAxis:{}},Z3=Hn({name:"renderedTicks",initialState:Ane,reducers:{setRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,l=n.axisId,o=n.ticks;e[r][l]=rt(o)},removeRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,l=n.axisId;delete e[r][l]}}}),W3=Z3.actions,Ene=W3.setRenderedTicks,One=W3.removeRenderedTicks,Nne=Z3.reducer,Tne=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function CT(e,t){return Pne(e)||Dne(e,t)||Mne(e,t)||Rne()}function Rne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Mne(e,t){if(e){if(typeof e=="string")return _T(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)?_T(e,t):void 0}}function _T(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(!(r==null||n==null)){var u=t.map(h=>({value:h.value,coordinate:h.coordinate,offset:h.offset,index:h.index})),c=o.current;c!=null&&c.axisId===r&&c.axisType===n&&hne(c.ticks,u)||(o.current={ticks:u,axisId:r,axisType:n},l(Ene({ticks:u,axisId:r,axisType:n})))}},[l,t,r,n]),b.useEffect(()=>r==null||n==null?Ku:()=>{l(One({axisId:r,axisType:n}))},[l,r,n]),null}var qne=b.forwardRef((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,l=e.tick,o=e.tickLine,u=e.stroke,c=e.tickFormatter,h=e.unit,m=e.padding,v=e.tickTextProps,p=e.orientation,x=e.mirror,S=e.x,w=e.y,j=e.width,C=e.height,A=e.tickSize,N=e.tickMargin,O=e.fontSize,T=e.letterSpacing,R=e.getTicksConfig,E=e.events,D=e.axisType,k=e.axisId,I=rw($t($t({},R),{},{ticks:r}),O,T),P=Bi(R),B=zv(l),F=P3(P.textAnchor)?P.textAnchor:Hne(p,x),se=Fne(p,x),ue={};typeof o=="object"&&(ue=o);var de=$t($t({},P),{},{fill:"none"},ue),G=I.map(ce=>$t({entry:ce},Bne(ce,S,w,j,C,p,A,x,N))),ne=G.map(ce=>{var U=ce.entry,Ee=ce.line;return b.createElement(_a,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(U.value,"-").concat(U.coordinate,"-").concat(U.tickCoord)},o&&b.createElement("line",Qo({},de,Ee,{className:Ct("recharts-cartesian-axis-tick-line",es(o,"className"))})))}),ie=G.map((ce,U)=>{var Ee,ee,ve=ce.entry,z=ce.tick,Y=$t($t($t($t({verticalAnchor:se},P),{},{textAnchor:F,stroke:"none",fill:u},z),{},{index:U,payload:ve,visibleTicksCount:I.length,tickFormatter:c,padding:m},v),{},{angle:(Ee=(ee=v==null?void 0:v.angle)!==null&&ee!==void 0?ee:P.angle)!==null&&Ee!==void 0?Ee:0}),le=$t($t({},Y),B);return b.createElement(_a,Qo({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(ve.value,"-").concat(ve.coordinate,"-").concat(ve.tickCoord)},fF(E,ve,U)),l&&b.createElement(Vne,{option:l,tickProps:le,value:"".concat(typeof c=="function"?c(ve.value,U):ve.value).concat(h||"")}))});return b.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(D,"-ticks")},b.createElement(Gne,{ticks:I,axisId:k,axisType:D}),ie.length>0&&b.createElement(La,{zIndex:Qn.label},b.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(D,"-tick-labels"),ref:t},ie)),ne.length>0&&b.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(D,"-tick-lines")},ne))}),Kne=b.forwardRef((e,t)=>{var n=e.axisLine,r=e.width,l=e.height,o=e.className,u=e.hide,c=e.ticks,h=e.axisType,m=e.axisId,v=kne(e,Tne),p=b.useState(""),x=CT(p,2),S=x[0],w=x[1],j=b.useState(""),C=CT(j,2),A=C[0],N=C[1],O=b.useRef(null);b.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var R;return Cne({ticks:O.current,label:(R=e.labelRef)===null||R===void 0?void 0:R.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var R;return _ne({ticks:O.current,label:(R=e.labelRef)===null||R===void 0?void 0:R.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var T=b.useCallback(R=>{if(R){var E=R.getElementsByClassName("recharts-cartesian-axis-tick-value");O.current=E;var D=E[0];if(D){var k=window.getComputedStyle(D),I=k.fontSize,P=k.letterSpacing;(I!==S||P!==A)&&(w(I),N(P))}}},[S,A]);return u||r!=null&&r<=0||l!=null&&l<=0?null:b.createElement(La,{zIndex:e.zIndex},b.createElement(_a,{className:Ct("recharts-cartesian-axis",o)},b.createElement($ne,{x:e.x,y:e.y,width:r,height:l,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:Bi(e)}),b.createElement(qne,{ref:T,axisType:h,events:v,fontSize:S,getTicksConfig:e,height:e.height,letterSpacing:A,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:m}),b.createElement(see,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},b.createElement(yee,{label:e.label,labelRef:e.labelRef}),e.children)))}),iw=b.forwardRef((e,t)=>{var n=Tr(e,wa);return b.createElement(Kne,Qo({},n,{ref:t}))});iw.displayName="CartesianAxis";var Yne={grid:{stroke:"#ccc",fill:"none"}},J3=b.createContext(Yne);J3.Provider;var Xne=()=>b.useContext(J3),Qne=["x1","y1","x2","y2","key"],Zne=["offset"],Wne=["xAxisId","yAxisId"],Jne=["xAxisId","yAxisId"];function ET(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Un(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var n=e.fillOpacity,r=e.x,l=e.y,o=e.width,u=e.height,c=e.ry;return b.createElement("rect",{x:r,y:l,ry:c,width:o,height:u,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function ez(e){var t=e.option,n=e.lineItemProps,r;if(b.isValidElement(t))r=b.cloneElement(t,n);else if(typeof t=="function")r=t(n);else{var l,o=n.x1,u=n.y1,c=n.x2,h=n.y2,m=n.key,v=_v(n,Qne),p=(l=Bi(v))!==null&&l!==void 0?l:{};p.offset;var x=_v(p,Zne),S=Array.isArray(x.strokeDasharray)?x.strokeDasharray.join(","):x.strokeDasharray;r=b.createElement("line",_o({},x,{strokeDasharray:S,x1:o,y1:u,x2:c,y2:h,fill:"none",key:m}))}return r}function are(e){var t=e.x,n=e.width,r=e.horizontal,l=r===void 0?!0:r,o=e.horizontalPoints;if(!l||!o||!o.length)return null;e.xAxisId,e.yAxisId;var u=_v(e,Wne),c=o.map((h,m)=>{var v=Un(Un({},u),{},{x1:t,y1:h,x2:t+n,y2:h,key:"line-".concat(m),index:m});return b.createElement(ez,{key:"line-".concat(m),option:l,lineItemProps:v})});return b.createElement("g",{className:"recharts-cartesian-grid-horizontal"},c)}function lre(e){var t=e.y,n=e.height,r=e.vertical,l=r===void 0?!0:r,o=e.verticalPoints;if(!l||!o||!o.length)return null;e.xAxisId,e.yAxisId;var u=_v(e,Jne),c=o.map((h,m)=>{var v=Un(Un({},u),{},{x1:h,y1:t,x2:h,y2:t+n,key:"line-".concat(m),index:m});return b.createElement(ez,{option:l,lineItemProps:v,key:"line-".concat(m)})});return b.createElement("g",{className:"recharts-cartesian-grid-vertical"},c)}function ore(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,l=e.y,o=e.width,u=e.height,c=e.horizontalPoints,h=e.horizontal,m=h===void 0?!0:h;if(!m||!t||!t.length||c==null)return null;var v=c.map(x=>Math.round(x+l-l)).sort((x,S)=>x-S);l!==v[0]&&v.unshift(0);var p=v.map((x,S)=>{var w=v[S+1],j=w==null,C=j?l+u-x:w-x;if(C<=0)return null;var A=S%t.length;return b.createElement("rect",{key:"react-".concat(S),y:x,x:r,height:C,width:o,stroke:"none",fill:t[A],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return b.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function sre(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,l=e.fillOpacity,o=e.x,u=e.y,c=e.width,h=e.height,m=e.verticalPoints;if(!n||!r||!r.length)return null;var v=m.map(x=>Math.round(x+o-o)).sort((x,S)=>x-S);o!==v[0]&&v.unshift(0);var p=v.map((x,S)=>{var w=v[S+1],j=w==null,C=j?o+c-x:w-x;if(C<=0)return null;var A=S%r.length;return b.createElement("rect",{key:"react-".concat(S),x,y:u,width:C,height:h,stroke:"none",fill:r[A],fillOpacity:l,className:"recharts-cartesian-grid-bg"})});return b.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var ure=(e,t)=>{var n=e.xAxis,r=e.width,l=e.height,o=e.offset;return EP(rw(Un(Un(Un({},wa),n),{},{ticks:OP(n),viewBox:{x:0,y:0,width:r,height:l}})),o.left,o.left+o.width,t)},cre=(e,t)=>{var n=e.yAxis,r=e.width,l=e.height,o=e.offset;return EP(rw(Un(Un(Un({},wa),n),{},{ticks:OP(n),viewBox:{x:0,y:0,width:r,height:l}})),o.top,o.top+o.height,t)},fre={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Qn.grid};function aw(e){var t,n,r,l,o,u,c=zP(),h=LP(),m=IP(),v=Un(Un({},Tr(e,fre)),{},{x:Re(e.x)?e.x:m.left,y:Re(e.y)?e.y:m.top,width:Re(e.width)?e.width:m.width,height:Re(e.height)?e.height:m.height}),p=v.xAxisId,x=v.yAxisId,S=v.x,w=v.y,j=v.width,C=v.height,A=v.syncWithTicks,N=v.horizontalValues,O=v.verticalValues,T=fr(),R=ke(ne=>R2(ne,"xAxis",p,T)),E=ke(ne=>R2(ne,"yAxis",x,T)),D=Xne(),k={stroke:(t=v.stroke)!==null&&t!==void 0?t:D.grid.stroke,strokeWidth:(n=v.strokeWidth)!==null&&n!==void 0?n:D.grid.strokeWidth,strokeOpacity:(r=v.strokeOpacity)!==null&&r!==void 0?r:D.grid.strokeOpacity,strokeDasharray:(l=v.strokeDasharray)!==null&&l!==void 0?l:D.grid.strokeDasharray};if(!Fi(j)||!Fi(C)||!Re(S)||!Re(w))return null;var I=v.verticalCoordinatesGenerator||ure,P=v.horizontalCoordinatesGenerator||cre,B=v.horizontalPoints,F=v.verticalPoints;if((!B||!B.length)&&typeof P=="function"){var se=N&&N.length,ue=P({yAxis:E?Un(Un({},E),{},{ticks:se?N:E.ticks}):void 0,width:c??j,height:h??C,offset:m},se?!0:A);ev(Array.isArray(ue),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof ue,"]")),Array.isArray(ue)&&(B=ue)}if((!F||!F.length)&&typeof I=="function"){var de=O&&O.length,G=I({xAxis:R?Un(Un({},R),{},{ticks:de?O:R.ticks}):void 0,width:c??j,height:h??C,offset:m},de?!0:A);ev(Array.isArray(G),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof G,"]")),Array.isArray(G)&&(F=G)}return b.createElement(La,{zIndex:v.zIndex},b.createElement("g",{className:"recharts-cartesian-grid"},b.createElement(ire,{fill:(o=v.fill)!==null&&o!==void 0?o:D.grid.fill,fillOpacity:(u=v.fillOpacity)!==null&&u!==void 0?u:D.grid.fillOpacity,x:v.x,y:v.y,width:v.width,height:v.height,ry:v.ry}),b.createElement(ore,_o({},v,{horizontalPoints:B})),b.createElement(sre,_o({},v,{verticalPoints:F})),b.createElement(are,_o({},v,k,{offset:m,horizontalPoints:B,xAxis:R,yAxis:E})),b.createElement(lre,_o({},v,k,{offset:m,verticalPoints:F,xAxis:R,yAxis:E}))))}aw.displayName="CartesianGrid";var dre=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function Tb(){return Tb=Object.assign?Object.assign.bind():function(e){for(var t=1;tS+w,0);if(!l)return tz(t,e);for(var o=Math.floor(e/l),u=e%l,c=[],h=0,m=0;hu){c=[...r.slice(0,h),u-m];break}}var x=c.length%2===0?[0,t]:[t];return[...pre(r,o),...c,...x].map(S=>"".concat(S,"px")).join(", ")}function xre(e,t,n){if(e){var r="".concat(e).split(/[,\s]+/gim).map(l=>parseFloat(l));return yre(n,t,r)}return tz(t,n)}function bre(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,l=hre(e,dre),o=r??!1,u;if(t!=null){var c,h=l.pathRef,m=vre((c=h==null?void 0:h.current)!==null&&c!==void 0?c:null);u=xre(n,m,t)}else n!=null&&(u=String(n));return b.createElement(VP,Tb({},l,{connectNulls:o,strokeDasharray:u}))}function Sre(e){var t=b.useRef(0),n=b.useRef(0),r=b.useRef(!1),l=b.useRef(e);return l.current!==e&&(t.current=n.current,l.current=e),b.useCallback((o,u)=>{if(r.current)return null;var c=Math.min(ga(t.current+o*u),u);return o>0&&u>0&&(n.current=Math.max(n.current,c),c>=u)?(r.current=!0,null):c},[])}var wre={},nz=Hn({name:"errorBars",initialState:wre,reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,l=n.errorBar;e[r]||(e[r]=[]),e[r].push(l)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,l=n.prev,o=n.next;e[r]&&(e[r]=e[r].map(u=>u.dataKey===l.dataKey&&u.direction===l.direction?o:u))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,l=n.errorBar;e[r]&&(e[r]=e[r].filter(o=>o.dataKey!==l.dataKey||o.direction!==l.direction))}}}),lw=nz.actions;lw.addErrorBar;lw.replaceErrorBar;lw.removeErrorBar;var jre=nz.reducer,Cre=["children"];function _re(e,t){if(e==null)return{};var n,r,l=Are(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},Ore=b.createContext(Ere);function Nre(e){var t=e.children,n=_re(e,Cre);return b.createElement(Ore.Provider,{value:n},t)}function rz(e,t){var n,r,l=ke(m=>ka(m,e)),o=ke(m=>Ia(m,t)),u=(n=l==null?void 0:l.allowDataOverflow)!==null&&n!==void 0?n:tn.allowDataOverflow,c=(r=o==null?void 0:o.allowDataOverflow)!==null&&r!==void 0?r:nn.allowDataOverflow,h=u||c;return{needClip:h,needClipX:u,needClipY:c}}function Tre(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,l=nw(),o=rz(t,n),u=o.needClipX,c=o.needClipY,h=o.needClip,m=ke(O=>FI(O,t,!1)),v=ke(O=>VI(O,n,!1));if(!h||!l)return null;var p=l.x,x=l.y,S=l.width,w=l.height,j=u&&m?Math.min(m[0],m[1]):p-S/2,C=c&&v?Math.min(v[0],v[1]):x-w/2,A=u&&m?Math.abs(m[1]-m[0]):S*2,N=c&&v?Math.abs(v[1]-v[0]):w*2;return b.createElement("clipPath",{id:"clipPath-".concat(r)},b.createElement("rect",{x:j,y:C,width:A,height:N}))}var iz=(e,t,n,r)=>WI(e,"xAxis",t,r),az=(e,t,n,r)=>ZI(e,"xAxis",t,r),lz=(e,t,n,r)=>WI(e,"yAxis",n,r),oz=(e,t,n,r)=>ZI(e,"yAxis",n,r),Rre=W([It,iz,lz,az,oz],(e,t,n,r,l)=>Ra(e,"xAxis")?Jm(t,r,!1):Jm(n,l,!1)),Mre=(e,t,n,r,l)=>l;function Dre(e){return e.type==="line"}var Pre=W([yI,Mre],(e,t)=>e.filter(Dre).find(n=>n.id===t)),kre=W([It,iz,lz,az,oz,Pre,Rre,ad],(e,t,n,r,l,o,u,c)=>{var h=c.chartData,m=c.dataStartIndex,v=c.dataEndIndex;if(!(o==null||t==null||n==null||r==null||l==null||r.length===0||l.length===0||u==null||e!=="horizontal"&&e!=="vertical")){var p=o.dataKey,x=o.data,S;if(x!=null&&x.length>0?S=x:S=h==null?void 0:h.slice(m,v+1),S!=null)return rie({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:l,dataKey:p,bandSize:u,displayedData:S})}});function Ire(e){var t=zv(e),n=3,r=2;if(t!=null){var l=t.r,o=t.strokeWidth,u=Number(l),c=Number(o);return(Number.isNaN(u)||u<0)&&(u=n),(Number.isNaN(c)||c<0)&&(c=r),{r:u,strokeWidth:c}}return{r:n,strokeWidth:r}}var zre=["id"],Lre=["type","layout","connectNulls","needClip","shape","strokeDasharray"],Ure=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function Av(){return Av=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/n:0}var qre=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(c=>c.status==="removed"?[]:[c.next]);var n=Gre(e),r=[];for(var l of e)if(l.status==="matched")r.push(Di(Di({},l.next),{},{x:pa(l.prev.x,l.next.x,t),y:pa(l.prev.y,l.next.y,t)}));else if(l.status==="added")if(l.next.x!=null){var o=l.next.x-n;r.push(Di(Di({},l.next),{},{x:pa(o,l.next.x,t),y:l.next.y}))}else r.push(l.next);else if(l.status==="removed"&&l.prev.x!=null){var u=l.prev.x+n;r.push(Di(Di({},l.prev),{},{x:pa(l.prev.x,u,t),y:l.prev.y}))}return r},sw={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:qre,animationMatchBy:ew,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:bre,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:Qn.line,type:"linear"},Kre=e=>{var t=e.dataKey,n=e.name,r=e.stroke,l=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:l,color:r,value:NP(n,t),payload:e}]},Yre=b.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,l=e.strokeWidth,o=e.fill,u=e.name,c=e.hide,h=e.unit,m=e.formatter,v=e.tooltipType,p=e.id,x={dataDefinedOnItem:n,getPosition:Ku,settings:{stroke:r,strokeWidth:l,fill:o,dataKey:t,nameKey:void 0,name:NP(u,t),hide:c,type:v,color:r,unit:h,formatter:m,graphicalItemId:p}};return b.createElement(Lee,{tooltipEntrySettings:x})});function Xre(e){var t=e.clipPathId,n=e.points,r=e.props,l=r.dot,o=r.dataKey,u=r.needClip;r.id;var c=ow(r,zre),h=Bi(c);return b.createElement(Tte,{points:n,dot:l,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:o,baseProps:h,needClip:u,clipPathId:t})}function Qre(e){var t=e.showLabels,n=e.children,r=e.points,l=b.useMemo(()=>r==null?void 0:r.map(o=>{var u,c,h={x:(u=o.x)!==null&&u!==void 0?u:0,y:(c=o.y)!==null&&c!==void 0?c:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Di(Di({},h),{},{value:o.value,payload:o.payload,viewBox:h,parentViewBox:void 0,fill:void 0})}),[r]);return b.createElement(jee,{value:t?l:void 0},n)}function Zre(e){var t=e.clipPathId,n=e.pathRef,r=e.points,l=e.props,o=e.animationElapsedTime,u=e.isAnimating,c=e.isEntrance,h=e.visibleLength,m=l.type,v=l.layout,p=l.connectNulls,x=l.needClip,S=l.shape,w=l.strokeDasharray,j=ow(l,Lre),C=Di(Di({},Xr(j)),{},{fill:"none",className:"recharts-line-curve",clipPath:x?"url(#clipPath-".concat(t,")"):void 0,points:r,type:m,layout:v,connectNulls:p,strokeDasharray:w??l.strokeDasharray,pathRef:n,animationElapsedTime:o,isAnimating:u,isEntrance:l.animateNewValues?c:!1,visibleLength:h});return b.createElement(b.Fragment,null,(r==null?void 0:r.length)>1&&b.createElement(zee,{option:S,DefaultShape:sw.shape,shapeProps:C}),b.createElement(Xre,{points:r,clipPathId:t,props:l}))}function Wre(e){var t=e.clipPathId,n=e.props,r=e.pathRef,l=e.previousPointsRef,o=n.points,u=n.isAnimationActive,c=n.animationBegin,h=n.animationDuration,m=n.animationEasing,v=n.animationMatchBy,p=n.animationInterpolateFn,x=n.layout,S=Vre(r.current),w=rte(n.onAnimationStart,n.onAnimationEnd),j=w.isAnimating,C=w.handleAnimationStart,A=w.handleAnimationEnd,N=!j,O=Sre(o),T=b.useCallback(R=>R>0&&S>0,[S]);return b.createElement(Qre,{points:o,showLabels:N},n.children,b.createElement(ite,{animationInput:o,animationIdPrefix:"recharts-line-",items:o,previousItemsRef:l,isAnimationActive:u,animationBegin:c,animationDuration:h,animationEasing:m,onAnimationStart:C,onAnimationEnd:A,animationInterpolateFn:p,animationMatchBy:v,shouldUpdatePreviousRef:T,layout:x},(R,E,D)=>{var k=j||E<1,I=k?O(E,S):null;return b.createElement(Zre,{props:n,points:R,clipPathId:t,pathRef:r,animationElapsedTime:E,isAnimating:k,isEntrance:D,visibleLength:I})}),b.createElement(Aee,{label:n.label}))}function Jre(e){var t=e.clipPathId,n=e.props,r=b.useRef(null),l=b.useRef(null);return b.createElement(Wre,{props:n,clipPathId:t,previousPointsRef:r,pathRef:l})}var eie=(e,t)=>{var n,r;return{x:(n=e.x)!==null&&n!==void 0?n:void 0,y:(r=e.y)!==null&&r!==void 0?r:void 0,value:e.value,errorVal:pn(e.payload,t)}};class tie extends b.Component{render(){var t=this.props,n=t.hide,r=t.dot,l=t.points,o=t.className,u=t.xAxisId,c=t.yAxisId,h=t.top,m=t.left,v=t.width,p=t.height,x=t.id,S=t.needClip,w=t.zIndex;if(n)return null;var j=Ct("recharts-line",o),C=x,A=Ire(r),N=A.r,O=A.strokeWidth,T=V3(r),R=N*2+O,E=S?"url(#clipPath-".concat(T?"":"dots-").concat(C,")"):void 0;return b.createElement(La,{zIndex:w},b.createElement(_a,{className:j},S&&b.createElement("defs",null,b.createElement(Tre,{clipPathId:C,xAxisId:u,yAxisId:c}),!T&&b.createElement("clipPath",{id:"clipPath-dots-".concat(C)},b.createElement("rect",{x:m-R/2,y:h-R/2,width:v+R,height:p+R}))),b.createElement(Nre,{xAxisId:u,yAxisId:c,data:l,dataPointFormatter:eie,errorBarOffset:0},b.createElement(Jre,{props:this.props,clipPathId:C}))),b.createElement(Zte,{activeDot:this.props.activeDot,points:l,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:E}))}}function nie(e){var t=Tr(e,sw),n=t.activeDot,r=t.animateNewValues,l=t.animationBegin,o=t.animationDuration,u=t.animationEasing,c=t.connectNulls,h=t.dot,m=t.hide,v=t.isAnimationActive,p=t.label,x=t.legendType,S=t.xAxisId,w=t.yAxisId,j=t.id,C=ow(t,Ure),A=rz(S,w),N=A.needClip,O=nw(),T=Yu(),R=fr(),E=ke(B=>kre(B,S,w,R,j));if(T!=="horizontal"&&T!=="vertical"||E==null||O==null)return null;var D=O.height,k=O.width,I=O.x,P=O.y;return b.createElement(tie,Av({},C,{id:j,connectNulls:c,dot:h,activeDot:n,animateNewValues:r,animationBegin:l,animationDuration:o,animationEasing:u,isAnimationActive:v,hide:m,label:p,legendType:x,xAxisId:S,yAxisId:w,points:E,layout:T,height:D,width:k,left:I,top:P,needClip:N}))}function rie(e){var t=e.layout,n=e.xAxis,r=e.yAxis,l=e.xAxisTicks,o=e.yAxisTicks,u=e.dataKey,c=e.bandSize,h=e.displayedData;return h.map((m,v)=>{var p=pn(m,u);if(t==="horizontal"){var x=OO({axis:n,ticks:l,bandSize:c,entry:m,index:v}),S=yn(p)?null:r.scale.map(p);return{x,y:S??null,value:p,payload:m}}var w=yn(p)?null:n.scale.map(p),j=OO({axis:r,ticks:o,bandSize:c,entry:m,index:v});return w==null||j==null?null:{x:w,y:j,value:p,payload:m}}).filter(Boolean)}function iie(e){var t=Tr(e,sw),n=fr();return b.createElement(mte,{id:t.id,type:"line"},r=>b.createElement(b.Fragment,null,b.createElement(Uee,{legendPayload:Kre(t)}),b.createElement(Yre,{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:r}),b.createElement(Ste,{type:"line",id:r,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),b.createElement(nie,Av({},t,{id:r}))))}var uw=b.memo(iie,rg);uw.displayName="Line";var aie=["domain","range"],lie=["domain","range"];function NT(e,t){if(e==null)return{};var n,r,l=oie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r{if(u!=null)return MT(MT({},o),{},{type:u})},[o,u]);return b.useLayoutEffect(()=>{c!=null&&(n.current===null?t(kte(c)):n.current!==c&&t(Ite({prev:n.current,next:c})),n.current=c)},[c,t]),b.useLayoutEffect(()=>()=>{n.current&&(t(zte(n.current)),n.current=null)},[t]),null}var gie=e=>{var t=e.xAxisId,n=e.className,r=e.height,l=e.label,o=b.useRef(null),u=b.useRef(null),c=ke(RP),h=fr(),m=Vt(),v="xAxis",p=ke(A=>QI(A,v,t,h)),x=ke(A=>DQ(A,t)),S=ke(A=>UQ(A,t)),w=ke(A=>mI(A,t));if(b.useLayoutEffect(()=>{if(!(r!=="auto"||!x||wg(l)||b.isValidElement(l)||w==null)){var A=o.current;if(A){var N=A.getCalculatedHeight();Math.round(x.height)!==Math.round(N)&&m(Hte({id:t,height:N}))}}},[p,x,m,l,t,r,w]),x==null||S==null||w==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var j=Mb(e,uie);w.id,w.scale;var C=Mb(w,cie);return b.createElement(iw,Rb({},j,C,{ref:o,labelRef:u,x:S.x,y:S.y,width:x.width,height:x.height,className:Ct("recharts-".concat(v," ").concat(v),n),viewBox:c,ticks:p,axisType:v,axisId:t}))},pie={allowDataOverflow:tn.allowDataOverflow,allowDecimals:tn.allowDecimals,allowDuplicatedCategory:tn.allowDuplicatedCategory,angle:tn.angle,axisLine:wa.axisLine,height:tn.height,hide:!1,includeHidden:tn.includeHidden,interval:tn.interval,label:!1,minTickGap:tn.minTickGap,mirror:tn.mirror,orientation:tn.orientation,padding:tn.padding,reversed:tn.reversed,scale:tn.scale,tick:tn.tick,tickCount:tn.tickCount,tickLine:wa.tickLine,tickSize:wa.tickSize,type:tn.type,niceTicks:tn.niceTicks,xAxisId:0},yie=e=>{var t=Tr(e,pie);return b.createElement(b.Fragment,null,b.createElement(vie,{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}),b.createElement(gie,t))},cw=b.memo(yie,sz);cw.displayName="XAxis";var xie=["type"],bie=["dangerouslySetInnerHTML","ticks","scale"],Sie=["id","scale"];function Db(){return Db=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(u!=null)return PT(PT({},o),{},{type:u})},[u,o]);return b.useLayoutEffect(()=>{c!=null&&(n.current===null?t(Lte(c)):n.current!==c&&t(Ute({prev:n.current,next:c})),n.current=c)},[c,t]),b.useLayoutEffect(()=>()=>{n.current&&(t($te(n.current)),n.current=null)},[t]),null}function Eie(e){var t=e.yAxisId,n=e.className,r=e.width,l=e.label,o=b.useRef(null),u=b.useRef(null),c=ke(RP),h=fr(),m=Vt(),v="yAxis",p=ke(A=>HQ(A,t)),x=ke(A=>BQ(A,t)),S=ke(A=>QI(A,v,t,h)),w=ke(A=>vI(A,t));if(b.useLayoutEffect(()=>{if(!(r!=="auto"||!p||wg(l)||b.isValidElement(l)||w==null)){var A=o.current;if(A){var N=A.getCalculatedWidth();Math.round(p.width)!==Math.round(N)&&m(Bte({id:t,width:N}))}}},[S,p,m,l,t,r,w]),p==null||x==null||w==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var j=Pb(e,bie);w.id,w.scale;var C=Pb(w,Sie);return b.createElement(iw,Db({},j,C,{ref:o,labelRef:u,x:x.x,y:x.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:p.width,height:p.height,className:Ct("recharts-".concat(v," ").concat(v),n),viewBox:c,ticks:S,axisType:v,axisId:t}))}var Oie={allowDataOverflow:nn.allowDataOverflow,allowDecimals:nn.allowDecimals,allowDuplicatedCategory:nn.allowDuplicatedCategory,angle:nn.angle,axisLine:wa.axisLine,hide:!1,includeHidden:nn.includeHidden,interval:nn.interval,label:!1,minTickGap:nn.minTickGap,mirror:nn.mirror,orientation:nn.orientation,padding:nn.padding,reversed:nn.reversed,scale:nn.scale,tick:nn.tick,tickCount:nn.tickCount,tickLine:wa.tickLine,tickSize:wa.tickSize,type:nn.type,niceTicks:nn.niceTicks,width:nn.width,yAxisId:0},Nie=e=>{var t=Tr(e,Oie);return b.createElement(b.Fragment,null,b.createElement(Aie,{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}),b.createElement(Eie,t))},fw=b.memo(Nie,sz);fw.displayName="YAxis";var Tie=(e,t)=>t,dw=W([Tie,It,pk,bn,v3,za,fW,Pn],yW);function Rie(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function hw(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(Rie(e)){var l=e.currentTarget.getBBox();n=l.width>0?t.width/l.width:1,r=l.height>0?t.height/l.height:1}else{var o=e.currentTarget;n=o.offsetWidth>0?t.width/o.offsetWidth:1,r=o.offsetHeight>0?t.height/o.offsetHeight:1}var u=(c,h)=>({relativeX:Math.round((c-t.left)/n),relativeY:Math.round((h-t.top)/r)});return"touches"in e?Array.from(e.touches).map(c=>u(c.clientX,c.clientY)):u(e.clientX,e.clientY)}var uz=Er("mouseClick"),cz=ed();cz.startListening({actionCreator:uz,effect:(e,t)=>{var n=e.payload,r=dw(t.getState(),hw(n));(r==null?void 0:r.activeIndex)!=null&&t.dispatch(rZ({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var kb=Er("mouseMove"),fz=ed(),nu=null,vo=null,l0=null;fz.startListening({actionCreator:kb,effect:(e,t)=>{var n=e.payload,r=t.getState(),l=r.eventSettings,o=l.throttleDelay,u=l.throttledEvents,c=u==="all"||(u==null?void 0:u.includes("mousemove"));nu!==null&&(cancelAnimationFrame(nu),nu=null),vo!==null&&(typeof o!="number"||!c)&&(clearTimeout(vo),vo=null),l0=hw(n);var h=()=>{var m=t.getState(),v=md(m,m.tooltip.settings.shared);if(!l0){nu=null,vo=null;return}if(v==="axis"){var p=dw(m,l0);(p==null?void 0:p.activeIndex)!=null?t.dispatch(a3({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate})):t.dispatch(i3())}nu=null,vo=null};if(!c){h();return}o==="raf"?nu=requestAnimationFrame(h):typeof o=="number"&&vo===null&&(vo=setTimeout(h,o))}});function Mie(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var kT={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},dz=Hn({name:"rootProps",initialState:kT,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(n=t.payload.barGap)!==null&&n!==void 0?n:kT.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}}}),Die=dz.reducer,Pie=dz.actions.updateOptions,kie=null,Iie={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)},hz=Hn({name:"polarOptions",initialState:kie,reducers:Iie});hz.actions.updatePolarOptions;var zie=hz.reducer,mz=Er("keyDown"),vz=Er("focus"),gz=Er("blur"),Cg=ed(),ru=null,go=null,gm=null;Cg.startListening({actionCreator:mz,effect:(e,t)=>{gm=e.payload,ru!==null&&(cancelAnimationFrame(ru),ru=null);var n=t.getState(),r=n.eventSettings,l=r.throttleDelay,o=r.throttledEvents,u=o==="all"||o.includes("keydown");go!==null&&(typeof l!="number"||!u)&&(clearTimeout(go),go=null);var c=()=>{try{var h=t.getState(),m=h.rootProps.accessibilityLayer!==!1;if(!m)return;var v=h.tooltip.keyboardInteraction,p=gm;if(p!=="ArrowRight"&&p!=="ArrowLeft"&&p!=="Enter")return;var x=Cf(v,Xo(h),$u(h),Bu(h)),S=x==null?-1:Number(x),w=!Number.isFinite(S)||S<0,j=za(h),C=Xo(h),A=md(h,h.tooltip.settings.shared);if(p==="Enter"){if(w)return;var N=Sv(h,A,"hover",String(v.index));t.dispatch(bv({active:!v.active,activeIndex:v.index,activeCoordinate:N}));return}var O=KQ(h),T=O==="left-to-right"?1:-1,R=p==="ArrowRight"?1:-1,E;if(w){var D=$u(h),k=Bu(h),I=R*T,P=de=>({active:!1,index:String(de),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(E=-1,I>0){for(var B=0;B=0;F--)if(Cf(P(F),C,D,k)!=null){E=F;break}if(E<0)return}else{E=S+R*T;var se=(j==null?void 0:j.length)||C.length;if(se===0||E>=se||E<0)return}var ue=Sv(h,A,"hover",String(E));t.dispatch(bv({active:!0,activeIndex:E.toString(),activeCoordinate:ue}))}finally{ru=null,go=null}};if(!u){c();return}l==="raf"?ru=requestAnimationFrame(c):typeof l=="number"&&go===null&&(c(),gm=null,go=setTimeout(()=>{gm?c():(go=null,ru=null)},l))}});Cg.startListening({actionCreator:vz,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var l=n.tooltip.keyboardInteraction;if(!l.active&&l.index==null){var o="0",u=md(n,n.tooltip.settings.shared),c=Sv(n,u,"hover",String(o));t.dispatch(bv({active:!0,activeIndex:o,activeCoordinate:c}))}}}});Cg.startListening({actionCreator:gz,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var l=n.tooltip.keyboardInteraction;l.active&&t.dispatch(bv({active:!1,activeIndex:l.index,activeCoordinate:l.coordinate}))}}});function pz(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(n,r)=>{if(r==="currentTarget")return t;var l=Reflect.get(n,r);return typeof l=="function"?l.bind(n):l}})}var Br=Er("externalEvent"),yz=ed(),pm=new Map,hf=new Map,o0=new Map;yz.startListening({actionCreator:Br,effect:(e,t)=>{var n=e.payload,r=n.handler,l=n.reactEvent;if(r!=null){var o=l.type,u=pz(l);o0.set(o,{handler:r,reactEvent:u});var c=pm.get(o);c!==void 0&&(cancelAnimationFrame(c),pm.delete(o));var h=t.getState(),m=h.eventSettings,v=m.throttleDelay,p=m.throttledEvents,x=p,S=x==="all"||(x==null?void 0:x.includes(o)),w=hf.get(o);w!==void 0&&(typeof v!="number"||!S)&&(clearTimeout(w),hf.delete(o));var j=()=>{var N=o0.get(o);try{if(!N)return;var O=N.handler,T=N.reactEvent,R=t.getState(),E={activeCoordinate:XZ(R),activeDataKey:qZ(R),activeIndex:$f(R),activeLabel:y3(R),activeTooltipIndex:$f(R),isTooltipActive:QZ(R)};O&&O(E,T)}finally{pm.delete(o),hf.delete(o),o0.delete(o)}};if(!S){j();return}if(v==="raf"){var C=requestAnimationFrame(j);pm.set(o,C)}else if(typeof v=="number"){if(!hf.has(o)){j();var A=setTimeout(j,v);hf.set(o,A)}}else j()}}});var Lie=W([rc],e=>e.tooltipItemPayloads),Uie=W([Lie,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(o=>o.settings.graphicalItemId===n);if(r!=null){var l=r.getPosition;if(l!=null)return l(t)}}}),xz=Er("touchMove"),bz=ed(),po=null,vl=null,IT=null,mf=null;bz.startListening({actionCreator:xz,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){mf=pz(n);var r=t.getState(),l=r.eventSettings,o=l.throttleDelay,u=l.throttledEvents,c=u==="all"||u.includes("touchmove");po!==null&&(cancelAnimationFrame(po),po=null),vl!==null&&(typeof o!="number"||!c)&&(clearTimeout(vl),vl=null),IT=Array.from(n.touches).map(m=>hw({clientX:m.clientX,clientY:m.clientY,currentTarget:n.currentTarget}));var h=()=>{if(mf!=null){var m=t.getState(),v=md(m,m.tooltip.settings.shared);if(v==="axis"){var p,x=(p=IT)===null||p===void 0?void 0:p[0];if(x==null){po=null,vl=null;return}var S=dw(m,x);(S==null?void 0:S.activeIndex)!=null&&t.dispatch(a3({activeIndex:S.activeIndex,activeDataKey:void 0,activeCoordinate:S.activeCoordinate}))}else if(v==="item"){var w,j=mf.touches[0];if(document.elementFromPoint==null||j==null)return;var C=document.elementFromPoint(j.clientX,j.clientY);if(!C||!C.getAttribute)return;var A=C.getAttribute(P9),N=(w=C.getAttribute(k9))!==null&&w!==void 0?w:void 0,O=rs(m).find(E=>E.id===N);if(A==null||O==null||N==null)return;var T=O.dataKey,R=Uie(m,A,N);t.dispatch(nZ({activeDataKey:T,activeIndex:A,activeCoordinate:R,activeGraphicalItemId:N}))}po=null,vl=null}};if(!c){h();return}o==="raf"?po=requestAnimationFrame(h):typeof o=="number"&&vl===null&&(h(),mf=null,vl=setTimeout(()=>{mf?h():(vl=null,po=null)},o))}}});var Sz={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},wz=Hn({name:"eventSettings",initialState:Sz,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=rt(t.payload.throttledEvents))}}}),$ie=wz.actions.setEventSettings,Bie=wz.reducer,Hie=JD({brush:Jte,cartesianAxis:Fte,chartData:XW,errorBars:jre,eventSettings:Bie,graphicalItems:xte,layout:x9,legend:bG,options:VW,polarAxis:Oee,polarOptions:zie,referenceElements:rne,renderedTicks:Nne,rootProps:Die,tooltip:iZ,zIndex:RW}),Fie=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return VV({reducer:Hie,preloadedState:t,middleware:r=>{var l;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((l="es6")!==null&&l!==void 0?l:"")}).concat([cz.middleware,fz.middleware,Cg.middleware,yz.middleware,bz.middleware])},enhancers:r=>{var l=r;return typeof r=="function"&&(l=r()),l.concat(mP({type:"raf"}))},devTools:{serialize:{replacer:Mie},name:"recharts-".concat(n)}})};function Vie(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,l=fr(),o=b.useRef(null);if(l)return n;o.current==null&&(o.current=Fie(t,r));var u=BS;return b.createElement(kG,{context:u,store:o.current},n)}function Gie(e){var t=e.layout,n=e.margin,r=Vt(),l=fr();return b.useEffect(()=>{l||(r(g9(t)),r(v9(n)))},[r,l,t,n]),null}var qie=b.memo(Gie,rg);function Kie(e){var t=Vt();return b.useEffect(()=>{t(Pie(e))},[t,e]),null}var Yie=e=>{var t=Vt();return b.useEffect(()=>{t($ie(e))},[t,e]),null},Xie=b.memo(Yie,rg);function zT(e){var t=e.zIndex,n=e.isPanorama,r=b.useRef(null),l=Vt();return b.useLayoutEffect(()=>(r.current&&l(NW({zIndex:t,element:r.current,isPanorama:n})),()=>{l(TW({zIndex:t,isPanorama:n}))}),[l,t,n]),b.createElement("g",{tabIndex:-1,ref:r,className:"recharts-zIndex-layer_".concat(t)})}function LT(e){var t=e.children,n=e.isPanorama,r=ke(bW);if(!r||r.length===0)return t;var l=r.filter(u=>u<0),o=r.filter(u=>u>0);return b.createElement(b.Fragment,null,l.map(u=>b.createElement(zT,{key:u,zIndex:u,isPanorama:n})),t,o.map(u=>b.createElement(zT,{key:u,zIndex:u,isPanorama:n})))}var Qie=["children"];function Zie(e,t){if(e==null)return{};var n,r,l=Wie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r{var n=zP(),r=LP(),l=FP();if(!Fi(n)||!Fi(r))return null;var o=e.children,u=e.otherAttributes,c=e.title,h=e.desc,m,v;return u!=null&&(typeof u.tabIndex=="number"?m=u.tabIndex:m=l?0:void 0,typeof u.role=="string"?v=u.role:v=l?"application":void 0),b.createElement(JM,Ev({},u,{title:c,desc:h,role:v,tabIndex:m,width:n,height:r,style:Jie,ref:t}),o)}),tae=e=>{var t=e.children,n=ke(tg);if(!n)return null;var r=n.width,l=n.height,o=n.y,u=n.x;return b.createElement(JM,{width:r,height:l,x:u,y:o},t)},UT=b.forwardRef((e,t)=>{var n=e.children,r=Zie(e,Qie),l=fr();return l?b.createElement(tae,null,b.createElement(LT,{isPanorama:!0},n)):b.createElement(eae,Ev({ref:t},r),b.createElement(LT,{isPanorama:!1},n))});function nae(e,t){return lae(e)||aae(e,t)||iae(e,t)||rae()}function rae(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iae(e,t){if(e){if(typeof e=="string")return $T(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)?$T(e,t):void 0}}function $T(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{if(r!=null){var u=r.getBoundingClientRect(),c=u.width/r.offsetWidth;it(c)&&c!==o&&e(y9(c))}},[r,e,o]),l}function BT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function sae(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n(iJ(),null);function Nv(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var pae=b.forwardRef((e,t)=>{var n,r,l=b.useRef(null),o=b.useState({containerWidth:Nv((n=e.style)===null||n===void 0?void 0:n.width),containerHeight:Nv((r=e.style)===null||r===void 0?void 0:r.height)}),u=Ov(o,2),c=u[0],h=u[1],m=b.useCallback((p,x)=>{h(S=>{var w=Math.round(p),j=Math.round(x);return S.containerWidth===w&&S.containerHeight===j?S:{containerWidth:w,containerHeight:j}})},[]),v=b.useCallback(p=>{if(typeof t=="function"&&t(p),l.current!=null&&(l.current.disconnect(),l.current=null),p!=null&&typeof ResizeObserver<"u"){var x=p.getBoundingClientRect(),S=x.width,w=x.height;m(S,w);var j=A=>{var N=A[0];if(N!=null){var O=N.contentRect,T=O.width,R=O.height;m(T,R)}},C=new ResizeObserver(j);C.observe(p),l.current=C}},[t,m]);return b.useEffect(()=>()=>{var p=l.current;p!=null&&p.disconnect()},[m]),b.createElement(b.Fragment,null,b.createElement(nd,{width:c.containerWidth,height:c.containerHeight}),b.createElement("div",Rl({ref:v},e)))}),yae=b.forwardRef((e,t)=>{var n=e.width,r=e.height,l=b.useState({containerWidth:Nv(n),containerHeight:Nv(r)}),o=Ov(l,2),u=o[0],c=o[1],h=b.useCallback((v,p)=>{c(x=>{var S=Math.round(v),w=Math.round(p);return x.containerWidth===S&&x.containerHeight===w?x:{containerWidth:S,containerHeight:w}})},[]),m=b.useCallback(v=>{if(typeof t=="function"&&t(v),v!=null){var p=v.getBoundingClientRect(),x=p.width,S=p.height;h(x,S)}},[t,h]);return b.createElement(b.Fragment,null,b.createElement(nd,{width:u.containerWidth,height:u.containerHeight}),b.createElement("div",Rl({ref:m},e)))}),xae=b.forwardRef((e,t)=>{var n=e.width,r=e.height;return b.createElement(b.Fragment,null,b.createElement(nd,{width:n,height:r}),b.createElement("div",Rl({ref:t},e)))}),bae=b.forwardRef((e,t)=>{var n=e.width,r=e.height;return typeof n=="string"||typeof r=="string"?b.createElement(yae,Rl({},e,{ref:t})):typeof n=="number"&&typeof r=="number"?b.createElement(xae,Rl({},e,{width:n,height:r,ref:t})):b.createElement(b.Fragment,null,b.createElement(nd,{width:n,height:r}),b.createElement("div",Rl({ref:t},e)))});function Sae(e){return e?pae:bae}var wae=b.forwardRef((e,t)=>{var n=e.children,r=e.className,l=e.height,o=e.onClick,u=e.onContextMenu,c=e.onDoubleClick,h=e.onMouseDown,m=e.onMouseEnter,v=e.onMouseLeave,p=e.onMouseMove,x=e.onMouseUp,S=e.onTouchEnd,w=e.onTouchMove,j=e.onTouchStart,C=e.style,A=e.width,N=e.responsive,O=e.dispatchTouchEvents,T=O===void 0?!0:O,R=b.useRef(null),E=Vt(),D=b.useState(null),k=Ov(D,2),I=k[0],P=k[1],B=b.useState(null),F=Ov(B,2),se=F[0],ue=F[1],de=oae(),G=QS(),ne=(G==null?void 0:G.width)>0?G.width:A,ie=(G==null?void 0:G.height)>0?G.height:l,ce=b.useCallback(Pe=>{de(Pe),typeof t=="function"&&t(Pe),P(Pe),ue(Pe),Pe!=null&&(R.current=Pe)},[de,t,P,ue]),U=b.useCallback(Pe=>{E(uz(Pe)),E(Br({handler:o,reactEvent:Pe}))},[E,o]),Ee=b.useCallback(Pe=>{E(kb(Pe)),E(Br({handler:m,reactEvent:Pe}))},[E,m]),ee=b.useCallback(Pe=>{E(i3()),E(Br({handler:v,reactEvent:Pe}))},[E,v]),ve=b.useCallback(Pe=>{E(kb(Pe)),E(Br({handler:p,reactEvent:Pe}))},[E,p]),z=b.useCallback(()=>{E(vz())},[E]),Y=b.useCallback(()=>{E(gz())},[E]),le=b.useCallback(Pe=>{E(mz(Pe.key))},[E]),fe=b.useCallback(Pe=>{E(Br({handler:u,reactEvent:Pe}))},[E,u]),De=b.useCallback(Pe=>{E(Br({handler:c,reactEvent:Pe}))},[E,c]),te=b.useCallback(Pe=>{E(Br({handler:h,reactEvent:Pe}))},[E,h]),ge=b.useCallback(Pe=>{E(Br({handler:x,reactEvent:Pe}))},[E,x]),oe=b.useCallback(Pe=>{E(Br({handler:j,reactEvent:Pe}))},[E,j]),J=b.useCallback(Pe=>{T&&E(xz(Pe)),E(Br({handler:w,reactEvent:Pe}))},[E,T,w]),ut=b.useCallback(Pe=>{E(Br({handler:S,reactEvent:Pe}))},[E,S]),Ke=Sae(N);return b.createElement(_3.Provider,{value:I},b.createElement(BH.Provider,{value:se},b.createElement(Ke,{width:ne??(C==null?void 0:C.width),height:ie??(C==null?void 0:C.height),className:Ct("recharts-wrapper",r),style:sae({position:"relative",cursor:"default",width:ne,height:ie},C),onClick:U,onContextMenu:fe,onDoubleClick:De,onFocus:z,onBlur:Y,onKeyDown:le,onMouseDown:te,onMouseEnter:Ee,onMouseLeave:ee,onMouseMove:ve,onMouseUp:ge,onTouchEnd:ut,onTouchMove:J,onTouchStart:oe,ref:ce},b.createElement(gae,null),n)))}),jae=["width","height","responsive","children","className","style","compact","title","desc"];function Cae(e,t){if(e==null)return{};var n,r,l=_ae(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r{var n=e.width,r=e.height,l=e.responsive,o=e.children,u=e.className,c=e.style,h=e.compact,m=e.title,v=e.desc,p=Cae(e,jae),x=Bi(p);return h?b.createElement(b.Fragment,null,b.createElement(nd,{width:n,height:r}),b.createElement(UT,{otherAttributes:x,title:m,desc:v},o)):b.createElement(wae,{className:u,style:c,width:n,height:r,responsive:l??!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},b.createElement(UT,{otherAttributes:x,title:m,desc:v,ref:t},b.createElement(cne,null,o)))});function Ib(){return Ib=Object.assign?Object.assign.bind():function(e){for(var t=1;tb.createElement(Dae,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Pae,tooltipPayloadSearcher:HW,categoricalChartProps:e,ref:t}));/** - * table-core - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Nl(e,t){return typeof e=="function"?e(t):e}function Or(e,t){return n=>{t.setState(r=>({...r,[e]:Nl(n,r[e])}))}}function _g(e){return e instanceof Function}function kae(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function Iae(e,t){const n=[],r=l=>{l.forEach(o=>{n.push(o);const u=t(o);u!=null&&u.length&&r(u)})};return r(e),n}function Le(e,t,n){let r=[],l;return o=>{let u;n.key&&n.debug&&(u=Date.now());const c=e(o);if(!(c.length!==r.length||c.some((v,p)=>r[p]!==v)))return l;r=c;let m;if(n.key&&n.debug&&(m=Date.now()),l=t(...c),n==null||n.onChange==null||n.onChange(l),n.key&&n.debug&&n!=null&&n.debug()){const v=Math.round((Date.now()-u)*100)/100,p=Math.round((Date.now()-m)*100)/100,x=p/16,S=(w,j)=>{for(w=String(w);w.length{var l;return(l=e==null?void 0:e.debugAll)!=null?l:e[t]},key:!1,onChange:r}}function zae(e,t,n,r){const l=()=>{var u;return(u=o.getValue())!=null?u:e.options.renderFallbackValue},o={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:l,getContext:Le(()=>[e,n,t,o],(u,c,h,m)=>({table:u,column:c,row:h,cell:m,getValue:m.getValue,renderValue:m.renderValue}),Ue(e.options,"debugCells"))};return e._features.forEach(u=>{u.createCell==null||u.createCell(o,n,t,e)},{}),o}function Lae(e,t,n,r){var l,o;const c={...e._getDefaultColumnDef(),...t},h=c.accessorKey;let m=(l=(o=c.id)!=null?o:h?typeof String.prototype.replaceAll=="function"?h.replaceAll(".","_"):h.replace(/\./g,"_"):void 0)!=null?l:typeof c.header=="string"?c.header:void 0,v;if(c.accessorFn?v=c.accessorFn:h&&(h.includes(".")?v=x=>{let S=x;for(const j of h.split(".")){var w;S=(w=S)==null?void 0:w[j]}return S}:v=x=>x[c.accessorKey]),!m)throw new Error;let p={id:`${String(m)}`,accessorFn:v,parent:r,depth:n,columnDef:c,columns:[],getFlatColumns:Le(()=>[!0],()=>{var x;return[p,...(x=p.columns)==null?void 0:x.flatMap(S=>S.getFlatColumns())]},Ue(e.options,"debugColumns")),getLeafColumns:Le(()=>[e._getOrderColumnsFn()],x=>{var S;if((S=p.columns)!=null&&S.length){let w=p.columns.flatMap(j=>j.getLeafColumns());return x(w)}return[p]},Ue(e.options,"debugColumns"))};for(const x of e._features)x.createColumn==null||x.createColumn(p,e);return p}const In="debugHeaders";function VT(e,t,n){var r;let o={id:(r=n.id)!=null?r:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],c=h=>{h.subHeaders&&h.subHeaders.length&&h.subHeaders.map(c),u.push(h)};return c(o),u},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(u=>{u.createHeader==null||u.createHeader(o,e)}),o}const Uae={createTable:e=>{e.getHeaderGroups=Le(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,l)=>{var o,u;const c=(o=r==null?void 0:r.map(p=>n.find(x=>x.id===p)).filter(Boolean))!=null?o:[],h=(u=l==null?void 0:l.map(p=>n.find(x=>x.id===p)).filter(Boolean))!=null?u:[],m=n.filter(p=>!(r!=null&&r.includes(p.id))&&!(l!=null&&l.includes(p.id)));return ym(t,[...c,...m,...h],e)},Ue(e.options,In)),e.getCenterHeaderGroups=Le(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,l)=>(n=n.filter(o=>!(r!=null&&r.includes(o.id))&&!(l!=null&&l.includes(o.id))),ym(t,n,e,"center")),Ue(e.options,In)),e.getLeftHeaderGroups=Le(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var l;const o=(l=r==null?void 0:r.map(u=>n.find(c=>c.id===u)).filter(Boolean))!=null?l:[];return ym(t,o,e,"left")},Ue(e.options,In)),e.getRightHeaderGroups=Le(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var l;const o=(l=r==null?void 0:r.map(u=>n.find(c=>c.id===u)).filter(Boolean))!=null?l:[];return ym(t,o,e,"right")},Ue(e.options,In)),e.getFooterGroups=Le(()=>[e.getHeaderGroups()],t=>[...t].reverse(),Ue(e.options,In)),e.getLeftFooterGroups=Le(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),Ue(e.options,In)),e.getCenterFooterGroups=Le(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),Ue(e.options,In)),e.getRightFooterGroups=Le(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),Ue(e.options,In)),e.getFlatHeaders=Le(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),Ue(e.options,In)),e.getLeftFlatHeaders=Le(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),Ue(e.options,In)),e.getCenterFlatHeaders=Le(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),Ue(e.options,In)),e.getRightFlatHeaders=Le(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),Ue(e.options,In)),e.getCenterLeafHeaders=Le(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),Ue(e.options,In)),e.getLeftLeafHeaders=Le(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),Ue(e.options,In)),e.getRightLeafHeaders=Le(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),Ue(e.options,In)),e.getLeafHeaders=Le(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var l,o,u,c,h,m;return[...(l=(o=t[0])==null?void 0:o.headers)!=null?l:[],...(u=(c=n[0])==null?void 0:c.headers)!=null?u:[],...(h=(m=r[0])==null?void 0:m.headers)!=null?h:[]].map(v=>v.getLeafHeaders()).flat()},Ue(e.options,In))}};function ym(e,t,n,r){var l,o;let u=0;const c=function(x,S){S===void 0&&(S=1),u=Math.max(u,S),x.filter(w=>w.getIsVisible()).forEach(w=>{var j;(j=w.columns)!=null&&j.length&&c(w.columns,S+1)},0)};c(e);let h=[];const m=(x,S)=>{const w={depth:S,id:[r,`${S}`].filter(Boolean).join("_"),headers:[]},j=[];x.forEach(C=>{const A=[...j].reverse()[0],N=C.column.depth===w.depth;let O,T=!1;if(N&&C.column.parent?O=C.column.parent:(O=C.column,T=!0),A&&(A==null?void 0:A.column)===O)A.subHeaders.push(C);else{const R=VT(n,O,{id:[r,S,O.id,C==null?void 0:C.id].filter(Boolean).join("_"),isPlaceholder:T,placeholderId:T?`${j.filter(E=>E.column===O).length}`:void 0,depth:S,index:j.length});R.subHeaders.push(C),j.push(R)}w.headers.push(C),C.headerGroup=w}),h.push(w),S>0&&m(j,S-1)},v=t.map((x,S)=>VT(n,x,{depth:u,index:S}));m(v,u-1),h.reverse();const p=x=>x.filter(w=>w.column.getIsVisible()).map(w=>{let j=0,C=0,A=[0];w.subHeaders&&w.subHeaders.length?(A=[],p(w.subHeaders).forEach(O=>{let{colSpan:T,rowSpan:R}=O;j+=T,A.push(R)})):j=1;const N=Math.min(...A);return C=C+N,w.colSpan=j,w.rowSpan=C,{colSpan:j,rowSpan:C}});return p((l=(o=h[0])==null?void 0:o.headers)!=null?l:[]),h}const mw=(e,t,n,r,l,o,u)=>{let c={id:t,index:r,original:n,depth:l,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:h=>{if(c._valuesCache.hasOwnProperty(h))return c._valuesCache[h];const m=e.getColumn(h);if(m!=null&&m.accessorFn)return c._valuesCache[h]=m.accessorFn(c.original,r),c._valuesCache[h]},getUniqueValues:h=>{if(c._uniqueValuesCache.hasOwnProperty(h))return c._uniqueValuesCache[h];const m=e.getColumn(h);if(m!=null&&m.accessorFn)return m.columnDef.getUniqueValues?(c._uniqueValuesCache[h]=m.columnDef.getUniqueValues(c.original,r),c._uniqueValuesCache[h]):(c._uniqueValuesCache[h]=[c.getValue(h)],c._uniqueValuesCache[h])},renderValue:h=>{var m;return(m=c.getValue(h))!=null?m:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>Iae(c.subRows,h=>h.subRows),getParentRow:()=>c.parentId?e.getRow(c.parentId,!0):void 0,getParentRows:()=>{let h=[],m=c;for(;;){const v=m.getParentRow();if(!v)break;h.push(v),m=v}return h.reverse()},getAllCells:Le(()=>[e.getAllLeafColumns()],h=>h.map(m=>zae(e,c,m,m.id)),Ue(e.options,"debugRows")),_getAllCellsByColumnId:Le(()=>[c.getAllCells()],h=>h.reduce((m,v)=>(m[v.column.id]=v,m),{}),Ue(e.options,"debugRows"))};for(let h=0;h{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},Cz=(e,t,n)=>{var r,l;const o=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((l=e.getValue(t))==null||(l=l.toString())==null||(l=l.toLowerCase())==null)&&l.includes(o))};Cz.autoRemove=e=>ci(e);const _z=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};_z.autoRemove=e=>ci(e);const Az=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===(n==null?void 0:n.toLowerCase())};Az.autoRemove=e=>ci(e);const Ez=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};Ez.autoRemove=e=>ci(e);const Oz=(e,t,n)=>!n.some(r=>{var l;return!((l=e.getValue(t))!=null&&l.includes(r))});Oz.autoRemove=e=>ci(e)||!(e!=null&&e.length);const Nz=(e,t,n)=>n.some(r=>{var l;return(l=e.getValue(t))==null?void 0:l.includes(r)});Nz.autoRemove=e=>ci(e)||!(e!=null&&e.length);const Tz=(e,t,n)=>e.getValue(t)===n;Tz.autoRemove=e=>ci(e);const Rz=(e,t,n)=>e.getValue(t)==n;Rz.autoRemove=e=>ci(e);const vw=(e,t,n)=>{let[r,l]=n;const o=e.getValue(t);return o>=r&&o<=l};vw.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,l=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(r)?-1/0:r,u=n===null||Number.isNaN(l)?1/0:l;if(o>u){const c=o;o=u,u=c}return[o,u]};vw.autoRemove=e=>ci(e)||ci(e[0])&&ci(e[1]);const ca={includesString:Cz,includesStringSensitive:_z,equalsString:Az,arrIncludes:Ez,arrIncludesAll:Oz,arrIncludesSome:Nz,equals:Tz,weakEquals:Rz,inNumberRange:vw};function ci(e){return e==null||e===""}const Bae={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Or("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n==null?void 0:n.getValue(e.id);return typeof r=="string"?ca.includesString:typeof r=="number"?ca.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?ca.equals:Array.isArray(r)?ca.arrIncludes:ca.weakEquals},e.getFilterFn=()=>{var n,r;return _g(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(r=t.options.filterFns)==null?void 0:r[e.columnDef.filterFn])!=null?n:ca[e.columnDef.filterFn]},e.getCanFilter=()=>{var n,r,l;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((r=t.options.enableColumnFilters)!=null?r:!0)&&((l=t.options.enableFilters)!=null?l:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(r=>r.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>{var n,r;return(n=(r=t.getState().columnFilters)==null?void 0:r.findIndex(l=>l.id===e.id))!=null?n:-1},e.setFilterValue=n=>{t.setColumnFilters(r=>{const l=e.getFilterFn(),o=r==null?void 0:r.find(v=>v.id===e.id),u=Nl(n,o?o.value:void 0);if(GT(l,u,e)){var c;return(c=r==null?void 0:r.filter(v=>v.id!==e.id))!=null?c:[]}const h={id:e.id,value:u};if(o){var m;return(m=r==null?void 0:r.map(v=>v.id===e.id?h:v))!=null?m:[]}return r!=null&&r.length?[...r,h]:[h]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{const n=e.getAllLeafColumns(),r=l=>{var o;return(o=Nl(t,l))==null?void 0:o.filter(u=>{const c=n.find(h=>h.id===u.id);if(c){const h=c.getFilterFn();if(GT(h,u.value,c))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},e.resetColumnFilters=t=>{var n,r;e.setColumnFilters(t?[]:(n=(r=e.initialState)==null?void 0:r.columnFilters)!=null?n:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function GT(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const Hae=(e,t,n)=>n.reduce((r,l)=>{const o=l.getValue(e);return r+(typeof o=="number"?o:0)},0),Fae=(e,t,n)=>{let r;return n.forEach(l=>{const o=l.getValue(e);o!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}),r},Vae=(e,t,n)=>{let r;return n.forEach(l=>{const o=l.getValue(e);o!=null&&(r=o)&&(r=o)}),r},Gae=(e,t,n)=>{let r,l;return n.forEach(o=>{const u=o.getValue(e);u!=null&&(r===void 0?u>=u&&(r=l=u):(r>u&&(r=u),l{let n=0,r=0;if(t.forEach(l=>{let o=l.getValue(e);o!=null&&(o=+o)>=o&&(++n,r+=o)}),n)return r/n},Kae=(e,t)=>{if(!t.length)return;const n=t.map(o=>o.getValue(e));if(!kae(n))return;if(n.length===1)return n[0];const r=Math.floor(n.length/2),l=n.sort((o,u)=>o-u);return n.length%2!==0?l[r]:(l[r-1]+l[r])/2},Yae=(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),Xae=(e,t)=>new Set(t.map(n=>n.getValue(e))).size,Qae=(e,t)=>t.length,s0={sum:Hae,min:Fae,max:Vae,extent:Gae,mean:qae,median:Kae,unique:Yae,uniqueCount:Xae,count:Qae},Zae={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Or("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(n=>n!=null&&n.includes(e.id)?n.filter(r=>r!==e.id):[...n??[],e.id])},e.getCanGroup=()=>{var n,r;return((n=e.columnDef.enableGrouping)!=null?n:!0)&&((r=t.options.enableGrouping)!=null?r:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},e.getGroupedIndex=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const n=e.getCanGroup();return()=>{n&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n==null?void 0:n.getValue(e.id);if(typeof r=="number")return s0.sum;if(Object.prototype.toString.call(r)==="[object Date]")return s0.extent},e.getAggregationFn=()=>{var n,r;if(!e)throw new Error;return _g(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(r=t.options.aggregationFns)==null?void 0:r[e.columnDef.aggregationFn])!=null?n:s0[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var n,r;e.setGrouping(t?[]:(n=(r=e.initialState)==null?void 0:r.grouping)!=null?n:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];const r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var l;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((l=n.subRows)!=null&&l.length)}}};function Wae(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(o=>!t.includes(o.id));return n==="remove"?r:[...t.map(o=>e.find(u=>u.id===o)).filter(Boolean),...r]}const Jae={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Or("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=Le(n=>[Ef(t,n)],n=>n.findIndex(r=>r.id===e.id),Ue(t.options,"debugColumns")),e.getIsFirstColumn=n=>{var r;return((r=Ef(t,n)[0])==null?void 0:r.id)===e.id},e.getIsLastColumn=n=>{var r;const l=Ef(t,n);return((r=l[l.length-1])==null?void 0:r.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},e._getOrderColumnsFn=Le(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>l=>{let o=[];if(!(t!=null&&t.length))o=l;else{const u=[...t],c=[...l];for(;c.length&&u.length;){const h=u.shift(),m=c.findIndex(v=>v.id===h);m>-1&&o.push(c.splice(m,1)[0])}o=[...o,...c]}return Wae(o,n,r)},Ue(e.options,"debugTable"))}},u0=()=>({left:[],right:[]}),ele={getInitialState:e=>({columnPinning:u0(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Or("columnPinning",e)}),createColumn:(e,t)=>{e.pin=n=>{const r=e.getLeafColumns().map(l=>l.id).filter(Boolean);t.setColumnPinning(l=>{var o,u;if(n==="right"){var c,h;return{left:((c=l==null?void 0:l.left)!=null?c:[]).filter(p=>!(r!=null&&r.includes(p))),right:[...((h=l==null?void 0:l.right)!=null?h:[]).filter(p=>!(r!=null&&r.includes(p))),...r]}}if(n==="left"){var m,v;return{left:[...((m=l==null?void 0:l.left)!=null?m:[]).filter(p=>!(r!=null&&r.includes(p))),...r],right:((v=l==null?void 0:l.right)!=null?v:[]).filter(p=>!(r!=null&&r.includes(p)))}}return{left:((o=l==null?void 0:l.left)!=null?o:[]).filter(p=>!(r!=null&&r.includes(p))),right:((u=l==null?void 0:l.right)!=null?u:[]).filter(p=>!(r!=null&&r.includes(p)))}})},e.getCanPin=()=>e.getLeafColumns().some(r=>{var l,o,u;return((l=r.columnDef.enablePinning)!=null?l:!0)&&((o=(u=t.options.enableColumnPinning)!=null?u:t.options.enablePinning)!=null?o:!0)}),e.getIsPinned=()=>{const n=e.getLeafColumns().map(c=>c.id),{left:r,right:l}=t.getState().columnPinning,o=n.some(c=>r==null?void 0:r.includes(c)),u=n.some(c=>l==null?void 0:l.includes(c));return o?"left":u?"right":!1},e.getPinnedIndex=()=>{var n,r;const l=e.getIsPinned();return l?(n=(r=t.getState().columnPinning)==null||(r=r[l])==null?void 0:r.indexOf(e.id))!=null?n:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=Le(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,l)=>{const o=[...r??[],...l??[]];return n.filter(u=>!o.includes(u.column.id))},Ue(t.options,"debugRows")),e.getLeftVisibleCells=Le(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(n,r)=>(r??[]).map(o=>n.find(u=>u.column.id===o)).filter(Boolean).map(o=>({...o,position:"left"})),Ue(t.options,"debugRows")),e.getRightVisibleCells=Le(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r??[]).map(o=>n.find(u=>u.column.id===o)).filter(Boolean).map(o=>({...o,position:"right"})),Ue(t.options,"debugRows"))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var n,r;return e.setColumnPinning(t?u0():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:u0())},e.getIsSomeColumnsPinned=t=>{var n;const r=e.getState().columnPinning;if(!t){var l,o;return!!((l=r.left)!=null&&l.length||(o=r.right)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e.getLeftLeafColumns=Le(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n??[]).map(r=>t.find(l=>l.id===r)).filter(Boolean),Ue(e.options,"debugColumns")),e.getRightLeafColumns=Le(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n??[]).map(r=>t.find(l=>l.id===r)).filter(Boolean),Ue(e.options,"debugColumns")),e.getCenterLeafColumns=Le(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const l=[...n??[],...r??[]];return t.filter(o=>!l.includes(o.id))},Ue(e.options,"debugColumns"))}};function tle(e){return e||(typeof document<"u"?document:null)}const xm={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},c0=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),nle={getDefaultColumnDef:()=>xm,getInitialState:e=>({columnSizing:{},columnSizingInfo:c0(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Or("columnSizing",e),onColumnSizingInfoChange:Or("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var n,r,l;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:xm.minSize,(r=o??e.columnDef.size)!=null?r:xm.size),(l=e.columnDef.maxSize)!=null?l:xm.maxSize)},e.getStart=Le(n=>[n,Ef(t,n),t.getState().columnSizing],(n,r)=>r.slice(0,e.getIndex(n)).reduce((l,o)=>l+o.getSize(),0),Ue(t.options,"debugColumns")),e.getAfter=Le(n=>[n,Ef(t,n),t.getState().columnSizing],(n,r)=>r.slice(e.getIndex(n)+1).reduce((l,o)=>l+o.getSize(),0),Ue(t.options,"debugColumns")),e.resetSize=()=>{t.setColumnSizing(n=>{let{[e.id]:r,...l}=n;return l})},e.getCanResize=()=>{var n,r;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((r=t.options.enableColumnResizing)!=null?r:!0)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let n=0;const r=l=>{if(l.subHeaders.length)l.subHeaders.forEach(r);else{var o;n+=(o=l.column.getSize())!=null?o:0}};return r(e),n},e.getStart=()=>{if(e.index>0){const n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},e.getResizeHandler=n=>{const r=t.getColumn(e.column.id),l=r==null?void 0:r.getCanResize();return o=>{if(!r||!l||(o.persist==null||o.persist(),f0(o)&&o.touches&&o.touches.length>1))return;const u=e.getSize(),c=e?e.getLeafHeaders().map(A=>[A.column.id,A.column.getSize()]):[[r.id,r.getSize()]],h=f0(o)?Math.round(o.touches[0].clientX):o.clientX,m={},v=(A,N)=>{typeof N=="number"&&(t.setColumnSizingInfo(O=>{var T,R;const E=t.options.columnResizeDirection==="rtl"?-1:1,D=(N-((T=O==null?void 0:O.startOffset)!=null?T:0))*E,k=Math.max(D/((R=O==null?void 0:O.startSize)!=null?R:0),-.999999);return O.columnSizingStart.forEach(I=>{let[P,B]=I;m[P]=Math.round(Math.max(B+B*k,0)*100)/100}),{...O,deltaOffset:D,deltaPercentage:k}}),(t.options.columnResizeMode==="onChange"||A==="end")&&t.setColumnSizing(O=>({...O,...m})))},p=A=>v("move",A),x=A=>{v("end",A),t.setColumnSizingInfo(N=>({...N,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},S=tle(n),w={moveHandler:A=>p(A.clientX),upHandler:A=>{S==null||S.removeEventListener("mousemove",w.moveHandler),S==null||S.removeEventListener("mouseup",w.upHandler),x(A.clientX)}},j={moveHandler:A=>(A.cancelable&&(A.preventDefault(),A.stopPropagation()),p(A.touches[0].clientX),!1),upHandler:A=>{var N;S==null||S.removeEventListener("touchmove",j.moveHandler),S==null||S.removeEventListener("touchend",j.upHandler),A.cancelable&&(A.preventDefault(),A.stopPropagation()),x((N=A.touches[0])==null?void 0:N.clientX)}},C=rle()?{passive:!1}:!1;f0(o)?(S==null||S.addEventListener("touchmove",j.moveHandler,C),S==null||S.addEventListener("touchend",j.upHandler,C)):(S==null||S.addEventListener("mousemove",w.moveHandler,C),S==null||S.addEventListener("mouseup",w.upHandler,C)),t.setColumnSizingInfo(A=>({...A,startOffset:h,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:c,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},e.resetHeaderSizeInfo=t=>{var n;e.setColumnSizingInfo(t?c0():(n=e.initialState.columnSizingInfo)!=null?n:c0())},e.getTotalSize=()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((r,l)=>r+l.getSize(),0))!=null?t:0},e.getLeftTotalSize=()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((r,l)=>r+l.getSize(),0))!=null?t:0},e.getCenterTotalSize=()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((r,l)=>r+l.getSize(),0))!=null?t:0},e.getRightTotalSize=()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((r,l)=>r+l.getSize(),0))!=null?t:0}}};let bm=null;function rle(){if(typeof bm=="boolean")return bm;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch{e=!1}return bm=e,bm}function f0(e){return e.type==="touchstart"}const ile={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Or("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(r=>({...r,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{var n,r;const l=e.columns;return(n=l.length?l.some(o=>o.getIsVisible()):(r=t.getState().columnVisibility)==null?void 0:r[e.id])!=null?n:!0},e.getCanHide=()=>{var n,r;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((r=t.options.enableHiding)!=null?r:!0)},e.getToggleVisibilityHandler=()=>n=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=Le(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(r=>r.column.getIsVisible()),Ue(t.options,"debugRows")),e.getVisibleCells=Le(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,r,l)=>[...n,...r,...l],Ue(t.options,"debugRows"))},createTable:e=>{const t=(n,r)=>Le(()=>[r(),r().filter(l=>l.getIsVisible()).map(l=>l.id).join("_")],l=>l.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),Ue(e.options,"debugColumns"));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=n=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),e.resetColumnVisibility=n=>{var r;e.setColumnVisibility(n?{}:(r=e.initialState.columnVisibility)!=null?r:{})},e.toggleAllColumnsVisible=n=>{var r;n=(r=n)!=null?r:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((l,o)=>({...l,[o.id]:n||!(o.getCanHide!=null&&o.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>n=>{var r;e.toggleAllColumnsVisible((r=n.target)==null?void 0:r.checked)}}};function Ef(e,t){return t?t==="center"?e.getCenterVisibleLeafColumns():t==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const ale={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},lle={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Or("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n;const r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r=="string"||typeof r=="number"}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var n,r,l,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((l=t.options.enableFilters)!=null?l:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ca.includesString,e.getGlobalFilterFn=()=>{var t,n;const{globalFilterFn:r}=e.options;return _g(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:ca[r]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},ole={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Or("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{var r,l;if(!t){e._queue(()=>{t=!0});return}if((r=(l=e.options.autoResetAll)!=null?l:e.options.autoResetExpanded)!=null?r:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=r=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(r),e.toggleAllRowsExpanded=r=>{r??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=r=>{var l,o;e.setExpanded(r?{}:(l=(o=e.initialState)==null?void 0:o.expanded)!=null?l:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(r=>r.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>r=>{r.persist==null||r.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const r=e.getState().expanded;return r===!0||Object.values(r).some(Boolean)},e.getIsAllRowsExpanded=()=>{const r=e.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||e.getRowModel().flatRows.some(l=>!l.getIsExpanded()))},e.getExpandedDepth=()=>{let r=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(o=>{const u=o.split(".");r=Math.max(r,u.length)}),r},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{var l;const o=r===!0?!0:!!(r!=null&&r[e.id]);let u={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(c=>{u[c]=!0}):u=r,n=(l=n)!=null?l:!o,!o&&n)return{...u,[e.id]:!0};if(o&&!n){const{[e.id]:c,...h}=u;return h}return r})},e.getIsExpanded=()=>{var n;const r=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:r===!0||r!=null&&r[e.id])},e.getCanExpand=()=>{var n,r,l;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((r=t.options.enableExpanding)!=null?r:!0)&&!!((l=e.subRows)!=null&&l.length)},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{const n=e.getCanExpand();return()=>{n&&e.toggleExpanded()}}}},zb=0,Lb=10,d0=()=>({pageIndex:zb,pageSize:Lb}),sle={getInitialState:e=>({...e,pagination:{...d0(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:Or("pagination",e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{var r,l;if(!t){e._queue(()=>{t=!0});return}if((r=(l=e.options.autoResetAll)!=null?l:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=r=>{const l=o=>Nl(r,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(l)},e.resetPagination=r=>{var l;e.setPagination(r?d0():(l=e.initialState.pagination)!=null?l:d0())},e.setPageIndex=r=>{e.setPagination(l=>{let o=Nl(r,l.pageIndex);const u=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return o=Math.max(0,Math.min(o,u)),{...l,pageIndex:o}})},e.resetPageIndex=r=>{var l,o;e.setPageIndex(r?zb:(l=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageIndex)!=null?l:zb)},e.resetPageSize=r=>{var l,o;e.setPageSize(r?Lb:(l=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageSize)!=null?l:Lb)},e.setPageSize=r=>{e.setPagination(l=>{const o=Math.max(1,Nl(r,l.pageSize)),u=l.pageSize*l.pageIndex,c=Math.floor(u/o);return{...l,pageIndex:c,pageSize:o}})},e.setPageCount=r=>e.setPagination(l=>{var o;let u=Nl(r,(o=e.options.pageCount)!=null?o:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...l,pageCount:u}}),e.getPageOptions=Le(()=>[e.getPageCount()],r=>{let l=[];return r&&r>0&&(l=[...new Array(r)].fill(null).map((o,u)=>u)),l},Ue(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:r}=e.getState().pagination,l=e.getPageCount();return l===-1?!0:l===0?!1:re.setPageIndex(r=>r-1),e.nextPage=()=>e.setPageIndex(r=>r+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var r;return(r=e.options.pageCount)!=null?r:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var r;return(r=e.options.rowCount)!=null?r:e.getPrePaginationRowModel().rows.length}}},h0=()=>({top:[],bottom:[]}),ule={getInitialState:e=>({rowPinning:h0(),...e}),getDefaultOptions:e=>({onRowPinningChange:Or("rowPinning",e)}),createRow:(e,t)=>{e.pin=(n,r,l)=>{const o=r?e.getLeafRows().map(h=>{let{id:m}=h;return m}):[],u=l?e.getParentRows().map(h=>{let{id:m}=h;return m}):[],c=new Set([...u,e.id,...o]);t.setRowPinning(h=>{var m,v;if(n==="bottom"){var p,x;return{top:((p=h==null?void 0:h.top)!=null?p:[]).filter(j=>!(c!=null&&c.has(j))),bottom:[...((x=h==null?void 0:h.bottom)!=null?x:[]).filter(j=>!(c!=null&&c.has(j))),...Array.from(c)]}}if(n==="top"){var S,w;return{top:[...((S=h==null?void 0:h.top)!=null?S:[]).filter(j=>!(c!=null&&c.has(j))),...Array.from(c)],bottom:((w=h==null?void 0:h.bottom)!=null?w:[]).filter(j=>!(c!=null&&c.has(j)))}}return{top:((m=h==null?void 0:h.top)!=null?m:[]).filter(j=>!(c!=null&&c.has(j))),bottom:((v=h==null?void 0:h.bottom)!=null?v:[]).filter(j=>!(c!=null&&c.has(j)))}})},e.getCanPin=()=>{var n;const{enableRowPinning:r,enablePinning:l}=t.options;return typeof r=="function"?r(e):(n=r??l)!=null?n:!0},e.getIsPinned=()=>{const n=[e.id],{top:r,bottom:l}=t.getState().rowPinning,o=n.some(c=>r==null?void 0:r.includes(c)),u=n.some(c=>l==null?void 0:l.includes(c));return o?"top":u?"bottom":!1},e.getPinnedIndex=()=>{var n,r;const l=e.getIsPinned();if(!l)return-1;const o=(n=l==="top"?t.getTopRows():t.getBottomRows())==null?void 0:n.map(u=>{let{id:c}=u;return c});return(r=o==null?void 0:o.indexOf(e.id))!=null?r:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var n,r;return e.setRowPinning(t?h0():(n=(r=e.initialState)==null?void 0:r.rowPinning)!=null?n:h0())},e.getIsSomeRowsPinned=t=>{var n;const r=e.getState().rowPinning;if(!t){var l,o;return!!((l=r.top)!=null&&l.length||(o=r.bottom)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e._getPinnedRows=(t,n,r)=>{var l;return((l=e.options.keepPinnedRows)==null||l?(n??[]).map(u=>{const c=e.getRow(u,!0);return c.getIsAllParentsExpanded()?c:null}):(n??[]).map(u=>t.find(c=>c.id===u))).filter(Boolean).map(u=>({...u,position:r}))},e.getTopRows=Le(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,"top"),Ue(e.options,"debugRows")),e.getBottomRows=Le(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,"bottom"),Ue(e.options,"debugRows")),e.getCenterRows=Le(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(t,n,r)=>{const l=new Set([...n??[],...r??[]]);return t.filter(o=>!l.has(o.id))},Ue(e.options,"debugRows"))}},cle={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Or("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();const r={...n},l=e.getPreGroupedRowModel().flatRows;return t?l.forEach(o=>{o.getCanSelect()&&(r[o.id]=!0)}):l.forEach(o=>{delete r[o.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),l={...n};return e.getRowModel().rows.forEach(o=>{Ub(l,o.id,r,!0,e)}),l}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=Le(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?m0(e,n):{rows:[],flatRows:[],rowsById:{}},Ue(e.options,"debugTable")),e.getFilteredSelectedRowModel=Le(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?m0(e,n):{rows:[],flatRows:[],rowsById:{}},Ue(e.options,"debugTable")),e.getGroupedSelectedRowModel=Le(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?m0(e,n):{rows:[],flatRows:[],rowsById:{}},Ue(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let r=!!(t.length&&Object.keys(n).length);return r&&t.some(l=>l.getCanSelect()&&!n[l.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{const t=e.getPaginationRowModel().flatRows.filter(l=>l.getCanSelect()),{rowSelection:n}=e.getState();let r=!!t.length;return r&&t.some(l=>!n[l.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{var t;const n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n{const t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(n=>n.getCanSelect()).some(n=>n.getIsSelected()||n.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{const l=e.getIsSelected();t.setRowSelection(o=>{var u;if(n=typeof n<"u"?n:!l,e.getCanSelect()&&l===n)return o;const c={...o};return Ub(c,e.id,n,(u=r==null?void 0:r.selectChildren)!=null?u:!0,t),c})},e.getIsSelected=()=>{const{rowSelection:n}=t.getState();return gw(e,n)},e.getIsSomeSelected=()=>{const{rowSelection:n}=t.getState();return $b(e,n)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:n}=t.getState();return $b(e,n)==="all"},e.getCanSelect=()=>{var n;return typeof t.options.enableRowSelection=="function"?t.options.enableRowSelection(e):(n=t.options.enableRowSelection)!=null?n:!0},e.getCanSelectSubRows=()=>{var n;return typeof t.options.enableSubRowSelection=="function"?t.options.enableSubRowSelection(e):(n=t.options.enableSubRowSelection)!=null?n:!0},e.getCanMultiSelect=()=>{var n;return typeof t.options.enableMultiRowSelection=="function"?t.options.enableMultiRowSelection(e):(n=t.options.enableMultiRowSelection)!=null?n:!0},e.getToggleSelectedHandler=()=>{const n=e.getCanSelect();return r=>{var l;n&&e.toggleSelected((l=r.target)==null?void 0:l.checked)}}}},Ub=(e,t,n,r,l)=>{var o;const u=l.getRow(t,!0);n?(u.getCanMultiSelect()||Object.keys(e).forEach(c=>delete e[c]),u.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(o=u.subRows)!=null&&o.length&&u.getCanSelectSubRows()&&u.subRows.forEach(c=>Ub(e,c.id,n,r,l))};function m0(e,t){const n=e.getState().rowSelection,r=[],l={},o=function(u,c){return u.map(h=>{var m;const v=gw(h,n);if(v&&(r.push(h),l[h.id]=h),(m=h.subRows)!=null&&m.length&&(h={...h,subRows:o(h.subRows)}),v)return h}).filter(Boolean)};return{rows:o(t.rows),flatRows:r,rowsById:l}}function gw(e,t){var n;return(n=t[e.id])!=null?n:!1}function $b(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let l=!0,o=!1;return e.subRows.forEach(u=>{if(!(o&&!l)&&(u.getCanSelect()&&(gw(u,t)?o=!0:l=!1),u.subRows&&u.subRows.length)){const c=$b(u,t);c==="all"?o=!0:(c==="some"&&(o=!0),l=!1)}}),l?"all":o?"some":!1}const Bb=/([0-9]+)/gm,fle=(e,t,n)=>Mz(Il(e.getValue(n)).toLowerCase(),Il(t.getValue(n)).toLowerCase()),dle=(e,t,n)=>Mz(Il(e.getValue(n)),Il(t.getValue(n))),hle=(e,t,n)=>pw(Il(e.getValue(n)).toLowerCase(),Il(t.getValue(n)).toLowerCase()),mle=(e,t,n)=>pw(Il(e.getValue(n)),Il(t.getValue(n))),vle=(e,t,n)=>{const r=e.getValue(n),l=t.getValue(n);return r>l?1:rpw(e.getValue(n),t.getValue(n));function pw(e,t){return e===t?0:e>t?1:-1}function Il(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function Mz(e,t){const n=e.split(Bb).filter(Boolean),r=t.split(Bb).filter(Boolean);for(;n.length&&r.length;){const l=n.shift(),o=r.shift(),u=parseInt(l,10),c=parseInt(o,10),h=[u,c].sort();if(isNaN(h[0])){if(l>o)return 1;if(o>l)return-1;continue}if(isNaN(h[1]))return isNaN(u)?-1:1;if(u>c)return 1;if(c>u)return-1}return n.length-r.length}const vf={alphanumeric:fle,alphanumericCaseSensitive:dle,text:hle,textCaseSensitive:mle,datetime:vle,basic:gle},ple={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Or("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const l of n){const o=l==null?void 0:l.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return vf.datetime;if(typeof o=="string"&&(r=!0,o.split(Bb).length>1))return vf.alphanumeric}return r?vf.text:vf.basic},e.getAutoSortDir=()=>{const n=t.getFilteredRowModel().flatRows[0];return typeof(n==null?void 0:n.getValue(e.id))=="string"?"asc":"desc"},e.getSortingFn=()=>{var n,r;if(!e)throw new Error;return _g(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(r=t.options.sortingFns)==null?void 0:r[e.columnDef.sortingFn])!=null?n:vf[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{const l=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(u=>{const c=u==null?void 0:u.find(S=>S.id===e.id),h=u==null?void 0:u.findIndex(S=>S.id===e.id);let m=[],v,p=o?n:l==="desc";if(u!=null&&u.length&&e.getCanMultiSort()&&r?c?v="toggle":v="add":u!=null&&u.length&&h!==u.length-1?v="replace":c?v="toggle":v="replace",v==="toggle"&&(o||l||(v="remove")),v==="add"){var x;m=[...u,{id:e.id,desc:p}],m.splice(0,m.length-((x=t.options.maxMultiSortColCount)!=null?x:Number.MAX_SAFE_INTEGER))}else v==="toggle"?m=u.map(S=>S.id===e.id?{...S,desc:p}:S):v==="remove"?m=u.filter(S=>S.id!==e.id):m=[{id:e.id,desc:p}];return m})},e.getFirstSortDir=()=>{var n,r;return((n=(r=e.columnDef.sortDescFirst)!=null?r:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=n=>{var r,l;const o=e.getFirstSortDir(),u=e.getIsSorted();return u?u!==o&&((r=t.options.enableSortingRemoval)==null||r)&&(!(n&&(l=t.options.enableMultiRemove)!=null)||l)?!1:u==="desc"?"asc":"desc":o},e.getCanSort=()=>{var n,r;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((r=t.options.enableSorting)!=null?r:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var n,r;return(n=(r=e.columnDef.enableMultiSort)!=null?r:t.options.enableMultiSort)!=null?n:!!e.accessorFn},e.getIsSorted=()=>{var n;const r=(n=t.getState().sorting)==null?void 0:n.find(l=>l.id===e.id);return r?r.desc?"desc":"asc":!1},e.getSortIndex=()=>{var n,r;return(n=(r=t.getState().sorting)==null?void 0:r.findIndex(l=>l.id===e.id))!=null?n:-1},e.clearSorting=()=>{t.setSorting(n=>n!=null&&n.length?n.filter(r=>r.id!==e.id):[])},e.getToggleSortingHandler=()=>{const n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var n,r;e.setSorting(t?[]:(n=(r=e.initialState)==null?void 0:r.sorting)!=null?n:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},yle=[Uae,ile,Jae,ele,$ae,Bae,ale,lle,ple,Zae,ole,sle,ule,cle,nle];function xle(e){var t,n;const r=[...yle,...(t=e._features)!=null?t:[]];let l={_features:r};const o=l._features.reduce((x,S)=>Object.assign(x,S.getDefaultOptions==null?void 0:S.getDefaultOptions(l)),{}),u=x=>l.options.mergeOptions?l.options.mergeOptions(o,x):{...o,...x};let h={...{},...(n=e.initialState)!=null?n:{}};l._features.forEach(x=>{var S;h=(S=x.getInitialState==null?void 0:x.getInitialState(h))!=null?S:h});const m=[];let v=!1;const p={_features:r,options:{...o,...e},initialState:h,_queue:x=>{m.push(x),v||(v=!0,Promise.resolve().then(()=>{for(;m.length;)m.shift()();v=!1}).catch(S=>setTimeout(()=>{throw S})))},reset:()=>{l.setState(l.initialState)},setOptions:x=>{const S=Nl(x,l.options);l.options=u(S)},getState:()=>l.options.state,setState:x=>{l.options.onStateChange==null||l.options.onStateChange(x)},_getRowId:(x,S,w)=>{var j;return(j=l.options.getRowId==null?void 0:l.options.getRowId(x,S,w))!=null?j:`${w?[w.id,S].join("."):S}`},getCoreRowModel:()=>(l._getCoreRowModel||(l._getCoreRowModel=l.options.getCoreRowModel(l)),l._getCoreRowModel()),getRowModel:()=>l.getPaginationRowModel(),getRow:(x,S)=>{let w=(S?l.getPrePaginationRowModel():l.getRowModel()).rowsById[x];if(!w&&(w=l.getCoreRowModel().rowsById[x],!w))throw new Error;return w},_getDefaultColumnDef:Le(()=>[l.options.defaultColumn],x=>{var S;return x=(S=x)!=null?S:{},{header:w=>{const j=w.header.column.columnDef;return j.accessorKey?j.accessorKey:j.accessorFn?j.id:null},cell:w=>{var j,C;return(j=(C=w.renderValue())==null||C.toString==null?void 0:C.toString())!=null?j:null},...l._features.reduce((w,j)=>Object.assign(w,j.getDefaultColumnDef==null?void 0:j.getDefaultColumnDef()),{}),...x}},Ue(e,"debugColumns")),_getColumnDefs:()=>l.options.columns,getAllColumns:Le(()=>[l._getColumnDefs()],x=>{const S=function(w,j,C){return C===void 0&&(C=0),w.map(A=>{const N=Lae(l,A,C,j),O=A;return N.columns=O.columns?S(O.columns,N,C+1):[],N})};return S(x)},Ue(e,"debugColumns")),getAllFlatColumns:Le(()=>[l.getAllColumns()],x=>x.flatMap(S=>S.getFlatColumns()),Ue(e,"debugColumns")),_getAllFlatColumnsById:Le(()=>[l.getAllFlatColumns()],x=>x.reduce((S,w)=>(S[w.id]=w,S),{}),Ue(e,"debugColumns")),getAllLeafColumns:Le(()=>[l.getAllColumns(),l._getOrderColumnsFn()],(x,S)=>{let w=x.flatMap(j=>j.getLeafColumns());return S(w)},Ue(e,"debugColumns")),getColumn:x=>l._getAllFlatColumnsById()[x]};Object.assign(l,p);for(let x=0;xLe(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(l,o,u){o===void 0&&(o=0);const c=[];for(let m=0;me._autoResetPageIndex()))}function Sle(e,t,n){return n.options.filterFromLeafRows?wle(e,t,n):jle(e,t,n)}function wle(e,t,n){var r;const l=[],o={},u=(r=n.options.maxLeafRowFilterDepth)!=null?r:100,c=function(h,m){m===void 0&&(m=0);const v=[];for(let x=0;xLe(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,n,r)=>{if(!t.rows.length||!(n!=null&&n.length)&&!r){for(let x=0;x{var S;const w=e.getColumn(x.id);if(!w)return;const j=w.getFilterFn();j&&l.push({id:x.id,filterFn:j,resolvedValue:(S=j.resolveFilterValue==null?void 0:j.resolveFilterValue(x.value))!=null?S:x.value})});const u=(n??[]).map(x=>x.id),c=e.getGlobalFilterFn(),h=e.getAllLeafColumns().filter(x=>x.getCanGlobalFilter());r&&c&&h.length&&(u.push("__global__"),h.forEach(x=>{var S;o.push({id:x.id,filterFn:c,resolvedValue:(S=c.resolveFilterValue==null?void 0:c.resolveFilterValue(r))!=null?S:r})}));let m,v;for(let x=0;x{S.columnFiltersMeta[j]=C})}if(o.length){for(let w=0;w{S.columnFiltersMeta[j]=C})){S.columnFilters.__global__=!0;break}}S.columnFilters.__global__!==!0&&(S.columnFilters.__global__=!1)}}const p=x=>{for(let S=0;Se._autoResetPageIndex()))}function _le(){return e=>Le(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,l=[],o=r.filter(h=>{var m;return(m=e.getColumn(h.id))==null?void 0:m.getCanSort()}),u={};o.forEach(h=>{const m=e.getColumn(h.id);m&&(u[h.id]={sortUndefined:m.columnDef.sortUndefined,invertSorting:m.columnDef.invertSorting,sortingFn:m.getSortingFn()})});const c=h=>{const m=h.map(v=>({...v}));return m.sort((v,p)=>{for(let S=0;S{var p;l.push(v),(p=v.subRows)!=null&&p.length&&(v.subRows=c(v.subRows))}),m};return{rows:c(n.rows),flatRows:l,rowsById:n.rowsById}},Ue(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}/** - * react-table - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function qT(e,t){return e?Ale(e)?b.createElement(e,t):e:null}function Ale(e){return Ele(e)||typeof e=="function"||Ole(e)}function Ele(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Ole(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Nle(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=b.useState(()=>({current:xle(t)})),[r,l]=b.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...r,...e.state},onStateChange:u=>{l(u),e.onStateChange==null||e.onStateChange(u)}})),n.current}function Tle(e,t){const n=t.map(o=>o.map(u=>'"'+String(u??"").replace(/"/g,'""')+'"').join(",")).join(` -`),r=new Blob(["\uFEFF"+n],{type:"text/csv;charset=utf-8"}),l=document.createElement("a");l.href=URL.createObjectURL(r),l.download=e,l.click(),URL.revokeObjectURL(l.href)}function Dz({name:e,rows:t,columns:n,search:r,bulk:l,onRow:o}){const[u,c]=b.useState([]),[h,m]=b.useState(""),[v,p]=b.useState({}),[x,S]=b.useState({}),[w,j]=b.useState(!1),C=r&&h.trim()?t.filter(T=>r(T,h.trim().toLowerCase())):t,A=Nle({data:C,columns:n,state:{sorting:u,columnVisibility:v,rowSelection:x},onSortingChange:c,onColumnVisibilityChange:p,onRowSelectionChange:S,enableRowSelection:!0,getCoreRowModel:ble(),getSortedRowModel:_le(),getFilteredRowModel:Cle(),getRowId:(T,R)=>String(T.id||R)}),N=A.getSelectedRowModel().rows.map(T=>T.original);function O(T){const R=A.getVisibleLeafColumns(),E=R.map(k=>String(k.columnDef.header||k.id)),D=T.map(k=>R.map(I=>{const P=I.accessorFn?I.accessorFn(k,0):"";return P==null?"":String(P)}));Tle(e+".csv",[E].concat(D))}return f.jsxs("div",{className:"space-y-2",children:[f.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[f.jsx($e,{value:h,onChange:T=>m(T.target.value),placeholder:"Фильтр",className:"max-w-xs"}),f.jsx(he,{variant:"secondary",onClick:()=>j(T=>!T),children:"Столбцы"}),f.jsx(he,{variant:"secondary",onClick:()=>O(N.length?N:C),children:"CSV"}),(l||[]).map(T=>f.jsx(he,{variant:"secondary",disabled:!N.length,onClick:()=>T.run(N),children:T.label},T.label)),f.jsx("span",{className:"text-xs text-muted-foreground",children:C.length})]}),w?f.jsx("div",{className:"flex flex-wrap gap-3 text-sm",children:A.getAllLeafColumns().map(T=>f.jsxs("label",{className:"flex items-center gap-1",children:[f.jsx("input",{type:"checkbox",checked:T.getIsVisible(),onChange:()=>T.toggleVisibility()}),String(T.columnDef.header||T.id)]},T.id))}):null,f.jsx("div",{className:"overflow-x-auto rounded-md border border-border",children:f.jsxs("table",{className:"w-full text-sm",children:[f.jsx("thead",{className:"bg-card",children:A.getHeaderGroups().map(T=>f.jsxs("tr",{children:[f.jsx("th",{className:"w-8 px-2 py-2",children:f.jsx("input",{type:"checkbox",checked:A.getIsAllRowsSelected(),onChange:A.getToggleAllRowsSelectedHandler(),"aria-label":"Выбрать все"})}),T.headers.map(R=>f.jsx("th",{className:"px-2 py-2 text-left font-medium text-muted-foreground",children:R.isPlaceholder?null:f.jsxs("button",{type:"button",className:"inline-flex items-center gap-1",onClick:R.column.getToggleSortingHandler(),children:[qT(R.column.columnDef.header,R.getContext()),R.column.getIsSorted()==="asc"?" ↑":R.column.getIsSorted()==="desc"?" ↓":""]})},R.id))]},T.id))}),f.jsxs("tbody",{children:[A.getRowModel().rows.map(T=>f.jsxs("tr",{className:"cursor-pointer border-t border-border hover:bg-secondary",onClick:()=>o&&o(T.original),children:[f.jsx("td",{className:"px-2 py-1",onClick:R=>R.stopPropagation(),children:f.jsx("input",{type:"checkbox",checked:T.getIsSelected(),onChange:T.getToggleSelectedHandler(),"aria-label":"Выбрать строку"})}),T.getVisibleCells().map(R=>f.jsx("td",{className:"px-2 py-1 align-top",children:qT(R.column.columnDef.cell,R.getContext())},R.id))]},T.id)),A.getRowModel().rows.length===0?f.jsx("tr",{children:f.jsx("td",{className:"px-2 py-4 text-muted-foreground",colSpan:n.length+1,children:"Пусто"})}):null]})]})})]})}function KT({rows:e}){const t=e||[];return t.length?f.jsx("div",{className:"h-16 w-full",children:f.jsx(kP,{width:"100%",height:"100%",children:f.jsxs(jz,{data:t,children:[f.jsx(aw,{stroke:"#31342C",vertical:!1}),f.jsx(cw,{dataKey:"t",hide:!0}),f.jsx(fw,{hide:!0}),f.jsx(O3,{contentStyle:{background:"#181A15",border:"1px solid #31342C",color:"#F2F2E9"}}),f.jsx(uw,{type:"monotone",dataKey:"v",stroke:"#F9C400",dot:!1,strokeWidth:1.5})]})})}):f.jsx("div",{className:"text-xs text-muted-foreground",children:"Нет точек"})}function Pz({title:e,onClose:t,children:n}){return f.jsx("div",{className:"fixed inset-0 z-40 flex justify-end bg-black/50",onClick:t,children:f.jsxs("aside",{className:"h-full w-full max-w-md overflow-auto border-l border-border bg-card p-4",onClick:r=>r.stopPropagation(),children:[f.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[f.jsx("h2",{className:"text-lg font-semibold",children:e}),f.jsx(he,{variant:"secondary",onClick:t,children:"Закрыть"})]}),n]})})}function Rle({data:e,csrf:t}){const n=(e==null?void 0:e.health)||[];return f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"grid grid-cols-2 gap-2 lg:grid-cols-4",children:[f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-2xl font-semibold",children:(e==null?void 0:e.online)??"-"}),f.jsx("div",{className:"text-xs text-muted-foreground",children:"устройств онлайн"})]})}),f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-2xl font-semibold",children:(e==null?void 0:e.errors)??"-"}),f.jsx("div",{className:"text-xs text-muted-foreground",children:"ошибок за 24 ч"})]})}),f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-xs text-muted-foreground",children:"оплаты, 24 ч"}),f.jsx(KT,{rows:e==null?void 0:e.spark24})]})}),f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-xs text-muted-foreground",children:"оплаты, 7 дн."}),f.jsx(KT,{rows:e==null?void 0:e.spark7})]})})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Сервисы"})}),f.jsxs(xe,{className:"grid gap-2 md:grid-cols-2",children:[n.map(r=>f.jsxs("div",{className:"flex items-center justify-between rounded-md border border-border px-3 py-2",children:[f.jsxs("div",{children:[f.jsx("div",{className:"font-medium",children:r.name}),f.jsxs("div",{className:"font-mono text-xs text-muted-foreground",children:[r.latencyMs," мс · успех ",r.success==null?"-":r.success+"%",r.lastError?" · "+r.lastError:""]})]}),f.jsx(Oe,{variant:r.ok?"ok":r.ok===!1?"bad":"warn",children:r.ok?"ок":r.ok===!1?"нет":"-"})]},r.name)),f.jsx(he,{variant:"secondary",onClick:()=>void Qt("/admin/api/sources/check",t,{}).then(r=>{var l;return ft(r.ok?"Проверено":((l=r.flash)==null?void 0:l.error)||"Не вышло")}),children:"Проверить источники"})]})]})]})}function Mle({users:e,go:t}){const[n,r]=b.useState(null);return f.jsxs(f.Fragment,{children:[f.jsx(Dz,{name:"omp-users-view",rows:e,search:(l,o)=>(l.who+" "+l.telegramId+" "+l.email+" "+l.id).toLowerCase().indexOf(o)>=0,onRow:r,bulk:[{label:"Открыть первого",run:l=>l[0]&&t(l[0].id)}],columns:[{accessorKey:"who",header:"Кто"},{accessorKey:"telegramId",header:"Telegram",cell:({getValue:l})=>f.jsx("span",{className:"font-mono text-xs",children:String(l()||"-")})},{accessorKey:"email",header:"Почта"},{accessorKey:"active",header:"Подписка",cell:({getValue:l})=>l()?"активна":"нет"}]}),n?f.jsxs(Pz,{title:n.who,onClose:()=>r(null),children:[f.jsx("p",{className:"font-mono text-xs text-muted-foreground",children:n.id}),f.jsxs("p",{className:"mt-2",children:["Telegram ",n.telegramId||"-"]}),f.jsxs("p",{children:["Почта ",n.email||"-"]}),f.jsx(he,{className:"mt-3",onClick:()=>t(n.id),children:"Карточка"})]}):null]})}function Dle({rows:e}){const[t,n]=b.useState(null);return f.jsxs(f.Fragment,{children:[f.jsx(Dz,{name:"omp-devices",rows:e,search:(r,l)=>(r.deviceId+" "+r.name+" "+r.who+" "+r.version).toLowerCase().indexOf(l)>=0,onRow:n,columns:[{accessorKey:"deviceId",header:"ID",cell:({getValue:r})=>f.jsx("span",{className:"font-mono text-xs",children:String(r()||"")})},{accessorKey:"name",header:"Имя"},{accessorKey:"who",header:"Аккаунт"},{accessorKey:"online",header:"Сеть",cell:({getValue:r})=>r()?"онлайн":"офлайн"},{accessorKey:"version",header:"Версия"},{accessorKey:"platform",header:"Платформа"},{accessorKey:"lastSeenAt",header:"Был",cell:({getValue:r})=>f.jsx(dt,{ms:Number(r())||0})}]}),t?f.jsxs(Pz,{title:t.name||t.deviceId,onClose:()=>n(null),children:[f.jsx("p",{className:"font-mono text-xs",children:t.deviceId}),f.jsx("p",{className:"mt-2",children:t.online?"Сейчас онлайн":"Офлайн"}),f.jsxs("p",{children:["Версия ",t.version||"-"," · ",t.platform||"-"]}),t.accountId?f.jsx(he,{className:"mt-3",onClick:()=>location.href="/admin/?id="+encodeURIComponent(t.accountId),children:"Аккаунт"}):null]}):null]})}function Ple({data:e,csrf:t}){const n=(e==null?void 0:e.sources)||[];return f.jsxs("div",{className:"space-y-2",children:[n.map(r=>f.jsx(ye,{children:f.jsxs(xe,{className:"flex flex-wrap items-center justify-between gap-2 pt-4",children:[f.jsxs("div",{children:[f.jsx("div",{className:"font-medium",children:r.name}),f.jsxs("div",{className:"font-mono text-xs text-muted-foreground",children:[r.latencyMs," мс · успех ",r.success==null?"-":r.success+"%"," · проб ",r.samples??0,r.lastError?" · "+r.lastError:""]})]}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(Oe,{variant:r.ok?"ok":"bad",children:r.enabled===!1?"выкл":r.ok?"ок":"нет"}),r.name!=="torrserver"?f.jsx(he,{variant:"secondary",onClick:()=>{const l=r.enabled===!1;!l&&!window.confirm("Выключить "+r.name+"?")||Qt("/admin/api/sources/toggle",t,{source:r.name,enabled:l,confirm:l?"":"yes"}).then(()=>ft(l?"Включено":"Выключено"))},children:r.enabled===!1?"Включить":"Выключить"}):null]})]})},r.name)),f.jsx(he,{onClick:()=>void Qt("/admin/api/sources/check",t,{}).then(()=>ft("Проверено")),children:"Проверить сейчас"})]})}function kle({data:e}){var r,l;const t=((r=e==null?void 0:e.funnel)==null?void 0:r.steps)||[],n=(l=e==null?void 0:e.funnel)==null?void 0:l.estimated;return f.jsxs("div",{className:"space-y-3",children:[f.jsx("div",{className:"grid gap-2 md:grid-cols-5",children:t.map(o=>f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-xs text-muted-foreground",children:o.label}),f.jsx("div",{className:"text-2xl font-semibold",children:o.users}),f.jsx("div",{className:"text-xs text-muted-foreground",children:o.conversion==null?"первый шаг":o.conversion+"% от прошлого"})]})},o.name))}),n?f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Оценка по биллингу"})}),f.jsxs(xe,{className:"text-sm text-muted-foreground",children:[n.note,". Установки ",n.install,", входы ",n.login,", пробные ",n.trial,", оплаты ",n.payment,", продления ",n.renewal,"."]})]}):null]})}function Ile({data:e}){const t=e==null?void 0:e.revenue;return t?f.jsxs("div",{className:"space-y-3",children:[f.jsxs("div",{className:"grid gap-2 md:grid-cols-3",children:[f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-xs text-muted-foreground",children:"30 дней"}),f.jsxs("div",{className:"text-2xl font-semibold",children:[t.monthSum," ₽"]}),f.jsxs("div",{className:"text-xs text-muted-foreground",children:[t.monthN," оплат"]})]})}),f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-xs text-muted-foreground",children:"Отток 30 дней"}),f.jsxs("div",{className:"text-2xl font-semibold",children:[t.churn.rate,"%"]}),f.jsxs("div",{className:"text-xs text-muted-foreground",children:["истекло ",t.churn.expired,", ещё живы ",t.churn.active]})]})}),f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-xs text-muted-foreground",children:"Продления на неделе"}),f.jsx("div",{className:"text-2xl font-semibold",children:t.forecast.due}),f.jsxs("div",{className:"text-xs text-muted-foreground",children:["около ",t.forecast.sum," ₽ при цене ",t.forecast.price," ₽"]})]})})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"По дням"})}),f.jsx(xe,{className:"h-48",children:f.jsx(kP,{width:"100%",height:"100%",children:f.jsxs(jz,{data:t.byDay,children:[f.jsx(aw,{stroke:"#31342C"}),f.jsx(cw,{dataKey:"t",stroke:"#B3B8A8",tick:{fontSize:11}}),f.jsx(fw,{stroke:"#B3B8A8",tick:{fontSize:11}}),f.jsx(O3,{contentStyle:{background:"#181A15",border:"1px solid #31342C"}}),f.jsx(uw,{type:"monotone",dataKey:"v",stroke:"#F9C400",dot:!1})]})})})]}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"По месяцам"})}),f.jsx(xe,{className:"space-y-1 text-sm",children:t.byMonth.map(n=>f.jsxs("div",{className:"flex justify-between font-mono",children:[f.jsx("span",{children:n.month}),f.jsxs("span",{children:[Math.round(n.sum)," ₽ · ",n.n]})]},n.month))})]})]}):null}function zle({csrf:e}){const{paused:t}=Iv(),[n,r]=b.useState(""),o=Tv({queryKey:["nuc"],refetchInterval:t?!1:15e3,queryFn:()=>ot("/admin/api/nuc")}).data;return f.jsxs("div",{className:"space-y-3",children:[f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Хост"})}),f.jsxs(xe,{className:"text-sm",children:[o!=null&&o.disk?f.jsxs("p",{children:["Диск ",o.disk.path,": свободно ",o.disk.ratio,"% (",Math.round(o.disk.free/1024/1024/1024)," ГБ)"]}):f.jsx("p",{className:"text-muted-foreground",children:"Диск с этого контейнера не виден"}),o!=null&&o.host?f.jsxs("p",{children:["CPU ",o.host.cpus," · RAM ",Math.round(o.host.mem/1024/1024/1024)," ГБ"]}):f.jsx("p",{className:"text-muted-foreground",children:(o==null?void 0:o.error)||"Сводка хоста недоступна"})]})]}),((o==null?void 0:o.containers)||[]).map(u=>f.jsx(ye,{children:f.jsxs(xe,{className:"flex flex-wrap items-center justify-between gap-2 pt-4",children:[f.jsxs("div",{children:[f.jsx("div",{className:"font-medium",children:u.name}),f.jsxs("div",{className:"font-mono text-xs text-muted-foreground",children:[u.state," · ",u.status," · CPU ",u.cpu==null?"-":u.cpu+"%"," · RAM ",u.mem==null?"-":Math.round(u.mem/1024/1024)+" МБ"]})]}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(he,{variant:"secondary",onClick:()=>void fetch("/admin/api/nuc/logs?name="+encodeURIComponent(u.name),{credentials:"same-origin"}).then(c=>c.json()).then(c=>r(u.name+` -`+(c.lines||c.error||""))),children:"Лог"}),u.restart?f.jsx(he,{variant:"secondary",onClick:()=>{window.confirm("Перезапустить "+u.name+"?")&&Qt("/admin/api/nuc/restart",e,{name:u.name,confirm:"yes"}).then(c=>ft(c.ok?"Перезапущен":"Не вышло"))},children:"Перезапуск"}):null]})]})},u.id)),n?f.jsx("pre",{className:"max-h-80 overflow-auto rounded-md border border-border bg-background p-3 font-mono text-xs",children:n}):null]})}function Lle({rows:e,csrf:t}){return e.length?f.jsx("div",{className:"space-y-2",children:e.map(n=>f.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border px-3 py-2",children:[f.jsxs("span",{className:"font-mono text-xs",children:[n.id.slice(0,8)," · ",f.jsx(dt,{ms:n.at})]}),f.jsx(he,{variant:"secondary",onClick:()=>{window.confirm("Откатить настройки к этому снимку? Секреты не меняются.")&&Qt("/admin/api/rollback",t,{id:n.id,confirm:"yes"}).then(r=>ft(r.ok?"Откат выполнен":"Не вышло"))},children:"Откатить"})]},n.id))}):f.jsx("p",{className:"text-sm text-muted-foreground",children:"Снимков настроек ещё нет. Они появятся после сохранения настроек."})}function Ule({csrf:e}){var o;const{paused:t}=Iv(),n=Wb(),l=((o=Tv({queryKey:["crashes"],refetchInterval:t?!1:15e3,queryFn:()=>ot("/admin/api/crashes")}).data)==null?void 0:o.groups)||[];return f.jsxs("div",{className:"space-y-2",children:[l.length===0?f.jsx("p",{className:"text-sm text-muted-foreground",children:"Сбоев нет"}):null,l.map(u=>f.jsx(ye,{children:f.jsx(xe,{className:"space-y-2 pt-4",children:f.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[f.jsxs("div",{children:[f.jsx("div",{className:"font-medium",children:u.title}),f.jsxs("div",{className:"font-mono text-xs text-muted-foreground",children:[u.id," · ",u.count," · устройств ",u.devices," · ",u.status,u.regression?" · регрессия":""," · ",f.jsx(dt,{ms:u.lastAt})]}),f.jsx("div",{className:"text-xs text-muted-foreground",children:(u.versions||[]).join(", ")})]}),f.jsxs("div",{className:"flex flex-wrap gap-2",children:[f.jsx("a",{className:"text-sm text-primary",href:"/admin/api/crashes/log?id="+encodeURIComponent(u.id),children:"Лог"}),f.jsx(he,{variant:"secondary",onClick:()=>void ot("/admin/api/crashes/draft?id="+encodeURIComponent(u.id)).then(c=>{navigator.clipboard.writeText(c.text||""),ft("Текст issue скопирован")}),children:"Текст issue"}),["progress","fixed","ignored"].map(c=>f.jsx(he,{variant:"secondary",onClick:()=>{window.confirm("Поставить статус "+c+"?")&&Qt("/admin/api/crashes/status",e,{id:u.id,status:c,confirm:"yes"}).then(()=>n.invalidateQueries({queryKey:["crashes"]}))},children:c==="progress"?"В работе":c==="fixed"?"Исправлен":"Игнор"},c))]})]})})},u.id))]})}function $le({csrf:e}){const[t,n]=b.useState(""),[r,l]=b.useState("all"),[o,u]=b.useState(null),c=b.useRef(0);return f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Рассылка в бот"})}),f.jsxs(xe,{className:"space-y-3",children:[f.jsx("textarea",{className:"min-h-28 w-full rounded-md border border-border bg-background p-2 text-sm",value:t,onChange:h=>{c.current+=1,u(null),n(h.target.value)},placeholder:"Текст сообщения"}),f.jsxs("select",{className:"h-10 rounded-md border border-border bg-secondary px-2",value:r,onChange:h=>{c.current+=1,u(null),l(h.target.value)},"aria-label":"Кому",children:[f.jsx("option",{value:"all",children:"Все с Telegram"}),f.jsx("option",{value:"active",children:"Активная подписка"}),f.jsx("option",{value:"lapsed",children:"Без активной подписки"})]}),f.jsxs("div",{className:"flex gap-2",children:[f.jsx(he,{variant:"secondary",onClick:()=>{const h=++c.current;Qt("/admin/api/broadcast/preview",e,{text:t,segment:r}).then(m=>{if(h!==c.current)return;const v=m;if(!v.ok||!v.id){ft("Не удалось");return}u({id:v.id,count:v.count||0}),ft("Получателей: "+(v.count||0))})},children:"Предпросмотр"}),f.jsx(he,{disabled:!o,onClick:()=>{o&&window.confirm("Отправить "+o.count+" сообщений? Это нельзя отменить.")&&Qt("/admin/api/broadcast/send",e,{id:o.id,confirm:"yes"}).then(h=>{ft(h.ok?"Отправлено":"Не отправлено"),u(null)})},children:"Отправить"})]}),o?f.jsxs("p",{className:"text-sm text-muted-foreground",children:["Черновик на ",o.count,". Само по себе ничего не уходит."]}):null]})]})}function Ble({data:e}){const t=(e==null?void 0:e.versions)||[];return f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Версии приложений"})}),f.jsxs(xe,{className:"space-y-1 text-sm",children:[f.jsxs("p",{className:"text-muted-foreground",children:["Бета сейчас: ",(e==null?void 0:e.betaPercent)??100,"% устройств, которые сами включили бету."]}),t.length===0?f.jsx("p",{children:"Пока нет сигналов версии."}):null,t.map(n=>f.jsxs("div",{className:"flex justify-between font-mono",children:[f.jsx("span",{children:n.label}),f.jsx("span",{children:n.count})]},n.label))]})]})}function Hle(){var n;const t=((n=Tv({queryKey:["logins"],queryFn:()=>ot("/admin/api/logins")}).data)==null?void 0:n.rows)||[];return f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Входы в админку"})}),f.jsxs(xe,{className:"space-y-1 text-sm",children:[t.length===0?f.jsx("p",{className:"text-muted-foreground",children:"Записей нет"}):null,t.map((r,l)=>f.jsxs("div",{className:"font-mono text-xs",children:[f.jsx(dt,{ms:r.at})," ",r.result," ",r.ip||"-"," ",r.telegramId||""," ",r.ua||""]},l))]})]})}var YT=1,Fle=.9,Vle=.8,Gle=.17,v0=.1,g0=.999,qle=.9999,Kle=.99,Yle=/[\\\/_+.#"@\[\(\{&]/,Xle=/[\\\/_+.#"@\[\(\{&]/g,Qle=/[\s-]/,kz=/[\s-]/g;function Hb(e,t,n,r,l,o,u){if(o===t.length)return l===e.length?YT:Kle;var c=`${l},${o}`;if(u[c]!==void 0)return u[c];for(var h=r.charAt(o),m=n.indexOf(h,l),v=0,p,x,S,w;m>=0;)p=Hb(e,t,n,r,m+1,o+1,u),p>v&&(m===l?p*=YT:Yle.test(e.charAt(m-1))?(p*=Vle,S=e.slice(l,m-1).match(Xle),S&&l>0&&(p*=Math.pow(g0,S.length))):Qle.test(e.charAt(m-1))?(p*=Fle,w=e.slice(l,m-1).match(kz),w&&l>0&&(p*=Math.pow(g0,w.length))):(p*=Gle,l>0&&(p*=Math.pow(g0,m-l))),e.charAt(m)!==t.charAt(o)&&(p*=qle)),(pp&&(p=x*v0)),p>v&&(v=p),m=n.indexOf(h,m+1);return u[c]=v,v}function XT(e){return e.toLowerCase().replace(kz," ")}function Zle(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,Hb(e,t,XT(e),XT(t),0,0,{})}var Wle=Object.defineProperty,vn=(e,t)=>Wle(e,"name",{value:t,configurable:!0}),Fb="dismissableLayer.update",Jle="dismissableLayer.pointerDownOutside",eoe="dismissableLayer.focusOutside",QT,Iz=b.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),toe=b.forwardRef(vn(function(t,n){const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:l=!1,onEscapeKeyDown:o,onPointerDownOutside:u,onFocusOutside:c,onInteractOutside:h,onDismiss:m,...v}=t,p=b.useContext(Iz),[x,S]=b.useState(null),w=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,j]=b.useState({}),C=Kr(n,S),A=Array.from(p.layers),[N]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),O=N?A.indexOf(N):-1,T=x?A.indexOf(x):-1,R=p.layersWithOutsidePointerEventsDisabled.size>0,E=T>=O,D=b.useRef(!1),k=Lz(F=>{u==null||u(F),h==null||h(F),F.defaultPrevented||m==null||m()},{ownerDocument:w,deferPointerDownOutside:l,isDeferredPointerDownOutsideRef:D,dismissableSurfaces:p.dismissableSurfaces,shouldHandlePointerDownOutside:b.useCallback(F=>{if(!(F instanceof Node))return!1;const se=[...p.branches].some(ue=>ue.contains(F));return E&&!se},[p.branches,E])}),I=Uz(F=>{if(l&&D.current)return;const se=F.target;[...p.branches].some(de=>de.contains(se))||(c==null||c(F),h==null||h(F),F.defaultPrevented||m==null||m())},w),P=x?T===A.length-1:!1,B=Ho(F=>{F.key==="Escape"&&(o==null||o(F),!F.defaultPrevented&&m&&(F.preventDefault(),m()))});return b.useEffect(()=>{if(P)return w.addEventListener("keydown",B,{capture:!0}),()=>w.removeEventListener("keydown",B,{capture:!0})},[w,P,B]),b.useEffect(()=>{if(x)return r&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(QT=w.body.style.pointerEvents,w.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(x)),p.layers.add(x),Vb(),()=>{r&&(p.layersWithOutsidePointerEventsDisabled.delete(x),p.layersWithOutsidePointerEventsDisabled.size===0&&(w.body.style.pointerEvents=QT))}},[x,w,r,p]),b.useEffect(()=>()=>{x&&(p.layers.delete(x),p.layersWithOutsidePointerEventsDisabled.delete(x),Vb())},[x,p]),b.useEffect(()=>{const F=vn(()=>j({}),"handleUpdate");return document.addEventListener(Fb,F),()=>document.removeEventListener(Fb,F)},[]),f.jsx(ln.div,{...v,ref:C,style:{pointerEvents:R?E?"auto":"none":void 0,...t.style},onFocusCapture:$n(t.onFocusCapture,I.onFocusCapture),onBlurCapture:$n(t.onBlurCapture,I.onBlurCapture),onPointerDownCapture:$n(t.onPointerDownCapture,k.onPointerDownCapture)})},"DismissableLayer"));function zz(){const e=b.useContext(Iz),[t,n]=b.useState(null);return b.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}vn(zz,"useDismissableLayerSurface");var noe=vn(()=>!0,"IS_TRUE");function Lz(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:l,dismissableSurfaces:o,shouldHandlePointerDownOutside:u=noe}=t,c=Ho(e),h=b.useRef(!1),m=b.useRef(!1),v=b.useRef(new Map),p=b.useRef(()=>{});return b.useEffect(()=>{function x(){m.current=!1,l.current=!1,v.current.clear()}vn(x,"resetOutsideInteraction");function S(){return Array.from(v.current.values()).some(Boolean)}vn(S,"isOutsideInteractionIntercepted");function w(O){if(!m.current)return;const T=O.target;T instanceof Node&&[...o].some(E=>E.contains(T))||v.current.set(O.type,!0),O.type==="click"&&window.setTimeout(()=>{m.current&&p.current()},0)}vn(w,"handleInteractionCapture");function j(O){m.current&&v.current.set(O.type,!1)}vn(j,"handleInteractionBubble");const C=vn(O=>{if(O.target&&!h.current){let T=function(){n.removeEventListener("click",p.current);const E=S();x(),E||yw(Jle,c,R,{discrete:!0})};if(vn(T,"handleAndDispatchPointerDownOutsideEvent"),!u(O.target)){n.removeEventListener("click",p.current),x(),h.current=!1;return}const R={originalEvent:O};m.current=!0,l.current=r&&O.button===0,v.current.clear(),!r||O.button!==0?T():(n.removeEventListener("click",p.current),p.current=T,n.addEventListener("click",p.current,{once:!0}))}else n.removeEventListener("click",p.current),x();h.current=!1},"handlePointerDown"),A=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const O of A)n.addEventListener(O,w,!0),n.addEventListener(O,j);const N=window.setTimeout(()=>{n.addEventListener("pointerdown",C)},0);return()=>{window.clearTimeout(N),n.removeEventListener("pointerdown",C),n.removeEventListener("click",p.current);for(const O of A)n.removeEventListener(O,w,!0),n.removeEventListener(O,j)}},[n,c,r,l,o,u]),{onPointerDownCapture:vn(()=>h.current=!0,"onPointerDownCapture")}}vn(Lz,"usePointerDownOutside");function Uz(e,t=globalThis==null?void 0:globalThis.document){const n=Ho(e),r=b.useRef(!1);return b.useEffect(()=>{const l=vn(o=>{o.target&&!r.current&&yw(eoe,n,{originalEvent:o},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",l),()=>t.removeEventListener("focusin",l)},[t,n]),{onFocusCapture:vn(()=>r.current=!0,"onFocusCapture"),onBlurCapture:vn(()=>r.current=!1,"onBlurCapture")}}vn(Uz,"useFocusOutside");function Vb(){const e=new CustomEvent(Fb);document.dispatchEvent(e)}vn(Vb,"dispatchUpdate");function yw(e,t,n,{discrete:r}){const l=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&l.addEventListener(e,t,{once:!0}),r?oM(l,o):l.dispatchEvent(o)}vn(yw,"handleAndDispatchCustomEvent");var roe=Object.defineProperty,Xt=(e,t)=>roe(e,"name",{value:t,configurable:!0}),p0="focusScope.autoFocusOnMount",y0="focusScope.autoFocusOnUnmount",ZT={bubbles:!1,cancelable:!0},ioe=b.forwardRef(Xt(function(t,n){const{loop:r=!1,trapped:l=!1,branches:o,onMountAutoFocus:u,onUnmountAutoFocus:c,...h}=t,[m,v]=b.useState(null),p=Ho(u),x=Ho(c),S=b.useRef(null),w=Kr(n,v),j=b.useRef(o);b.useEffect(()=>{j.current=o});const C=b.useCallback(O=>{var T;return O?m!=null&&m.contains(O)?!0:!!((T=j.current)!=null&&T.some(R=>R.contains(O))):!1},[m]),A=b.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;b.useEffect(()=>{if(l){let O=function(D){if(A.paused||!m)return;const k=D.target;C(k)?S.current=k:fa(S.current,{select:!0})},T=function(D){if(A.paused||!m)return;const k=D.relatedTarget;k!==null&&(C(k)||fa(S.current,{select:!0}))},R=function(D){if(document.activeElement===document.body)for(const I of D)I.removedNodes.length>0&&fa(m)};Xt(O,"handleFocusIn"),Xt(T,"handleFocusOut"),Xt(R,"handleMutations"),document.addEventListener("focusin",O),document.addEventListener("focusout",T);const E=new MutationObserver(R);return m&&E.observe(m,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",O),document.removeEventListener("focusout",T),E.disconnect()}}},[l,m,A.paused,C]),b.useEffect(()=>{if(m){WT.add(A);const O=document.activeElement;if(!m.contains(O)){const R=new CustomEvent(p0,ZT);m.addEventListener(p0,p),m.dispatchEvent(R),R.defaultPrevented||(Fz(Yz(xw(m)),{select:!0}),document.activeElement===O&&fa(m))}return()=>{m.removeEventListener(p0,p);const R=m.ownerDocument,E=CustomEvent;setTimeout(()=>{const D=new E(y0,ZT);m.addEventListener(y0,x),m.dispatchEvent(D),D.defaultPrevented||fa(O??R.body,{select:!0}),m.removeEventListener(y0,x),WT.remove(A)},0)}}},[m,p,x,A]);const N=b.useCallback(O=>{if(!r&&!l||A.paused)return;const T=O.key==="Tab"&&!O.altKey&&!O.ctrlKey&&!O.metaKey,R=document.activeElement;if(T&&R){const E=O.currentTarget,[D,k]=Vz(E);D&&k?!O.shiftKey&&R===k?(O.preventDefault(),r&&fa(D,{select:!0})):O.shiftKey&&R===D&&(O.preventDefault(),r&&fa(k,{select:!0})):R===E&&O.preventDefault()}},[r,l,A.paused]);return f.jsx(ln.div,{tabIndex:-1,...h,ref:w,onKeyDown:N})},"FocusScope")),$z=b.createContext(null);function Bz({registry:e,children:t}){return e?f.jsx($z.Provider,{value:e,children:t}):t}Xt(Bz,"FocusScopeBranchProvider");function Hz(){const[e,t]=b.useState([]),n=b.useMemo(()=>({add:Xt(r=>t(l=>l.includes(r)?l:[...l,r]),"add"),remove:Xt(r=>t(l=>l.filter(o=>o!==r)),"remove")}),[]);return{nodes:e,registry:n}}Xt(Hz,"useFocusScopeBranchRegistry");function aoe(e){const t=b.useContext($z);b.useEffect(()=>{if(!(!e||!t))return t.add(e),()=>t.remove(e)},[e,t])}Xt(aoe,"useFocusScopeBranch");function Fz(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(fa(r,{select:t}),document.activeElement!==n)return}Xt(Fz,"focusFirst");function Vz(e){const t=xw(e),n=Gb(t,e),r=Gb(t.reverse(),e);return[n,r]}Xt(Vz,"getTabbableEdges");function xw(e){const t=[],r=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Xt(l=>{const o=l.tagName==="INPUT"&&l.type==="hidden";return l.disabled||l.hidden||o?NodeFilter.FILTER_SKIP:l.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;r.nextNode();)t.push(r.currentNode);return t}Xt(xw,"getTabbableCandidates");function Gb(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Gz(r,{upTo:t})))return r}Xt(Gb,"findVisible");function Gz(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}Xt(Gz,"isHidden");function qz(e){return e.tagName==="INPUT"&&typeof e.select=="function"}Xt(qz,"isSelectableInput");function fa(e,{select:t=!1}={}){if(e&&e.focus){const r=(e.ownerDocument??document).activeElement;e.focus({preventScroll:!0}),e!==r&&qz(e)&&t&&e.select()}}Xt(fa,"focus");var WT=Kz();function Kz(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=qb(e,t),e.unshift(t)},remove(t){var n;e=qb(e,t),(n=e[0])==null||n.resume()}}}Xt(Kz,"createFocusScopesStack");function qb(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}Xt(qb,"arrayRemove");function Yz(e){return e.filter(t=>t.tagName!=="A")}Xt(Yz,"removeLinks");var loe=Object.defineProperty,ooe=(e,t)=>loe(e,"name",{value:t,configurable:!0}),soe=b.forwardRef(ooe(function(t,n){var h;const{container:r,...l}=t,[o,u]=b.useState(!1);ja(()=>u(!0),[]);const c=r||o&&((h=globalThis==null?void 0:globalThis.document)==null?void 0:h.body);return c?Rv.createPortal(f.jsx(ln.div,{...l,ref:n}),c):null},"Portal")),uoe=Object.defineProperty,bw=(e,t)=>uoe(e,"name",{value:t,configurable:!0}),Sm=0,Ni=null;function coe(e){return Sw(),e.children}bw(coe,"FocusGuards");function Sw(){b.useEffect(()=>{Ni||(Ni={start:Kb(),end:Kb()});const{start:e,end:t}=Ni;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Sm++,()=>{Sm===1&&(Ni==null||Ni.start.remove(),Ni==null||Ni.end.remove(),Ni=null),Sm=Math.max(0,Sm-1)}},[])}bw(Sw,"useFocusGuards");function Kb(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}bw(Kb,"createFocusGuard");var Pi=function(){return Pi=Object.assign||function(t){for(var n,r=1,l=arguments.length;r"u")return Eoe;var t=Ooe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Toe=Wz(),xu="data-scroll-locked",Roe=function(e,t,n,r){var l=e.left,o=e.top,u=e.right,c=e.gap;return n===void 0&&(n="margin"),` - .`.concat(doe,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(c,"px ").concat(r,`; - } - body[`).concat(xu,`] { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(l,`px; - padding-top: `).concat(o,`px; - padding-right: `).concat(u,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(c,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(Dm,` { - right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(Pm,` { - margin-right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(Dm," .").concat(Dm,` { - right: 0 `).concat(r,`; - } - - .`).concat(Pm," .").concat(Pm,` { - margin-right: 0 `).concat(r,`; - } - - body[`).concat(xu,`] { - `).concat(hoe,": ").concat(c,`px; - } -`)},eR=function(){var e=parseInt(document.body.getAttribute(xu)||"0",10);return isFinite(e)?e:0},Moe=function(){b.useEffect(function(){return document.body.setAttribute(xu,(eR()+1).toString()),function(){var e=eR()-1;e<=0?document.body.removeAttribute(xu):document.body.setAttribute(xu,e.toString())}},[])},Doe=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,l=r===void 0?"margin":r;Moe();var o=b.useMemo(function(){return Noe(l)},[l]);return b.createElement(Toe,{styles:Roe(o,!t,l,n?"":"!important")})},Yb=!1;if(typeof window<"u")try{var wm=Object.defineProperty({},"passive",{get:function(){return Yb=!0,!0}});window.addEventListener("test",wm,wm),window.removeEventListener("test",wm,wm)}catch{Yb=!1}var iu=Yb?{passive:!1}:!1,Poe=function(e){return e.tagName==="TEXTAREA"},Jz=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Poe(e)&&n[t]==="visible")},koe=function(e){return Jz(e,"overflowY")},Ioe=function(e){return Jz(e,"overflowX")},tR=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var l=eL(e,r);if(l){var o=tL(e,r),u=o[1],c=o[2];if(u>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},zoe=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Loe=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},eL=function(e,t){return e==="v"?koe(t):Ioe(t)},tL=function(e,t){return e==="v"?zoe(t):Loe(t)},Uoe=function(e,t){return e==="h"&&t==="rtl"?-1:1},$oe=function(e,t,n,r,l){var o=Uoe(e,window.getComputedStyle(t).direction),u=o*r,c=n.target,h=t.contains(c),m=!1,v=u>0,p=0,x=0;do{if(!c)break;var S=tL(e,c),w=S[0],j=S[1],C=S[2],A=j-C-o*w;(w||A)&&eL(e,c)&&(p+=A,x+=w);var N=c.parentNode;c=N&&N.nodeType===Node.DOCUMENT_FRAGMENT_NODE?N.host:N}while(!h&&c!==document.body||h&&(t.contains(c)||t===c));return(v&&Math.abs(p)<1||!v&&Math.abs(x)<1)&&(m=!0),m},jm=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},nR=function(e){return[e.deltaX,e.deltaY]},rR=function(e){return e&&"current"in e?e.current:e},Boe=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Hoe=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},Foe=0,au=[];function Voe(e){var t=b.useRef([]),n=b.useRef([0,0]),r=b.useRef(),l=b.useState(Foe++)[0],o=b.useState(Wz)[0],u=b.useRef(e);b.useEffect(function(){u.current=e},[e]),b.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(l));var j=foe([e.lockRef.current],(e.shards||[]).map(rR),!0).filter(Boolean);return j.forEach(function(C){return C.classList.add("allow-interactivity-".concat(l))}),function(){document.body.classList.remove("block-interactivity-".concat(l)),j.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(l))})}}},[e.inert,e.lockRef.current,e.shards]);var c=b.useCallback(function(j,C){if("touches"in j&&j.touches.length===2||j.type==="wheel"&&j.ctrlKey)return!u.current.allowPinchZoom;var A=jm(j),N=n.current,O="deltaX"in j?j.deltaX:N[0]-A[0],T="deltaY"in j?j.deltaY:N[1]-A[1],R,E=j.target,D=Math.abs(O)>Math.abs(T)?"h":"v";if("touches"in j&&D==="h"&&E.type==="range")return!1;var k=window.getSelection(),I=k&&k.anchorNode,P=I?I===E||I.contains(E):!1;if(P)return!1;var B=tR(D,E);if(!B)return!0;if(B?R=D:(R=D==="v"?"h":"v",B=tR(D,E)),!B)return!1;if(!r.current&&"changedTouches"in j&&(O||T)&&(r.current=R),!R)return!0;var F=r.current||R;return $oe(F,C,j,F==="h"?O:T)},[]),h=b.useCallback(function(j){var C=j;if(!(!au.length||au[au.length-1]!==o)){var A="deltaY"in C?nR(C):jm(C),N=t.current.filter(function(R){return R.name===C.type&&(R.target===C.target||C.target===R.shadowParent)&&Boe(R.delta,A)})[0];if(N&&N.should){C.cancelable&&C.preventDefault();return}if(!N){var O=(u.current.shards||[]).map(rR).filter(Boolean).filter(function(R){return R.contains(C.target)}),T=O.length>0?c(C,O[0]):!u.current.noIsolation;T&&C.cancelable&&C.preventDefault()}}},[]),m=b.useCallback(function(j,C,A,N){var O={name:j,delta:C,target:A,should:N,shadowParent:Goe(A)};t.current.push(O),setTimeout(function(){t.current=t.current.filter(function(T){return T!==O})},1)},[]),v=b.useCallback(function(j){n.current=jm(j),r.current=void 0},[]),p=b.useCallback(function(j){m(j.type,nR(j),j.target,c(j,e.lockRef.current))},[]),x=b.useCallback(function(j){m(j.type,jm(j),j.target,c(j,e.lockRef.current))},[]);b.useEffect(function(){return au.push(o),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:x}),document.addEventListener("wheel",h,iu),document.addEventListener("touchmove",h,iu),document.addEventListener("touchstart",v,iu),function(){au=au.filter(function(j){return j!==o}),document.removeEventListener("wheel",h,iu),document.removeEventListener("touchmove",h,iu),document.removeEventListener("touchstart",v,iu)}},[]);var S=e.removeScrollBar,w=e.inert;return b.createElement(b.Fragment,null,w?b.createElement(o,{styles:Hoe(l)}):null,S?b.createElement(Doe,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Goe(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const qoe=boe(Zz,Voe);var nL=b.forwardRef(function(e,t){return b.createElement(Ag,Pi({},e,{ref:t,sideCar:qoe}))});nL.classNames=Ag.classNames;var Koe=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},lu=new WeakMap,Cm=new WeakMap,_m={},w0=0,rL=function(e){return e&&(e.host||rL(e.parentNode))},Yoe=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=rL(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Xoe=function(e,t,n,r){var l=Yoe(t,Array.isArray(e)?e:[e]);_m[n]||(_m[n]=new WeakMap);var o=_m[n],u=[],c=new Set,h=new Set(l),m=function(p){!p||c.has(p)||(c.add(p),m(p.parentNode))};l.forEach(m);var v=function(p){!p||h.has(p)||Array.prototype.forEach.call(p.children,function(x){if(c.has(x))v(x);else try{var S=x.getAttribute(r),w=S!==null&&S!=="false",j=(lu.get(x)||0)+1,C=(o.get(x)||0)+1;lu.set(x,j),o.set(x,C),u.push(x),j===1&&w&&Cm.set(x,!0),C===1&&x.setAttribute(n,"true"),w||x.setAttribute(r,"true")}catch(A){console.error("aria-hidden: cannot operate on ",x,A)}})};return v(t),c.clear(),w0++,function(){u.forEach(function(p){var x=lu.get(p)-1,S=o.get(p)-1;lu.set(p,x),o.set(p,S),x||(Cm.has(p)||p.removeAttribute(r),Cm.delete(p)),S||p.removeAttribute(n)}),w0--,w0||(lu=new WeakMap,lu=new WeakMap,Cm=new WeakMap,_m={})}},Qoe=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),l=Koe(e);return l?(r.push.apply(r,Array.from(l.querySelectorAll("[aria-live], script"))),Xoe(r,l,n,"aria-hidden")):function(){return null}},Zoe=Object.defineProperty,qi=(e,t)=>Zoe(e,"name",{value:t,configurable:!0}),ww="Dialog",[iL,Mse]=Vu(ww),[Woe,is]=iL(ww),Joe=qi(e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:l,onOpenChange:o,modal:u=!0}=e,c=b.useRef(null),h=b.useRef(null),{nodes:m,registry:v}=Hz(),[p,x]=Mv({prop:r,defaultProp:l??!1,onChange:o,caller:ww}),[S,w]=b.useState(0),[j,C]=b.useState(0);return f.jsx(Woe,{scope:t,triggerRef:c,contentRef:h,contentId:Yr(),titleId:Yr(),descriptionId:Yr(),titlePresent:S>0,descriptionPresent:j>0,setTitleCount:w,setDescriptionCount:C,open:p,onOpenChange:x,onOpenToggle:b.useCallback(()=>x(A=>!A),[x]),modal:u,branchNodes:m,branchRegistry:v,children:n})},"Dialog"),aL="DialogPortal",[ese,lL]=iL(aL,{forceMount:void 0}),tse=qi(e=>{const{__scopeDialog:t,forceMount:n,children:r,container:l}=e,o=is(aL,t);return f.jsx(ese,{scope:t,forceMount:n,children:b.Children.map(r,u=>f.jsx(Pv,{present:n||o.open,children:f.jsx(soe,{asChild:!0,container:l,children:u})}))})},"DialogPortal"),Xb="DialogOverlay",nse=b.forwardRef(qi(function(t,n){const r=lL(Xb,t.__scopeDialog),{forceMount:l=r.forceMount,...o}=t,u=is(Xb,t.__scopeDialog);return u.modal?f.jsx(Pv,{present:l||u.open,children:f.jsx(ise,{...o,ref:n})}):null},"DialogOverlay")),rse=Ml("DialogOverlay.RemoveScroll"),ise=b.forwardRef(qi(function(t,n){const{__scopeDialog:r,...l}=t,o=is(Xb,r),u=zz(),c=Kr(n,u);return f.jsx(nL,{as:rse,allowPinchZoom:!0,shards:b.useMemo(()=>[o.contentRef,...o.branchNodes.map(h=>({current:h}))],[o.contentRef,o.branchNodes]),children:f.jsx(ln.div,{"data-state":jw(o.open),...l,ref:c,style:{pointerEvents:"auto",...l.style}})})},"DialogOverlayImpl")),Ff="DialogContent",ase=b.forwardRef(qi(function(t,n){const r=lL(Ff,t.__scopeDialog),{forceMount:l=r.forceMount,...o}=t,u=is(Ff,t.__scopeDialog);return f.jsx(Pv,{present:l||u.open,children:u.modal?f.jsx(lse,{...o,ref:n}):f.jsx(ose,{...o,ref:n})})},"DialogContent")),lse=b.forwardRef(qi(function(t,n){const r=is(Ff,t.__scopeDialog),l=b.useRef(null),o=Kr(n,r.contentRef,l);return b.useEffect(()=>{const u=l.current;if(u)return Qoe(u)},[]),f.jsx(oL,{...t,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:$n(t.onCloseAutoFocus,u=>{var c;u.preventDefault(),(c=r.triggerRef.current)==null||c.focus()}),onPointerDownOutside:$n(t.onPointerDownOutside,u=>{const c=u.detail.originalEvent,h=c.button===0&&c.ctrlKey===!0;(c.button===2||h)&&u.preventDefault()}),onFocusOutside:$n(t.onFocusOutside,u=>u.preventDefault())})},"DialogContentModal")),ose=b.forwardRef(qi(function(t,n){const r=is(Ff,t.__scopeDialog),l=b.useRef(!1),o=b.useRef(!1);return f.jsx(oL,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:u=>{var c,h;(c=t.onCloseAutoFocus)==null||c.call(t,u),u.defaultPrevented||(l.current||(h=r.triggerRef.current)==null||h.focus(),u.preventDefault()),l.current=!1,o.current=!1},onInteractOutside:u=>{var m,v;(m=t.onInteractOutside)==null||m.call(t,u),u.defaultPrevented||(l.current=!0,u.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const c=u.target;((v=r.triggerRef.current)==null?void 0:v.contains(c))&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&o.current&&u.preventDefault()}})},"DialogContentNonModal")),oL=b.forwardRef(qi(function(t,n){const{__scopeDialog:r,trapFocus:l,onOpenAutoFocus:o,onCloseAutoFocus:u,"aria-describedby":c,children:h,...m}=t,v=is(Ff,r);return Sw(),f.jsx(Bz,{registry:v.branchRegistry,children:f.jsx(ioe,{asChild:!0,loop:!0,trapped:l,branches:v.branchNodes,onMountAutoFocus:o,onUnmountAutoFocus:u,children:f.jsx(toe,{role:"dialog",id:v.contentId,"aria-labelledby":v.titlePresent?v.titleId:void 0,"aria-describedby":v.descriptionPresent?sL(c,v.descriptionId):c,"data-state":jw(v.open),...m,ref:n,deferPointerDownOutside:!0,onDismiss:()=>v.onOpenChange(!1),children:h})})})},"DialogContentImpl"));function sL(...e){const t=new Set;for(const n of e)if(typeof n=="string")for(const r of String(n).trim().split(/\s+/))r&&t.add(r);return t.size>0?Array.from(t).join(" "):void 0}qi(sL,"concatAriaDescribedby");function jw(e){return e?"open":"closed"}qi(jw,"getState");var gf='[cmdk-group=""]',j0='[cmdk-group-items=""]',sse='[cmdk-group-heading=""]',uL='[cmdk-item=""]',iR=`${uL}:not([aria-disabled="true"])`,Qb="cmdk-item-select",cu="data-value",use=(e,t,n)=>Zle(e,t,n),cL=b.createContext(void 0),gd=()=>b.useContext(cL),fL=b.createContext(void 0),Cw=()=>b.useContext(fL),dL=b.createContext(void 0),hL=b.forwardRef((e,t)=>{let n=fu(()=>{var ee,ve;return{search:"",value:(ve=(ee=e.value)!=null?ee:e.defaultValue)!=null?ve:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=fu(()=>new Set),l=fu(()=>new Map),o=fu(()=>new Map),u=fu(()=>new Set),c=mL(e),{label:h,children:m,value:v,onValueChange:p,filter:x,shouldFilter:S,loop:w,disablePointerSelection:j=!1,vimBindings:C=!0,...A}=e,N=Yr(),O=Yr(),T=Yr(),R=b.useRef(null),E=bse();Zo(()=>{if(v!==void 0){let ee=v.trim();n.current.value=ee,D.emit()}},[v]),Zo(()=>{E(6,se)},[]);let D=b.useMemo(()=>({subscribe:ee=>(u.current.add(ee),()=>u.current.delete(ee)),snapshot:()=>n.current,setState:(ee,ve,z)=>{var Y,le,fe,De;if(!Object.is(n.current[ee],ve)){if(n.current[ee]=ve,ee==="search")F(),P(),E(1,B);else if(ee==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let te=document.getElementById(T);te?te.focus():(Y=document.getElementById(N))==null||Y.focus()}if(E(7,()=>{var te;n.current.selectedItemId=(te=ue())==null?void 0:te.id,D.emit()}),z||E(5,se),((le=c.current)==null?void 0:le.value)!==void 0){let te=ve??"";(De=(fe=c.current).onValueChange)==null||De.call(fe,te);return}}D.emit()}},emit:()=>{u.current.forEach(ee=>ee())}}),[]),k=b.useMemo(()=>({value:(ee,ve,z)=>{var Y;ve!==((Y=o.current.get(ee))==null?void 0:Y.value)&&(o.current.set(ee,{value:ve,keywords:z}),n.current.filtered.items.set(ee,I(ve,z)),E(2,()=>{P(),D.emit()}))},item:(ee,ve)=>(r.current.add(ee),ve&&(l.current.has(ve)?l.current.get(ve).add(ee):l.current.set(ve,new Set([ee]))),E(3,()=>{F(),P(),n.current.value||B(),D.emit()}),()=>{o.current.delete(ee),r.current.delete(ee),n.current.filtered.items.delete(ee);let z=ue();E(4,()=>{F(),(z==null?void 0:z.getAttribute("id"))===ee&&B(),D.emit()})}),group:ee=>(l.current.has(ee)||l.current.set(ee,new Set),()=>{o.current.delete(ee),l.current.delete(ee)}),filter:()=>c.current.shouldFilter,label:h||e["aria-label"],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:N,inputId:T,labelId:O,listInnerRef:R}),[]);function I(ee,ve){var z,Y;let le=(Y=(z=c.current)==null?void 0:z.filter)!=null?Y:use;return ee?le(ee,n.current.search,ve):0}function P(){if(!n.current.search||c.current.shouldFilter===!1)return;let ee=n.current.filtered.items,ve=[];n.current.filtered.groups.forEach(Y=>{let le=l.current.get(Y),fe=0;le.forEach(De=>{let te=ee.get(De);fe=Math.max(te,fe)}),ve.push([Y,fe])});let z=R.current;de().sort((Y,le)=>{var fe,De;let te=Y.getAttribute("id"),ge=le.getAttribute("id");return((fe=ee.get(ge))!=null?fe:0)-((De=ee.get(te))!=null?De:0)}).forEach(Y=>{let le=Y.closest(j0);le?le.appendChild(Y.parentElement===le?Y:Y.closest(`${j0} > *`)):z.appendChild(Y.parentElement===z?Y:Y.closest(`${j0} > *`))}),ve.sort((Y,le)=>le[1]-Y[1]).forEach(Y=>{var le;let fe=(le=R.current)==null?void 0:le.querySelector(`${gf}[${cu}="${encodeURIComponent(Y[0])}"]`);fe==null||fe.parentElement.appendChild(fe)})}function B(){let ee=de().find(z=>z.getAttribute("aria-disabled")!=="true"),ve=ee==null?void 0:ee.getAttribute(cu);D.setState("value",ve||void 0)}function F(){var ee,ve,z,Y;if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let le=0;for(let fe of r.current){let De=(ve=(ee=o.current.get(fe))==null?void 0:ee.value)!=null?ve:"",te=(Y=(z=o.current.get(fe))==null?void 0:z.keywords)!=null?Y:[],ge=I(De,te);n.current.filtered.items.set(fe,ge),ge>0&&le++}for(let[fe,De]of l.current)for(let te of De)if(n.current.filtered.items.get(te)>0){n.current.filtered.groups.add(fe);break}n.current.filtered.count=le}function se(){var ee,ve,z;let Y=ue();Y&&(((ee=Y.parentElement)==null?void 0:ee.firstChild)===Y&&((z=(ve=Y.closest(gf))==null?void 0:ve.querySelector(sse))==null||z.scrollIntoView({block:"nearest"})),Y.scrollIntoView({block:"nearest"}))}function ue(){var ee;return(ee=R.current)==null?void 0:ee.querySelector(`${uL}[aria-selected="true"]`)}function de(){var ee;return Array.from(((ee=R.current)==null?void 0:ee.querySelectorAll(iR))||[])}function G(ee){let ve=de()[ee];ve&&D.setState("value",ve.getAttribute(cu))}function ne(ee){var ve;let z=ue(),Y=de(),le=Y.findIndex(De=>De===z),fe=Y[le+ee];(ve=c.current)!=null&&ve.loop&&(fe=le+ee<0?Y[Y.length-1]:le+ee===Y.length?Y[0]:Y[le+ee]),fe&&D.setState("value",fe.getAttribute(cu))}function ie(ee){let ve=ue(),z=ve==null?void 0:ve.closest(gf),Y;for(;z&&!Y;)z=ee>0?yse(z,gf):xse(z,gf),Y=z==null?void 0:z.querySelector(iR);Y?D.setState("value",Y.getAttribute(cu)):ne(ee)}let ce=()=>G(de().length-1),U=ee=>{ee.preventDefault(),ee.metaKey?ce():ee.altKey?ie(1):ne(1)},Ee=ee=>{ee.preventDefault(),ee.metaKey?G(0):ee.altKey?ie(-1):ne(-1)};return b.createElement(ln.div,{ref:t,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:ee=>{var ve;(ve=A.onKeyDown)==null||ve.call(A,ee);let z=ee.nativeEvent.isComposing||ee.keyCode===229;if(!(ee.defaultPrevented||z))switch(ee.key){case"n":case"j":{C&&ee.ctrlKey&&U(ee);break}case"ArrowDown":{U(ee);break}case"p":case"k":{C&&ee.ctrlKey&&Ee(ee);break}case"ArrowUp":{Ee(ee);break}case"Home":{ee.preventDefault(),G(0);break}case"End":{ee.preventDefault(),ce();break}case"Enter":{ee.preventDefault();let Y=ue();if(Y){let le=new Event(Qb);Y.dispatchEvent(le)}}}}},b.createElement("label",{"cmdk-label":"",htmlFor:k.inputId,id:k.labelId,style:wse},h),Eg(e,ee=>b.createElement(fL.Provider,{value:D},b.createElement(cL.Provider,{value:k},ee))))}),cse=b.forwardRef((e,t)=>{var n,r;let l=Yr(),o=b.useRef(null),u=b.useContext(dL),c=gd(),h=mL(e),m=(r=(n=h.current)==null?void 0:n.forceMount)!=null?r:u==null?void 0:u.forceMount;Zo(()=>{if(!m)return c.item(l,u==null?void 0:u.id)},[m]);let v=vL(l,o,[e.value,e.children,o],e.keywords),p=Cw(),x=zl(E=>E.value&&E.value===v.current),S=zl(E=>m||c.filter()===!1?!0:E.search?E.filtered.items.get(l)>0:!0);b.useEffect(()=>{let E=o.current;if(!(!E||e.disabled))return E.addEventListener(Qb,w),()=>E.removeEventListener(Qb,w)},[S,e.onSelect,e.disabled]);function w(){var E,D;j(),(D=(E=h.current).onSelect)==null||D.call(E,v.current)}function j(){p.setState("value",v.current,!0)}if(!S)return null;let{disabled:C,value:A,onSelect:N,forceMount:O,keywords:T,...R}=e;return b.createElement(ln.div,{ref:Bo(o,t),...R,id:l,"cmdk-item":"",role:"option","aria-disabled":!!C,"aria-selected":!!x,"data-disabled":!!C,"data-selected":!!x,onPointerMove:C||c.getDisablePointerSelection()?void 0:j,onClick:C?void 0:w},e.children)}),fse=b.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:l,...o}=e,u=Yr(),c=b.useRef(null),h=b.useRef(null),m=Yr(),v=gd(),p=zl(S=>l||v.filter()===!1?!0:S.search?S.filtered.groups.has(u):!0);Zo(()=>v.group(u),[]),vL(u,c,[e.value,e.heading,h]);let x=b.useMemo(()=>({id:u,forceMount:l}),[l]);return b.createElement(ln.div,{ref:Bo(c,t),...o,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},n&&b.createElement("div",{ref:h,"cmdk-group-heading":"","aria-hidden":!0,id:m},n),Eg(e,S=>b.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?m:void 0},b.createElement(dL.Provider,{value:x},S))))}),dse=b.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,l=b.useRef(null),o=zl(u=>!u.search);return!n&&!o?null:b.createElement(ln.div,{ref:Bo(l,t),...r,"cmdk-separator":"",role:"separator"})}),hse=b.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,l=e.value!=null,o=Cw(),u=zl(m=>m.search),c=zl(m=>m.selectedItemId),h=gd();return b.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),b.createElement(ln.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":h.listId,"aria-labelledby":h.labelId,"aria-activedescendant":c,id:h.inputId,type:"text",value:l?e.value:u,onChange:m=>{l||o.setState("search",m.target.value),n==null||n(m.target.value)}})}),mse=b.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...l}=e,o=b.useRef(null),u=b.useRef(null),c=zl(m=>m.selectedItemId),h=gd();return b.useEffect(()=>{if(u.current&&o.current){let m=u.current,v=o.current,p,x=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let S=m.offsetHeight;v.style.setProperty("--cmdk-list-height",S.toFixed(1)+"px")})});return x.observe(m),()=>{cancelAnimationFrame(p),x.unobserve(m)}}},[]),b.createElement(ln.div,{ref:Bo(o,t),...l,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":c,"aria-label":r,id:h.listId},Eg(e,m=>b.createElement("div",{ref:Bo(u,h.listInnerRef),"cmdk-list-sizer":""},m)))}),vse=b.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:l,contentClassName:o,container:u,...c}=e;return b.createElement(Joe,{open:n,onOpenChange:r},b.createElement(tse,{container:u},b.createElement(nse,{"cmdk-overlay":"",className:l}),b.createElement(ase,{"aria-label":e.label,"cmdk-dialog":"",className:o},b.createElement(hL,{ref:t,...c}))))}),gse=b.forwardRef((e,t)=>zl(n=>n.filtered.count===0)?b.createElement(ln.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),pse=b.forwardRef((e,t)=>{let{progress:n,children:r,label:l="Loading...",...o}=e;return b.createElement(ln.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":l},Eg(e,u=>b.createElement("div",{"aria-hidden":!0},u)))}),gl=Object.assign(hL,{List:mse,Item:cse,Input:hse,Group:fse,Separator:dse,Dialog:vse,Empty:gse,Loading:pse});function yse(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function xse(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function mL(e){let t=b.useRef(e);return Zo(()=>{t.current=e}),t}var Zo=typeof window>"u"?b.useEffect:b.useLayoutEffect;function fu(e){let t=b.useRef();return t.current===void 0&&(t.current=e()),t}function zl(e){let t=Cw(),n=()=>e(t.snapshot());return b.useSyncExternalStore(t.subscribe,n,n)}function vL(e,t,n,r=[]){let l=b.useRef(),o=gd();return Zo(()=>{var u;let c=(()=>{var m;for(let v of n){if(typeof v=="string")return v.trim();if(typeof v=="object"&&"current"in v)return v.current?(m=v.current.textContent)==null?void 0:m.trim():l.current}})(),h=r.map(m=>m.trim());o.value(e,c,h),(u=t.current)==null||u.setAttribute(cu,c),l.current=c}),l}var bse=()=>{let[e,t]=b.useState(),n=fu(()=>new Map);return Zo(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,l)=>{n.current.set(r,l),t({})}};function Sse(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Eg({asChild:e,children:t},n){return e&&b.isValidElement(t)?b.cloneElement(Sse(t),{ref:t.ref},n(t.props.children)):n(t)}var wse={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const jse=[["home","Обзор"],["users","Пользователи"],["subs","Подписки и оплаты"],["devices","Устройства"],["sources","Источники поиска"],["rank","Подбор раздач"],["cache","Кэш"],["funnel","Воронка"],["revenue","Выручка"],["nuc","NUC"],["support","Поддержка"],["promos","Промо"],["fails","Отказы"],["audit","Журнал"],["ads","Реклама"],["referral","Рефералы"],["services","Сервисы"],["dht","DHT"],["monitor","Мониторинг"],["changes","Изменения"],["settings","Настройки"],["security","Доступ"],["crashes","Сбои"],["broadcast","Рассылка"],["versions","Версии"]].map(([e,t])=>({id:e,label:t}));function Cse({open:e,onOpen:t,go:n}){const[r,l]=b.useState(""),[o,u]=b.useState([]);return b.useEffect(()=>{const c=h=>{(h.ctrlKey||h.metaKey)&&h.key.toLowerCase()==="k"&&(h.preventDefault(),t(!e))};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[e,t]),b.useEffect(()=>{if(!e||r.trim().length<2){u([]);return}let c=!1;const h=window.setTimeout(()=>{ot("/admin/api/search?q="+encodeURIComponent(r.trim())).then(m=>{c||u(m.hits||[])})},180);return()=>{c=!0,window.clearTimeout(h)}},[r,e]),e?f.jsx("div",{className:"fixed inset-0 z-50 flex items-start justify-center bg-black/60 px-4 pt-[12vh]",onClick:()=>t(!1),children:f.jsx("div",{className:"w-full max-w-xl rounded-lg border border-border bg-card shadow-xl",onClick:c=>c.stopPropagation(),children:f.jsxs(gl,{label:"Поиск",shouldFilter:!1,children:[f.jsx(gl.Input,{value:r,onValueChange:l,placeholder:"Аккаунт, устройство, платёж, раздача",autoFocus:!0}),f.jsxs(gl.List,{className:"max-h-80 overflow-auto p-2",children:[f.jsx(gl.Empty,{className:"px-2 py-3 text-sm text-muted-foreground",children:"Ничего не найдено"}),f.jsx(gl.Group,{heading:"Экраны",children:jse.filter(c=>!r.trim()||c.label.toLowerCase().indexOf(r.trim().toLowerCase())>=0).map(c=>f.jsx(gl.Item,{value:c.label,onSelect:()=>{n(c.id),t(!1)},children:c.label},c.id))}),o.length?f.jsx(gl.Group,{heading:"Данные",children:o.map(c=>f.jsxs(gl.Item,{value:c.kind+" "+c.title,onSelect:()=>{if(c.href.indexOf("tab=")>=0){const h=new URL(c.href,location.origin).searchParams.get("tab");h&&n(h)}c.href.indexOf("id=")>=0&&(location.href=c.href),t(!1)},children:[f.jsx("span",{className:"mr-2 text-xs uppercase text-muted-foreground",children:c.kind}),c.title]},c.kind+c.id))}):null]})]})})}):null}const _se=[{title:"Обзор",items:[["home","Обзор"],["users","Пользователи"],["subs","Подписки и оплаты"],["devices","Устройства"]]},{title:"Сеть",items:[["sources","Источники"],["rank","Подбор"],["cache","Кэш"],["nuc","NUC"]]},{title:"Деньги",items:[["funnel","Воронка"],["revenue","Выручка"],["finance","Финансы"],["donations","Донаты"],["promos","Промо"],["referral","Рефералы"]]},{title:"Работа",items:[["support","Поддержка"],["fails","Отказы"],["ads","Реклама"],["services","Сервисы"],["dht","DHT"],["monitor","Мониторинг"],["changes","Изменения"]]},{title:"Система",items:[["settings","Настройки"],["audit","Журнал"],["security","Доступ"],["crashes","Сбои"],["broadcast","Рассылка"],["versions","Версии"]]}];function Ase(e,t){return Tv({queryKey:["desk"],enabled:e,refetchInterval:t?!1:12e3,queryFn:()=>ot("/admin/api/desk")})}function Ese({alerts:e}){const t=e||[];return f.jsxs(ye,{id:"alerts",children:[f.jsx(Ne,{children:f.jsxs(Te,{children:["Предупреждения"," ",t.length>0?f.jsx(Oe,{variant:"count",className:"ml-2 align-middle",children:t.length}):null]})}),t.length===0?f.jsx(xe,{className:"text-sm text-muted-foreground",children:"Алертов нет"}):f.jsx(xe,{className:"space-y-2",children:t.map((n,r)=>f.jsx(r6,{a:n},r))})]})}function Ose(){var k,I,P,B,F,se,ue,de;const[e,t]=b.useState(null),[n,r]=b.useState(null),[l,o]=b.useState(null),u=b.useMemo(()=>new URLSearchParams(location.search),[]),[c,h]=b.useState(()=>u.get("tab")||"home"),[m,v]=b.useState("all"),[p,x]=b.useState(""),[S,w]=b.useState(!1),[j,C]=b.useState(!1),A=u.get("tg")||"",N=Iv(),O=Ase(e===!0&&!l,N.paused);async function T(){const G=new URLSearchParams(location.search).get("id");if(G){const ie=await ot("/admin/api/user?id="+encodeURIComponent(G));if(ie.auth===!1){t(!1);return}if(ie.error){o(null),t(!0);const ce=await ot("/admin/api/home");r(ce);return}o(ie),t(!0);return}const ne=await ot("/admin/api/home");if(ne.auth===!1){t(!1);return}r(ne),o(null),t(!0)}b.useEffect(()=>{T()},[]),b.useEffect(()=>{const G=()=>void T();return window.addEventListener("omp-admin-live",G),()=>window.removeEventListener("omp-admin-live",G)},[]),b.useEffect(()=>{if(e!==!0||c!=="support"||l)return;let G=!1;const ne=window.setInterval(()=>{ot("/admin/api/home").then(ie=>{if(!G){if(ie.auth===!1){t(!1);return}r(ce=>ce&&{...ce,support:ie.support||[]})}})},3e3);return()=>{G=!0,window.clearInterval(ne)}},[e,c,l]);async function R(G,ne={}){var U,Ee,ee;const ie=(l==null?void 0:l.csrf)||(n==null?void 0:n.csrf)||"",ce=await Qt(G,ie,ne);if(ce.auth===!1)return t(!1),ce;if(G==="/admin/logout")return location.href="/admin/",ce;if(ce.redirect){const z=new URL(ce.redirect,location.origin).searchParams.get("id")||"",Y=new URLSearchParams(location.search).get("id")||"";if(z!==Y)return location.href=ce.redirect,ce}return await T(),(U=ce.flash)!=null&&U.error?ft(ce.flash.error):(Ee=ce.flash)!=null&&Ee.text?ft(ce.flash.text):(ee=ce.flash)!=null&&ee.promo&&ft("Промокод создан"),ce}if(e===null)return f.jsx(i6,{});if(e===!1)return f.jsx(o6,{});if(l)return f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"mx-auto flex max-w-[1200px] items-center justify-between px-4 py-3",children:[f.jsx(KE,{}),f.jsx(he,{variant:"secondary",onClick:()=>location.href="/admin/",children:"К списку"})]}),f.jsx(U6,{user:l,run:R}),f.jsx(NE,{})]});const E=n||{},D=O.data&&O.data.auth!==!1?O.data:void 0;return f.jsxs("main",{className:"min-h-screen lg:flex",children:[f.jsxs("aside",{className:(S?"block":"hidden")+" w-full border-b border-border bg-card lg:block lg:w-56 lg:shrink-0 lg:border-b-0 lg:border-r",children:[f.jsx("div",{className:"px-3 py-3",children:f.jsx(RM,{})}),f.jsx("nav",{className:"px-2 pb-4",children:_se.map(G=>f.jsxs("div",{className:"mb-3",children:[f.jsx("div",{className:"px-2 py-1 text-[11px] uppercase tracking-wide text-muted-foreground",children:G.title}),G.items.map(([ne,ie])=>f.jsxs("button",{type:"button",className:"block w-full rounded-md px-2 py-1.5 text-left text-sm "+(c===ne?"bg-primary text-primary-foreground":"text-foreground hover:bg-secondary"),onClick:()=>{h(ne),w(!1)},children:[ie,ne==="support"&&(E.support||[]).length>0?" "+(E.support||[]).length:""]},ne))]},G.title))})]}),f.jsxs("div",{className:"min-w-0 flex-1 space-y-4 px-4 py-4",children:[f.jsxs("header",{className:"flex flex-wrap items-center justify-between gap-3",children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(he,{variant:"secondary",className:"lg:hidden",onClick:()=>w(G=>!G),children:"Меню"}),f.jsx(he,{variant:"secondary",onClick:()=>C(!0),children:"Поиск"}),f.jsx("span",{className:"text-xs text-muted-foreground",children:"Ctrl+K"})]}),f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx(KE,{}),f.jsx("span",{className:"text-xs text-muted-foreground",children:(D==null?void 0:D.role)==="read"?"только просмотр":"полный доступ"}),f.jsx(he,{variant:"secondary",onClick:()=>void R("/admin/logout"),children:"Выйти"})]})]}),f.jsx(Cse,{open:j,onOpen:C,go:h}),f.jsx(TM,{flash:E.flash}),f.jsxs(t6,{value:c,onValueChange:h,children:[f.jsxs(NM,{className:"hidden",children:[f.jsxs(wt,{value:"home",children:["Главная",(E.alerts||[]).length>0?f.jsx(Oe,{variant:"count",className:"ml-2",children:(E.alerts||[]).length}):null]}),f.jsxs(wt,{value:"support",children:["Поддержка",(E.support||[]).length>0?f.jsx(Oe,{variant:"count",className:"ml-2",children:(E.support||[]).length}):null]}),f.jsx(wt,{value:"subs",children:"Подписки"}),f.jsx(wt,{value:"finance",children:"Финансы"}),f.jsx(wt,{value:"promos",children:"Промо"}),f.jsx(wt,{value:"fails",children:"Отказы"}),f.jsx(wt,{value:"audit",children:"Журнал"}),f.jsx(wt,{value:"ads",children:"Реклама"}),f.jsx(wt,{value:"referral",children:"Рефералы"}),f.jsx(wt,{value:"services",children:"Сервисы"}),f.jsx(wt,{value:"cache",children:"Кэш"}),f.jsx(wt,{value:"dht",children:"DHT"}),f.jsx(wt,{value:"monitor",children:"Мониторинг"}),f.jsx(wt,{value:"changes",children:"Изменения"}),f.jsx(wt,{value:"settings",children:"Настройки"}),f.jsx(wt,{value:"security",children:"Доступ"}),f.jsx(wt,{value:"users",children:"Пользователи"}),f.jsx(wt,{value:"devices",children:"Устройства"}),f.jsx(wt,{value:"sources",children:"Источники"}),f.jsx(wt,{value:"rank",children:"Подбор"}),f.jsx(wt,{value:"funnel",children:"Воронка"}),f.jsx(wt,{value:"revenue",children:"Выручка"}),f.jsx(wt,{value:"nuc",children:"NUC"}),f.jsx(wt,{value:"crashes",children:"Сбои"}),f.jsx(wt,{value:"broadcast",children:"Рассылка"}),f.jsx(wt,{value:"versions",children:"Версии"})]}),f.jsx(bt,{value:"support",children:f.jsx(M6,{csrf:E.csrf,threads:E.support||[],onSent:()=>void T(),initialTelegramId:A})}),f.jsxs(bt,{value:"home",className:"space-y-4",children:[f.jsx(Rle,{data:D,csrf:E.csrf||""}),f.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6",children:[[((k=E.stats)==null?void 0:k.accounts)??0,"аккаунтов"],[((I=E.stats)==null?void 0:I.activeSubs)??0,"активных"],[((P=E.stats)==null?void 0:P.payments30)??0,"оплат / 30 дн."],[Math.round(((B=E.stats)==null?void 0:B.revenue30)||0),"₽ / 30 дн."],[((F=E.stats)==null?void 0:F.devicesRefresh)==null?"-":E.stats.devicesRefresh,"новые токены"],[((se=E.stats)==null?void 0:se.devicesLegacy)==null?"-":E.stats.devicesLegacy,"старые токены"]].map(([G,ne])=>f.jsx(ye,{children:f.jsxs(xe,{className:"pt-4",children:[f.jsx("div",{className:"text-2xl font-bold",children:G}),f.jsx("div",{className:"text-xs text-muted-foreground",children:ne})]})},ne))}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Найти"})}),f.jsx(xe,{children:f.jsxs("form",{className:"flex flex-col gap-2 sm:flex-row",onSubmit:G=>{G.preventDefault(),R("/admin/find",{q:p})},children:[f.jsx($e,{placeholder:"Telegram / почта / код / идентификатор",value:p,onChange:G=>x(G.target.value)}),f.jsx(he,{type:"submit",children:"Найти"})]})})]}),f.jsx(Ese,{alerts:E.alerts}),f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Быстрое промо"})}),f.jsxs(xe,{className:"flex flex-wrap gap-2",children:[f.jsx(he,{onClick:()=>void R("/admin/promo",{days:1,maxUses:1}),children:"1 день × 1"}),f.jsx(he,{variant:"secondary",onClick:()=>void R("/admin/promo",{days:7,maxUses:10}),children:"7 дней × 10"}),f.jsx(he,{variant:"secondary",onClick:()=>void R("/admin/promo",{days:30,maxUses:1}),children:"30 дней × 1"})]})]}),f.jsx(aH,{run:R}),f.jsx(iH,{events:E.events||[]})]}),f.jsx(bt,{value:"users",children:f.jsx(Mle,{users:(D==null?void 0:D.users)||[],go:G=>location.href="/admin/?id="+encodeURIComponent(G)})}),f.jsx(bt,{value:"devices",children:f.jsx(Dle,{rows:(D==null?void 0:D.devices)||[]})}),f.jsxs(bt,{value:"sources",className:"space-y-4",children:[f.jsx(Ple,{data:D,csrf:E.csrf||""}),f.jsx(qE,{csrf:E.csrf||"",settings:E.settings||{},secrets:E.secrets,onSaved:()=>void T()})]}),f.jsx(bt,{value:"rank",children:c==="rank"?f.jsx(L8,{csrf:E.csrf||""}):null}),f.jsx(bt,{value:"funnel",children:f.jsx(kle,{data:D})}),f.jsx(bt,{value:"revenue",children:f.jsx(Ile,{data:D})}),f.jsx(bt,{value:"nuc",children:f.jsx(zle,{csrf:E.csrf||""})}),f.jsx(bt,{value:"subs",children:f.jsx(oH,{subs:E.subscriptions||[],filter:m,setFilter:v,csrf:E.csrf||""})}),f.jsxs(bt,{value:"finance",className:"space-y-4",children:[f.jsx(zM,{rows:E.pending||[],run:R,showWho:!0}),f.jsx(cH,{home:E})]}),f.jsx(bt,{value:"promos",children:f.jsx(lH,{run:R,promos:E.promos||[]})}),f.jsx(bt,{value:"fails",children:f.jsx(gH,{})}),f.jsxs(bt,{value:"audit",className:"space-y-4",children:[f.jsxs(ye,{children:[f.jsx(Ne,{children:f.jsx(Te,{children:"Откат настройки"})}),f.jsx(xe,{children:f.jsx(Lle,{rows:(D==null?void 0:D.rollbacks)||[],csrf:E.csrf||""})})]}),f.jsx(vH,{})]}),f.jsx(bt,{value:"changes",children:f.jsx(o8,{})}),f.jsx(bt,{value:"settings",children:f.jsx(dH,{run:R,settings:E.settings||{},storage:E.storage,backup:E.backup,secrets:E.secrets})}),f.jsx(bt,{value:"ads",children:c==="ads"?f.jsx(G6,{csrf:E.csrf||""}):null}),f.jsx(bt,{value:"donations",children:f.jsx(e8,{settings:(ue=E.settings)==null?void 0:ue.donate,report:E.donations,run:R})}),f.jsx(bt,{value:"referral",children:f.jsx(t8,{csrf:E.csrf||"",settings:(de=E.settings)==null?void 0:de.referral,journal:E.referralJournal,run:G=>R("/admin/referral",G)})}),f.jsx(bt,{value:"services",children:f.jsx(qE,{csrf:E.csrf||"",settings:E.settings||{},secrets:E.secrets,onSaved:()=>void T()})}),f.jsx(bt,{value:"cache",children:c==="cache"?f.jsx(I8,{csrf:E.csrf||""}):null}),f.jsx(bt,{value:"dht",children:c==="dht"?f.jsx(M8,{csrf:E.csrf||""}):null}),f.jsx(bt,{value:"monitor",children:f.jsx(C8,{csrf:E.csrf||""})}),f.jsxs(bt,{value:"security",className:"space-y-4",children:[f.jsx(pH,{run:R,sessions:E.sessions||[],sessionId:E.sessionId||""}),f.jsx(Hle,{})]}),f.jsx(bt,{value:"crashes",children:f.jsx(Ule,{csrf:E.csrf||""})}),f.jsx(bt,{value:"broadcast",children:f.jsx($le,{csrf:E.csrf||""})}),f.jsx(bt,{value:"versions",children:f.jsx(Ble,{data:D})})]}),f.jsx(NE,{})]})]})}const Nse=new V$({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}});o5.createRoot(document.getElementById("root")).render(f.jsx(b.StrictMode,{children:f.jsx(x$,{client:Nse,children:f.jsx(yH,{children:f.jsx(Ose,{})})})})); diff --git a/ops/billing/public/index.html b/ops/billing/public/index.html index 090aceab..e96d95ed 100644 --- a/ops/billing/public/index.html +++ b/ops/billing/public/index.html @@ -8,8 +8,8 @@ - - + +
diff --git a/ops/billing/src/bot.mjs b/ops/billing/src/bot.mjs index d8c6a914..91c9b612 100644 --- a/ops/billing/src/bot.mjs +++ b/ops/billing/src/bot.mjs @@ -1,4 +1,5 @@ import { CRYPTO_ASSETS } from './cryptoPay.mjs'; +import { capReferralOff } from './referralAdmin.mjs'; import { donateMenu, donateOnCallback, donateOnText } from './donate.mjs'; import { cryptoOffered, labelSettled, starBlurb, starInvoiceBody, starsOffered } from './payMethods.mjs'; import { payUrl } from './yoomoney.mjs'; @@ -408,22 +409,23 @@ function statusText(state, sub, account, opts) { */ export function renewalText(state, subRow, sub, now, opts) { const quote = renewalPrice(state, subRow, now, opts); - const off = referralDiscountOf(state, subRow && subRow.accountId, quote.base, now); + const priced = capReferralOff(quote.total, referralDiscountOf(state, subRow && subRow.accountId, quote.base, now)); + const off = priced.off; const from = sub.active ? sub.paidUntil : now; const lines = ['Продление на ' + daysText(quote.days) + ', до ' + mskDateTime(from + quote.days * 86400000) + ':']; lines.push('• подписка - ' + rub(quote.base)); if (off > 0) lines.push('• скидка по приглашению - ' + rub(off)); if (quote.extras > 0) lines.push('• доп. устройство × ' + quote.extras + ' - ' + rub(quote.extraSum)); if (quote.credit > 0) lines.push('• зачёт - −' + rub(quote.credit)); - if (quote.extras > 0 || quote.credit > 0 || off > 0) lines.push('Итого: ' + rub(Math.max(0, quote.total - off))); + if (quote.extras > 0 || quote.credit > 0 || off > 0) lines.push('Итого: ' + rub(priced.due)); return { text: lines.join('\n'), quote }; } function withInviteOff(state, subRow, quote, now) { if (!quote) return quote; - const off = referralDiscountOf(state, subRow && subRow.accountId, quote.base, now); - if (!(off > 0)) return quote; - return { ...quote, total: Math.max(0, quote.total - off), referralOff: off }; + const priced = capReferralOff(quote.total, referralDiscountOf(state, subRow && subRow.accountId, quote.base, now)); + if (!(priced.off > 0)) return quote; + return { ...quote, total: priced.due, referralOff: priced.off }; } function renewalPriceLine(quote) { diff --git a/ops/billing/src/logic.mjs b/ops/billing/src/logic.mjs index 34ddfdde..232e79b7 100644 --- a/ops/billing/src/logic.mjs +++ b/ops/billing/src/logic.mjs @@ -1,5 +1,5 @@ import { codeHash, deviceOk, normalizeCode, randomCode, randomId, sha256 } from './crypto.mjs'; -import { normalizeReferralSettings, offerDays, offerPercent, referralCodeFor, referralDiscountRub, retentionStreak, REFERRAL_BONUS_MAX, mskMonthStart } from './referralAdmin.mjs'; +import { capReferralOff, mskMonthStart, normalizeReferralSettings, offerDays, offerPercent, referralCodeFor, referralDiscountRub, retentionStreak, REFERRAL_BONUS_MAX } from './referralAdmin.mjs'; import { CRYPTO_ASSETS } from './cryptoPay.mjs'; import { addMethodSplit, altCovers, cryptoDue, cryptoInvoiceMatches, emptyMethodSplit, labelSettled, rubOfPayment, starDue } from './payMethods.mjs'; import { grossUp, settledCovers, transferCovers } from './yoomoney.mjs'; @@ -1145,7 +1145,8 @@ export function phoneBill(state, accountId, now) { const prices = priceText(state.settings || {}); const quote = sub ? renewalPrice(state, sub, nowMs) : { total: prices.price, days: prices.days, base: prices.price }; const off = referralDiscountOf(state, accountId, Number(quote.base) > 0 ? quote.base : prices.price, nowMs); - const price = Math.max(0, Math.round(((Number(quote.total) || 0) - off) * 100) / 100); + const priced = capReferralOff(Number(quote.total) || 0, off); + const price = Math.max(0, Math.round(priced.due * 100) / 100); const up = grossUp(price, 'AC'); const fee = up ? up.fee : 0; const total = up ? up.gross : price; @@ -1270,10 +1271,33 @@ function referralRowSame(a, b) { (Number(a.credit) || 0) === (Number(b.credit) || 0) && (Number(a.friendDays) || 0) === (Number(b.friendDays) || 0) && !!a.noticePending === !!b.noticePending && - !!a.friendNoticePending === !!b.friendNoticePending + !!a.friendNoticePending === !!b.friendNoticePending && + (a.paymentId || '') === (b.paymentId || '') ); } +function isDevicePay(state, row) { + const label = String((row && row.label) || ''); + if (label.indexOf('dev:') === 0) return true; + if (label.indexOf('buy:') === 0) { + const quote = (state.purchases || []).find((item) => item && item.id === label.slice(4)); + return !!(quote && quote.kind === 'dev'); + } + return false; +} + +function subscriptionPaidBefore(state, accountId, operationId) { + const rows = state.payments || []; + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + if (!row || row.accountId !== accountId || row.pending || row.error) continue; + if (operationId && row.operationId === operationId) continue; + if (isDevicePay(state, row)) continue; + return true; + } + return false; +} + function referralIndex(journal, friendId, referrerId, variant) { return journal.findIndex((row) => { if (!row || row.friendId !== friendId || row.referrerId !== referrerId) return false; @@ -1334,7 +1358,7 @@ export function referralDiscountOf(state, accountId, baseRub, now) { if (!bind) return 0; const referrerSub = anySub(state, bind.referrerId); const active = !!(referrerSub && subAccess(state, referrerSub, now || Date.now()).access); - const alreadyPaid = friendPayments(state, accountId, bind.boundAt).length > 0; + const alreadyPaid = subscriptionPaidBefore(state, accountId, ''); return referralDiscountRub(settings, { referrerActive: active, alreadyPaid, boundAt: bind.boundAt, baseRub, now }); } @@ -1448,14 +1472,19 @@ export function settleReferrals(state, now) { } const percent = offerPercent(settings, friendsPaid); - const paymentRub = rubOfPayment(payments[0]); - const rawCredit = percent > 0 ? Math.floor((paymentRub * percent) / 100) : 0; - if (rawCredit > 0 || (percent > 0 && settings.balanceMonthlyCap > 0)) { - const balIdx = referralIndex(journal, bind.friendId, bind.referrerId, 'balance'); - const balPrev = balIdx >= 0 ? journal[balIdx] : null; - const balFrozen = balPrev && (balPrev.status === 'granted' || balPrev.status === 'cancelled' || balPrev.status === 'rejected'); - if (!balFrozen && rawCredit > 0) { - const waited = Math.floor((when - paidAt) / DAY); + if (percent > 0) { + for (let p = 0; p < payments.length; p++) { + const pay = payments[p]; + if (isDevicePay(state, pay)) continue; + const paymentId = pay.id ? String(pay.id) : pay.operationId ? String(pay.operationId) : 't' + (Number(pay.at) || 0); + const rawCredit = Math.floor((rubOfPayment(pay) * percent) / 100); + if (!(rawCredit > 0)) continue; + const balIdx = journal.findIndex((row) => row && row.variant === 'balance' && row.friendId === bind.friendId && row.referrerId === bind.referrerId && row.paymentId === paymentId); + const balPrev = balIdx >= 0 ? journal[balIdx] : null; + const balFrozen = balPrev && (balPrev.status === 'granted' || balPrev.status === 'cancelled' || balPrev.status === 'rejected'); + if (balFrozen) continue; + const payAt = Number(pay.at) || 0; + const waited = Math.floor((when - payAt) / DAY); let status = 'waiting'; let credit = 0; let reason = 'delay'; @@ -1483,12 +1512,13 @@ export function settleReferrals(state, now) { friendId: bind.friendId, referrerId: bind.referrerId, variant: 'balance', + paymentId, status, days: 0, credit, reason, - paidAt, - at: paidAt, + paidAt: payAt, + at: payAt, grantedAt: status === 'granted' ? when : 0, noticePending: status === 'granted' && credit > 0, }; @@ -1498,7 +1528,9 @@ export function settleReferrals(state, now) { } if (settings.retention && settings.retentionDays > 0 && settings.retentionMonths > 0) { - const streak = retentionStreak(payments.map((p) => p.at), bind.boundAt); + const subPays = []; + for (let p = 0; p < payments.length; p++) if (!isDevicePay(state, payments[p])) subPays.push(payments[p].at); + const streak = retentionStreak(subPays, bind.boundAt, settings.retentionMonths); if (streak.count >= settings.retentionMonths && streak.at) { const retIdx = referralIndex(journal, bind.friendId, bind.referrerId, 'retention'); const retPrev = retIdx >= 0 ? journal[retIdx] : null; @@ -1653,6 +1685,10 @@ function applyPaymentUnsettled(input, { operationId, label, amount, currency, un return transferCovers(amount, currency, need, resolved); }; const covers = (kindMark) => coversNeed(quoted !== null ? quoted : priceOf(state, kindMark)); + if (quote && Number(quote.referralOff) > 0) { + const payer = quote.accountId || (act.indexOf('new:') === 0 ? act.slice(4) : ((state.subscriptions || []).find((s) => s.id === act.slice(4)) || {}).accountId); + if (payer && subscriptionPaidBefore(state, payer, operationId)) return rejectAmount(state, row); + } if (act.indexOf('sub:') === 0) { const id = act.slice(4); @@ -2848,13 +2884,9 @@ export function quotePurchase(state, { kind, accountId, subscriptionId, now, wit let referralOff = 0; if (kind === 'new' || kind === 'sub') { const payer = accountId || (sub && sub.accountId) || ''; - referralOff = referralDiscountOf(state, payer, prices.price, at); - if (referralOff > 0) { - const room = Math.max(0, price - 1); - referralOff = Math.min(referralOff, room); - price -= referralOff; - rubGross = Math.max(0, rubGross - referralOff); - } + const capped = capReferralOff(price, referralDiscountOf(state, payer, prices.price, at)); + referralOff = capped.off; + price = capped.due; } // No method: a legacy quote. The payer is asked for `price` and the old net check applies. // PC or AC: freeze the documented gross-up. The caller cannot supply the fee. diff --git a/ops/billing/src/referralAdmin.mjs b/ops/billing/src/referralAdmin.mjs index 1e8bf770..9a4a3e91 100644 --- a/ops/billing/src/referralAdmin.mjs +++ b/ops/billing/src/referralAdmin.mjs @@ -38,7 +38,7 @@ function tierListOf(src) { out.sort((a, b) => a.friends - b.friends); const uniq = []; for (let i = 0; i < out.length; i++) { - if (uniq.length && uniq[uniq.length - 1].friends === out[i].friends) uniq[uniq.length - 1] = out[i]; + if (uniq.length && uniq[uniq.length - 1].friends === out[i].friends) continue; else uniq.push(out[i]); } return uniq; @@ -119,19 +119,35 @@ export function referralDiscountRub(settings, opts) { return Math.max(0, Math.min(off, base - 1)); } -/** Payments at least 27 and at most 45 days apart count as consecutive months. */ -export function retentionStreak(times, boundAt) { +/** Leave at least 1 ruble to pay. The same cap is used for the order and for the price on screen. */ +export function capReferralOff(due, off) { + const amount = Number(due); + const want = Math.max(0, Math.floor(Number(off) || 0)); + if (!Number.isFinite(amount) || !(amount > 1) || !want) return { due: Math.max(0, Number.isFinite(amount) ? amount : 0), off: 0 }; + const take = Math.min(want, amount - 1); + return { due: amount - take, off: take }; +} + +/** + * Payments at least 27 and at most 45 days apart count as consecutive months. + * `at` is the payment that first reached `months`, and it stays put while later renewals continue the streak. + */ +export function retentionStreak(times, boundAt, months) { + const need = Math.max(1, Math.floor(Number(months) || 1)); const from = Number(boundAt) || 0; const list = (times || []).map((t) => Number(t) || 0).filter((t) => t >= from).sort((a, b) => a - b); let streak = 0; let prev = 0; let at = 0; + const mark = (t) => { + if (streak >= need && !at) at = t; + }; for (let i = 0; i < list.length; i++) { const t = list[i]; if (!prev) { streak = 1; prev = t; - at = t; + mark(t); continue; } const gap = t - prev; @@ -139,12 +155,13 @@ export function retentionStreak(times, boundAt) { if (gap > MONTH_MAX) { streak = 1; prev = t; - at = t; + at = 0; + mark(t); continue; } streak += 1; prev = t; - at = t; + mark(t); } return { count: streak, at }; } @@ -213,7 +230,9 @@ export function reverseReferralRow(state, id, now, actor) { for (let i = 0; i < list.length; i++) { const other = list[i]; if (!other || other.id === row.id || other.friendId !== row.friendId || other.referrerId !== row.referrerId) continue; - if (other.status === 'waiting' || other.status === 'rejected') list[i] = { ...other, status: 'cancelled', reason: 'manual' }; + if (other.status === 'waiting' || other.status === 'rejected') { + list[i] = { ...other, status: 'cancelled', reason: 'manual', noticePending: false, friendNoticePending: false }; + } } } } else { @@ -232,7 +251,11 @@ export function reverseReferralRow(state, id, now, actor) { if (out.short > 0) missing.push(out.short + ' дн. (уже использованы)'); }; takeDays(row.referrerId, row.days); - if (row.friendGranted) takeDays(row.friendId, row.friendDays); + if (row.friendGranted) { + const known = Object.prototype.hasOwnProperty.call(row, 'friendDays') && Number(row.friendDays) > 0; + if (!known) missing.push('дни друга не записаны'); + else takeDays(row.friendId, row.friendDays); + } const credit = Math.max(0, Math.floor(Number(row.credit) || 0)); if (credit > 0) { const sub = subscriptions.find((item) => item && item.accountId === row.referrerId && item.product === 'jackett'); @@ -252,7 +275,7 @@ export function reverseReferralRow(state, id, now, actor) { if (shortfall) bits.push('Не снято: ' + shortfall + '.'); bits.push(referralMsk(when)); const note = bits.join(' '); - list[idx] = { ...row, status: 'cancelled', reason: 'manual', reversedAt: when, shortfall }; + list[idx] = { ...row, status: 'cancelled', reason: 'manual', reversedAt: when, shortfall, noticePending: false, friendNoticePending: false }; const who = actor && actor.kind ? actor : { kind: 'admin', id: '', label: 'панель' }; const next = pushAudit( { ...state, referralJournal: list, referralBinds: binds, subscriptions }, @@ -310,6 +333,7 @@ export function claimReferralNotices(state) { const byRef = new Map(); const journal = rows.map((row) => { if (!row || (!row.noticePending && !row.friendNoticePending)) return row; + if (row.status === 'cancelled' || row.status === 'rejected') return { ...row, noticePending: false, friendNoticePending: false }; const next = { ...row, noticePending: false, @@ -344,7 +368,7 @@ export function claimReferralNotices(state) { } for (let i = 0; i < rows.length; i++) { const row = rows[i]; - if (!row || !row.friendNoticePending || !(row.friendDays > 0)) continue; + if (!row || row.status === 'cancelled' || row.status === 'rejected' || !row.friendNoticePending || !(row.friendDays > 0)) continue; const chatId = chatOf(row.friendId); if (chatId) { messages.push({ @@ -375,7 +399,7 @@ export function restoreReferralNotices(state, restore) { let changed = false; const journal = (state.referralJournal || []).map((row) => { const item = row && back.get(row.id); - if (!item || (Number(row.noticeTries) || 0) >= 3) return row; + if (!item || row.status === 'cancelled' || row.status === 'rejected' || (Number(row.noticeTries) || 0) >= 3) return row; changed = true; return { ...row, noticePending: !!item.noticePending, friendNoticePending: !!item.friendNoticePending }; }); diff --git a/ops/billing/test/referralVariants.test.ts b/ops/billing/test/referralVariants.test.ts index 07a23319..9a402ff8 100644 --- a/ops/billing/test/referralVariants.test.ts +++ b/ops/billing/test/referralVariants.test.ts @@ -1,6 +1,7 @@ import { describe, expect, it } from 'vitest'; import { applyPayment, phoneBill, quotePurchase, redeemReferralCode, settleReferrals } from '../src/logic.mjs'; import { renewalText } from '../src/bot.mjs'; +import { nextTierFriends } from '../admin/src/lib/nextTierFriends'; import { applyReferralPost, claimReferralNotices, normalizeReferralSettings, referralCodeFor, restoreReferralNotices } from '../src/referralAdmin.mjs'; import { grossUp } from '../src/yoomoney.mjs'; @@ -59,6 +60,9 @@ describe('referral variants', () => { expect(fresh.retention).toBe(false); expect(fresh.balancePercent).toBe(0); expect(fresh.tierList).toEqual([]); + expect(normalizeReferralSettings({ tierList: [{ friends: 3, days: 14, percent: 10 }, { friends: 3, days: 7, percent: 0 }] }).tierList).toEqual([{ friends: 3, days: 14, percent: 10 }]); + expect(nextTierFriends([3, 5])).toBe(1); + expect(nextTierFriends([1, 2, 3])).toBe(4); expect(fresh.delayDays).toBe(7); expect(fresh.yearlyCap).toBe(12); expect(normalizeReferralSettings({ delayDays: 400, yearlyCap: -3, referrerDays: 40 }).delayDays).toBe(365); @@ -301,4 +305,104 @@ describe('referral variants', () => { }; expect(redeemReferralCode(device, { code: referralCodeFor('ref'), accountId: 'next', deviceId: 'dev-1', now: NOW })!.result.error).toBe('bad_promo'); }); + + it('scales stars and crypto by the referral discount and keeps the ruble reference', () => { + const state = world({ friendDiscount: true, friendDiscountPercent: 10 }); + state.settings.starsEnabled = true; + state.settings.starsPrice = 100; + state.settings.cryptoUsdt = 2; + const stars = quotePurchase(state, { kind: 'sub', accountId: 'friend', subscriptionId: 's-friend', now: NOW, method: 'stars' }); + expect(stars.result.price).toBe(180); + expect(stars.result.payAmount).toBe('90'); + const crypto = quotePurchase(state, { kind: 'sub', accountId: 'friend', subscriptionId: 's-friend', now: NOW, method: 'crypto', asset: 'USDT' }); + expect(crypto.result.payAmount).toBe('1.80'); + }); + + it('anchors retention on the payment that first reached the month count', () => { + const settings = { retention: true, retentionMonths: 3, retentionDays: 7, referrerDays: 0, delayDays: 31 }; + const ready = world(settings); + ready.referralBinds[0].boundAt = NOW - 200 * DAY; + const third = NOW - 30 * DAY; + ready.payments = [NOW - 90 * DAY, NOW - 60 * DAY, third, NOW].map((at) => ({ accountId: 'friend', at, amount: '200.00', label: 'sub:s-friend' })); + const granted = settleReferrals(ready, third + 31 * DAY); + expect(row(granted.state, 'retention')).toMatchObject({ status: 'granted', days: 7 }); + }); + + it('does not count a device purchase as a paid month or as the first subscription', () => { + const settings = { retention: true, retentionMonths: 2, retentionDays: 7, referrerDays: 0, friendDiscount: true, friendDiscountPercent: 10 }; + const slots = world(settings); + slots.referralBinds[0].boundAt = NOW - 100 * DAY; + slots.purchases = [{ id: 'dev1', kind: 'dev', price: 50 }]; + slots.payments = [NOW - 60 * DAY, NOW - 30 * DAY].map((at, i) => ({ accountId: 'friend', at, amount: '50.00', label: 'buy:dev1', id: 'd' + i })); + expect(row(settleReferrals(slots, NOW).state, 'retention')).toBeUndefined(); + const quote = quotePurchase(slots, { kind: 'sub', accountId: 'friend', subscriptionId: 's-friend', now: NOW }); + expect(quote.result.price).toBe(180); + + const prior = world({ friendDiscount: true, friendDiscountPercent: 10 }); + prior.payments = [{ accountId: 'friend', at: NOW - 40 * DAY, amount: '200.00', label: 'sub:s-friend' }]; + expect(quotePurchase(prior, { kind: 'sub', accountId: 'friend', subscriptionId: 's-friend', now: NOW }).result.price).toBe(200); + }); + + it('credits each later subscription payment once and stops a second discounted order', () => { + const first = settleReferrals(pay(world({ balance: true, balancePercent: 10, balanceMonthlyCap: 100 })), NOW); + const again = { + ...first.state, + payments: first.state.payments.concat([{ id: 'p2', accountId: 'friend', at: NOW + 40 * DAY, amount: '200.00', label: 'sub:s-friend' }]), + }; + const second = settleReferrals(again, NOW + 41 * DAY); + expect(second.state.referralJournal.filter((item) => item.variant === 'balance' && item.status === 'granted')).toHaveLength(2); + expect(sub(second.state, 's-ref').creditRub).toBe(40); + expect(sub(settleReferrals(second.state, NOW + 42 * DAY).state, 's-ref').creditRub).toBe(40); + + const priced = world({ friendDiscount: true, friendDiscountPercent: 10 }); + const card = quotePurchase(priced, { kind: 'sub', accountId: 'friend', subscriptionId: 's-friend', now: NOW, method: 'AC' }); + const wallet = quotePurchase(card.state, { kind: 'sub', accountId: 'friend', subscriptionId: 's-friend', now: NOW, method: 'PC' }); + expect(card.result.referralOff).toBeGreaterThan(0); + expect(wallet.result.referralOff).toBeGreaterThan(0); + const up = grossUp(card.result.price, 'AC')!; + const paid = applyPayment(wallet.state, { + operationId: 'op-card', + label: card.result.label, + amount: up.net, + currency: '643', + withdrawAmount: up.gross, + notificationType: 'card-incoming', + requireWithdraw: true, + now: NOW, + }); + expect(paid.result.error).toBeUndefined(); + const other = grossUp(wallet.result.price, 'PC')!; + const secondPay = applyPayment(paid.state, { + operationId: 'op-wallet', + label: wallet.result.label, + amount: other.net, + currency: '643', + withdrawAmount: other.gross, + notificationType: 'p2p-incoming', + requireWithdraw: true, + now: NOW + 1, + }); + expect(secondPay.result.error).toBe('amount'); + }); + + it('shows the same capped discount as checkout and does not announce a cancelled gift', () => { + const state = world({ friendDiscount: true, friendDiscountRub: 20 }); + state.subscriptions[1].creditRub = 190; + expect(phoneBill(state, 'friend', NOW).priceRub).toBe(1); + expect(quotePurchase(state, { kind: 'sub', accountId: 'friend', subscriptionId: 's-friend', now: NOW }).result.price).toBe(1); + expect(renewalText(state, state.subscriptions[1], { active: true, paidUntil: NOW + 10 * DAY }, NOW).text).toContain('1'); + + const gifted = world({ friendDays: 0, referrerDays: 7 }); + gifted.referralJournal = [{ id: 'old', friendId: 'friend', referrerId: 'ref', status: 'granted', days: 7, friendGranted: true, variant: 'days', reason: 'paid' }]; + const undone = applyReferralPost({ cancelId: 'old', settings: gifted.settings.referral }, gifted, { now: NOW, actor: { kind: 'admin', id: '9', label: '9' } }); + expect(undone.note).toContain('дни друга не записаны'); + expect(sub(undone.state, 's-friend').paidUntil).toBe(NOW + 10 * DAY); + + const granted = settleReferrals(pay(world({ referrerDays: 7, friendDays: 0 })), NOW); + const claimed = claimReferralNotices(granted.state); + const back = restoreReferralNotices(claimed.state, claimed.messages.flatMap((item) => item.restore || [])); + const daysId = String(row(back, 'days')!.id); + const cancelled = applyReferralPost({ cancelId: daysId, settings: back.settings.referral }, back, { now: NOW, actor: { kind: 'admin', id: '9', label: '9' } }); + expect(claimReferralNotices(cancelled.state).messages).toEqual([]); + }); });