diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css index 596a355c..7e0389c6 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/index.css @@ -1974,6 +1974,11 @@ .de-workday-result { overflow: auto; min-height: 0; } .de-workday-result-summary { margin: 0; color: #173550; font-size: 13px; line-height: 1.55; } .de-artifact-pills { display: flex; flex-wrap: wrap; gap: 8px; } +.de-artifact-source-list { display: grid; gap: 8px; max-height: 320px; overflow-y: auto; padding-right: 4px; } +.de-artifact-source-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(88px, 140px); gap: 4px 10px; align-items: center; padding: 9px 10px; border-radius: 8px; border: 1px solid rgba(79,172,254,0.12); background: rgba(244,250,255,0.62); } +.de-artifact-source-row strong { min-width: 0; color: var(--de-text-primary); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +.de-artifact-source-row span { color: var(--de-text-muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; } +.de-artifact-source-row code, .de-artifact-source-row em { grid-column: 1 / -1; min-width: 0; color: var(--de-text-body); font-size: 12px; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .de-decision-card { background: rgba(247,251,255,0.96); } .de-decision-chain-note { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts index ecc9d16b..c9298528 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts @@ -1324,7 +1324,14 @@ function buildArtifacts(snapshot: QimingclawSnapshot | null): ArtifactEntry[] { const artifacts = [ ...runtimeArtifacts(snapshot).map(artifactFromRuntimeRecord), ...runtimeRuns(snapshot).flatMap((run) => artifactsForRun(run, runtimeEvents(snapshot))), - ...runtimeEvents(snapshot).flatMap((event) => artifactsFromPayload(event.id, event.payload, event.occurredAt)), + ...runtimeEvents(snapshot).flatMap((event) => artifactsFromPayload(event.id, event.payload, event.occurredAt, { + sourceType: 'event', + sourceEventId: event.id, + sourceLabel: `Event ${event.kind}`, + planId: event.planId, + taskId: event.taskId, + runId: event.runId, + })), ]; return dedupeArtifacts(artifacts); } @@ -1343,6 +1350,8 @@ function artifactFromRuntimeRecord(artifact: QimingclawArtifactRecord): Artifact run_id: artifact.runId ?? null, created_at: artifact.createdAt, source: 'qimingclaw-runtime', + source_type: 'artifact', + source_label: artifactSourceLabel('artifact', artifact.id), sync_status: artifact.syncStatus, sync_error: artifact.syncError, payload: artifact.payload, @@ -1351,16 +1360,43 @@ function artifactFromRuntimeRecord(artifact: QimingclawArtifactRecord): Artifact function artifactsForRun(run: QimingclawRunRecord, events: QimingclawEventRecord[]): ArtifactEntry[] { return dedupeArtifacts([ - ...artifactsFromPayload(run.id, run.payload, run.finishedAt ?? run.startedAt ?? run.createdAt), + ...artifactsFromPayload(run.id, run.payload, run.finishedAt ?? run.startedAt ?? run.createdAt, { + sourceType: 'run', + sourceLabel: artifactSourceLabel('run', run.id), + planId: run.planId, + taskId: run.taskId, + runId: run.id, + }), ...events .filter((event) => event.runId === run.id) - .flatMap((event) => artifactsFromPayload(run.id, event.payload, event.occurredAt)), + .flatMap((event) => artifactsFromPayload(run.id, event.payload, event.occurredAt, { + sourceType: 'event', + sourceEventId: event.id, + sourceLabel: `Event ${event.kind}`, + planId: event.planId, + taskId: event.taskId, + runId: event.runId, + })), ]); } -function artifactsFromPayload(subjectId: string, payload: unknown, createdAt?: string | null): ArtifactEntry[] { +interface ArtifactSourceContext { + sourceType: string; + sourceLabel: string; + sourceEventId?: string | null; + planId?: string | null; + taskId?: string | null; + runId?: string | null; +} + +function artifactsFromPayload( + subjectId: string, + payload: unknown, + createdAt?: string | null, + sourceContext?: ArtifactSourceContext, +): ArtifactEntry[] { const record = asRecord(payload); - if (!record) return typeof payload === 'string' ? [artifactFromValue(subjectId, payload, 0, createdAt)] : []; + if (!record) return typeof payload === 'string' ? [artifactFromValue(subjectId, payload, 0, createdAt, sourceContext)] : []; const explicitArtifacts = [ ...arrayValue(record.artifacts), @@ -1368,16 +1404,22 @@ function artifactsFromPayload(subjectId: string, payload: unknown, createdAt?: s ...arrayValue(record.files), ...arrayValue(record.attachments), ]; - const artifacts = explicitArtifacts.map((item, index) => artifactFromValue(subjectId, item, index, createdAt)); + const artifacts = explicitArtifacts.map((item, index) => artifactFromValue(subjectId, item, index, createdAt, sourceContext)); for (const key of ['artifact', 'outputPath', 'output_path', 'filePath', 'file_path', 'path', 'uri', 'url']) { - if (record[key]) artifacts.push(artifactFromValue(subjectId, record[key], artifacts.length, createdAt)); + if (record[key]) artifacts.push(artifactFromValue(subjectId, record[key], artifacts.length, createdAt, sourceContext)); } return artifacts.filter((artifact) => artifact.name || artifact.uri || artifact.value); } -function artifactFromValue(subjectId: string, value: unknown, index: number, createdAt?: string | null): ArtifactEntry { +function artifactFromValue( + subjectId: string, + value: unknown, + index: number, + createdAt?: string | null, + sourceContext?: ArtifactSourceContext, +): ArtifactEntry { const record = asRecord(value); if (record) { const uri = stringValue(record.uri ?? record.url ?? record.path ?? record.filePath ?? record.file_path ?? record.outputPath ?? record.output_path); @@ -1391,6 +1433,12 @@ function artifactFromValue(subjectId: string, value: unknown, index: number, cre value: stringValue(record.value ?? record.summary ?? record.text) || uri, created_at: (stringValue(record.created_at ?? record.createdAt) || createdAt) ?? undefined, source: 'qimingclaw-runtime', + source_type: stringValue(record.source_type) || sourceContext?.sourceType || 'payload', + source_event_id: stringValue(record.source_event_id) || sourceContext?.sourceEventId || null, + source_label: stringValue(record.source_label) || sourceContext?.sourceLabel || artifactSourceLabel('payload', subjectId), + plan_id: stringValue(record.plan_id) || sourceContext?.planId || null, + task_id: stringValue(record.task_id) || sourceContext?.taskId || null, + run_id: stringValue(record.run_id) || sourceContext?.runId || null, }; } @@ -1404,9 +1452,27 @@ function artifactFromValue(subjectId: string, value: unknown, index: number, cre value: text, created_at: createdAt ?? undefined, source: 'qimingclaw-runtime', + source_type: sourceContext?.sourceType || 'payload', + source_event_id: sourceContext?.sourceEventId || null, + source_label: sourceContext?.sourceLabel || artifactSourceLabel('payload', subjectId), + plan_id: sourceContext?.planId || null, + task_id: sourceContext?.taskId || null, + run_id: sourceContext?.runId || null, }; } +function artifactSourceLabel(sourceType: string, sourceId?: string | null): string { + const suffix = sourceId ? ` ${sourceId}` : ''; + switch (sourceType) { + case 'artifact': return `Artifact${suffix}`; + case 'event': return `Event${suffix}`; + case 'run': return `Run${suffix}`; + case 'task': return `Task${suffix}`; + case 'plan': return `Plan${suffix}`; + default: return `Payload${suffix}`; + } +} + function dedupeArtifacts(artifacts: ArtifactEntry[]): ArtifactEntry[] { const seen = new Set(); return artifacts.filter((artifact) => { @@ -1636,6 +1702,7 @@ function buildWorkday(date: string, snapshot: QimingclawSnapshot | null): Digita const liveRecordCount = runtimePlans(snapshot).length + runtimeTasks(snapshot).length; const hasLiveRuntime = hasRuntimeRecords(snapshot); const sync = snapshot?.sync; + const artifactSources = reportArtifactSources(buildArtifacts(snapshot)); return { source: 'live', @@ -1709,6 +1776,13 @@ function buildWorkday(date: string, snapshot: QimingclawSnapshot | null): Digita ], artifacts: [ { name: '数字员工运行摘要', status: generatedAt ? 'ready' : 'pending' }, + ...artifactSources.slice(0, 4).map((artifact) => ({ + name: artifact.name, + status: generatedAt ? 'ready' : 'available', + uri: artifact.uri ?? null, + source_label: artifact.source_label ?? null, + source_type: artifact.source_type ?? null, + })), ], }, daily_report: { @@ -1732,12 +1806,29 @@ function buildWorkday(date: string, snapshot: QimingclawSnapshot | null): Digita }, task_sections: executionSummaries, detail_lines: events.map((event) => `${event.time} ${event.task_title}:${event.detail}`), + artifact_sources: artifactSources, pdf_available: Boolean(generatedAt), pdf_url: null, }, }; } +function reportArtifactSources(artifacts: ArtifactEntry[]) { + return artifacts.slice(0, 20).map((artifact) => ({ + id: stringValue(artifact.artifact_id) || `${stringValue(artifact.subject_id)}:${stringValue(artifact.uri ?? artifact.name)}`, + name: stringValue(artifact.name) || stringValue(artifact.uri) || stringValue(artifact.value) || '未命名产物', + kind: stringValue(artifact.kind) || null, + uri: stringValue(artifact.uri) || null, + source_label: stringValue(artifact.source_label) || null, + source_type: stringValue(artifact.source_type) || null, + source_event_id: stringValue(artifact.source_event_id) || null, + plan_id: stringValue(artifact.plan_id) || null, + task_id: stringValue(artifact.task_id) || null, + run_id: stringValue(artifact.run_id) || null, + created_at: stringValue(artifact.created_at) || null, + })); +} + async function handleWorkdayAction(body: DigitalEmployeeWorkdayActionRequest, snapshot: QimingclawSnapshot | null): Promise { const state = snapshot?.uiState ?? await readBridgeUiState() ?? readState(); const date = body.date || todayInputDate(); diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DailyReport.tsx b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DailyReport.tsx index fca5c844..33f6e4d5 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DailyReport.tsx +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/pages/digital/DailyReport.tsx @@ -8,6 +8,7 @@ import { } from '@/lib/api'; import type { DigitalEmployeeDailyReport, + DigitalEmployeeReportArtifactSource, DigitalEmployeeRunDetail, DigitalEmployeeTaskExecutionSummary, DigitalEmployeeWorkdayProjection, @@ -94,6 +95,7 @@ function buildReportDownloadText( report: DigitalEmployeeDailyReport, sections: DigitalEmployeeTaskExecutionSummary[], details: DigitalEmployeeRunDetail[], + artifacts: DigitalEmployeeReportArtifactSource[], ): string { return [ report.title || `${date} 数字员工日报`, @@ -121,6 +123,11 @@ function buildReportDownloadText( ? details.map((detail) => `- ${detail.time || '--:--'} ${detail.task_name} / ${detail.step_name || detail.operation_name || '任务执行'}:${detail.status_label},${detail.business_detail}`) : ['暂无运行明细。']), '', + '## 产物来源', + ...(artifacts.length > 0 + ? artifacts.map((artifact) => `- ${artifact.name}:${artifact.source_label || artifact.source_type || '未知来源'}${artifact.uri ? `,${artifact.uri}` : ''}`) + : ['暂无产物来源。']), + '', '## 详情', ...((report.detail_lines ?? []).length > 0 ? report.detail_lines : ['暂无详情。']), ].join('\n'); @@ -173,6 +180,24 @@ function DetailList({ details }: { details: DigitalEmployeeRunDetail[] }) { ); } +function ArtifactSourceList({ artifacts }: { artifacts: DigitalEmployeeReportArtifactSource[] }) { + if (artifacts.length === 0) { + return

运行产物出现后,这里会展示文件、输出和来源记录。

; + } + + return ( +
+ {artifacts.map((artifact) => ( +
+ {artifact.name} + {artifact.source_label || artifact.source_type || '未知来源'} + {artifact.uri ? {artifact.uri} : {artifact.kind || 'artifact'}} +
+ ))} +
+ ); +} + export default function DailyReport({ focusSection }: { focusSection?: string | null }) { const today = useMemo(() => todayInputDate(), []); const [projection, setProjection] = useState(null); @@ -186,6 +211,7 @@ export default function DailyReport({ focusSection }: { focusSection?: string | const report = isLiveProjection ? (projection?.daily_report ?? null) : null; const taskSections = isLiveProjection ? (report?.task_sections ?? projection?.execution_summaries ?? []) : []; const runDetails = isLiveProjection ? (projection?.run_details ?? []) : []; + const artifactSources = isLiveProjection ? (report?.artifact_sources ?? []) : []; const sourceNotice = isLiveProjection ? null : (projection?.demo_reason ?? '当前没有真实运行投影,日报区域暂不展示兜底数据。'); const totals = report?.totals ?? { task_count: taskSections.length, @@ -272,8 +298,8 @@ export default function DailyReport({ focusSection }: { focusSection?: string | const downloadDailyReport = useCallback(() => { if (!report || report.status !== 'ready') return; - downloadTextFile(reportFileName(today), buildReportDownloadText(today, report, taskSections, runDetails)); - }, [report, runDetails, taskSections, today]); + downloadTextFile(reportFileName(today), buildReportDownloadText(today, report, taskSections, runDetails, artifactSources)); + }, [artifactSources, report, runDetails, taskSections, today]); return (
@@ -355,6 +381,10 @@ export default function DailyReport({ focusSection }: { focusSection?: string |

运行明细

+
+

产物来源

+ +

日报内容

{(report?.detail_lines ?? []).length === 0 ? ( diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts index 5323fc22..f610815a 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts @@ -654,6 +654,23 @@ export interface DigitalEmployeeDecision { export interface DigitalEmployeeDeliveryArtifact { name: string; status: string; + uri?: string | null; + source_label?: string | null; + source_type?: string | null; +} + +export interface DigitalEmployeeReportArtifactSource { + id: string; + name: string; + kind?: string | null; + uri?: string | null; + source_label?: string | null; + source_type?: string | null; + source_event_id?: string | null; + plan_id?: string | null; + task_id?: string | null; + run_id?: string | null; + created_at?: string | null; } export interface DigitalEmployeeDelivery { @@ -682,6 +699,7 @@ export interface DigitalEmployeeDailyReport { }; task_sections: DigitalEmployeeTaskExecutionSummary[]; detail_lines: string[]; + artifact_sources?: DigitalEmployeeReportArtifactSource[]; pdf_available: boolean; pdf_url?: string | null; } diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BZWWD4XK.js b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BZWWD4XK.js new file mode 100644 index 00000000..c81fe1ab --- /dev/null +++ b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BZWWD4XK.js @@ -0,0 +1,128 @@ +(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))u(d);new MutationObserver(d=>{for(const f of d)if(f.type==="childList")for(const p of f.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&u(p)}).observe(document,{childList:!0,subtree:!0});function r(d){const f={};return d.integrity&&(f.integrity=d.integrity),d.referrerPolicy&&(f.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?f.credentials="include":d.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function u(d){if(d.ep)return;d.ep=!0;const f=r(d);fetch(d.href,f)}})();function E_(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var $o={exports:{}},vs={};/** + * @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 gp;function T_(){if(gp)return vs;gp=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function r(u,d,f){var p=null;if(f!==void 0&&(p=""+f),d.key!==void 0&&(p=""+d.key),"key"in d){f={};for(var v in d)v!=="key"&&(f[v]=d[v])}else f=d;return d=f.ref,{$$typeof:n,type:u,key:p,ref:d!==void 0?d:null,props:f}}return vs.Fragment=i,vs.jsx=r,vs.jsxs=r,vs}var yp;function A_(){return yp||(yp=1,$o.exports=T_()),$o.exports}var c=A_(),Lo={exports:{}},ge={};/** + * @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 vp;function N_(){if(vp)return ge;vp=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),p=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),T=Symbol.iterator;function M(j){return j===null||typeof j!="object"?null:(j=T&&j[T]||j["@@iterator"],typeof j=="function"?j:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},q=Object.assign,O={};function $(j,L,X){this.props=j,this.context=L,this.refs=O,this.updater=X||N}$.prototype.isReactComponent={},$.prototype.setState=function(j,L){if(typeof j!="object"&&typeof j!="function"&&j!=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,j,L,"setState")},$.prototype.forceUpdate=function(j){this.updater.enqueueForceUpdate(this,j,"forceUpdate")};function I(){}I.prototype=$.prototype;function V(j,L,X){this.props=j,this.context=L,this.refs=O,this.updater=X||N}var ie=V.prototype=new I;ie.constructor=V,q(ie,$.prototype),ie.isPureReactComponent=!0;var ce=Array.isArray;function ye(){}var W={H:null,A:null,T:null,S:null},le=Object.prototype.hasOwnProperty;function ee(j,L,X){var F=X.ref;return{$$typeof:n,type:j,key:L,ref:F!==void 0?F:null,props:X}}function st(j,L){return ee(j.type,L,j.props)}function Ve(j){return typeof j=="object"&&j!==null&&j.$$typeof===n}function me(j){var L={"=":"=0",":":"=2"};return"$"+j.replace(/[=:]/g,function(X){return L[X]})}var K=/\/+/g;function ue(j,L){return typeof j=="object"&&j!==null&&j.key!=null?me(""+j.key):L.toString(36)}function H(j){switch(j.status){case"fulfilled":return j.value;case"rejected":throw j.reason;default:switch(typeof j.status=="string"?j.then(ye,ye):(j.status="pending",j.then(function(L){j.status==="pending"&&(j.status="fulfilled",j.value=L)},function(L){j.status==="pending"&&(j.status="rejected",j.reason=L)})),j.status){case"fulfilled":return j.value;case"rejected":throw j.reason}}throw j}function C(j,L,X,F,oe){var ve=typeof j;(ve==="undefined"||ve==="boolean")&&(j=null);var ke=!1;if(j===null)ke=!0;else switch(ve){case"bigint":case"string":case"number":ke=!0;break;case"object":switch(j.$$typeof){case n:case i:ke=!0;break;case w:return ke=j._init,C(ke(j._payload),L,X,F,oe)}}if(ke)return oe=oe(j),ke=F===""?"."+ue(j,0):F,ce(oe)?(X="",ke!=null&&(X=ke.replace(K,"$&/")+"/"),C(oe,L,X,"",function(Z){return Z})):oe!=null&&(Ve(oe)&&(oe=st(oe,X+(oe.key==null||j&&j.key===oe.key?"":(""+oe.key).replace(K,"$&/")+"/")+ke)),L.push(oe)),1;ke=0;var Ie=F===""?".":F+":";if(ce(j))for(var Q=0;Q>>1,Se=C[he];if(0>>1;hed(X,te))Fd(oe,X)?(C[he]=oe,C[F]=te,he=F):(C[he]=X,C[L]=te,he=L);else if(Fd(oe,te))C[he]=oe,C[F]=te,he=F;else break e}}return G}function d(C,G){var te=C.sortIndex-G.sortIndex;return te!==0?te:C.id-G.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var p=Date,v=p.now();n.unstable_now=function(){return p.now()-v}}var h=[],g=[],w=1,S=null,T=3,M=!1,N=!1,q=!1,O=!1,$=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,V=typeof setImmediate<"u"?setImmediate:null;function ie(C){for(var G=r(g);G!==null;){if(G.callback===null)u(g);else if(G.startTime<=C)u(g),G.sortIndex=G.expirationTime,i(h,G);else break;G=r(g)}}function ce(C){if(q=!1,ie(C),!N)if(r(h)!==null)N=!0,ye||(ye=!0,me());else{var G=r(g);G!==null&&H(ce,G.startTime-C)}}var ye=!1,W=-1,le=5,ee=-1;function st(){return O?!0:!(n.unstable_now()-eeC&&st());){var he=S.callback;if(typeof he=="function"){S.callback=null,T=S.priorityLevel;var Se=he(S.expirationTime<=C);if(C=n.unstable_now(),typeof Se=="function"){S.callback=Se,ie(C),G=!0;break t}S===r(h)&&u(h),ie(C)}else u(h);S=r(h)}if(S!==null)G=!0;else{var j=r(g);j!==null&&H(ce,j.startTime-C),G=!1}}break e}finally{S=null,T=te,M=!1}G=void 0}}finally{G?me():ye=!1}}}var me;if(typeof V=="function")me=function(){V(Ve)};else if(typeof MessageChannel<"u"){var K=new MessageChannel,ue=K.port2;K.port1.onmessage=Ve,me=function(){ue.postMessage(null)}}else me=function(){$(Ve,0)};function H(C,G){W=$(function(){C(n.unstable_now())},G)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(C){C.callback=null},n.unstable_forceFrameRate=function(C){0>C||125he?(C.sortIndex=te,i(g,C),r(h)===null&&C===r(g)&&(q?(I(W),W=-1):q=!0,H(ce,te-he))):(C.sortIndex=Se,i(h,C),N||M||(N=!0,ye||(ye=!0,me()))),C},n.unstable_shouldYield=st,n.unstable_wrapCallback=function(C){var G=T;return function(){var te=T;T=G;try{return C.apply(this,arguments)}finally{T=te}}}})(Ho)),Ho}var Sp;function D_(){return Sp||(Sp=1,Bo.exports=C_()),Bo.exports}var Yo={exports:{}},Et={};/** + * @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 xp;function z_(){if(xp)return Et;xp=1;var n=_d();function i(h){var g="https://react.dev/errors/"+h;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),Yo.exports=z_(),Yo.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 wp;function R_(){if(wp)return _s;wp=1;var n=D_(),i=_d(),r=M_();function u(e){var t="https://react.dev/errors/"+e;if(1Se||(e.current=he[Se],he[Se]=null,Se--)}function X(e,t){Se++,he[Se]=e.current,e.current=t}var F=j(null),oe=j(null),ve=j(null),ke=j(null);function Ie(e,t){switch(X(ve,t),X(oe,e),X(F,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Uh(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Uh(t),e=Bh(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}L(F),X(F,e)}function Q(){L(F),L(oe),L(ve)}function Z(e){e.memoizedState!==null&&X(ke,e);var t=F.current,a=Bh(t,e.type);t!==a&&(X(oe,e),X(F,a))}function pe(e){oe.current===e&&(L(F),L(oe)),ke.current===e&&(L(ke),hs._currentValue=te)}var Oe,We;function rt(e){if(Oe===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Oe=t&&t[1]||"",We=-1)":-1s||x[l]!==D[s]){var U=` +`+x[l].replace(" at new "," at ");return e.displayName&&U.includes("")&&(U=U.replace("",e.displayName)),U}while(1<=l&&0<=s);break}}}finally{Tt=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?rt(a):""}function xt(e,t){switch(e.tag){case 26:case 27:case 5:return rt(e.type);case 16:return rt("Lazy");case 13:return e.child!==t&&t!==null?rt("Suspense Fallback"):rt("Suspense");case 19:return rt("SuspenseList");case 0:case 15:return qe(e.type,!1);case 11:return qe(e.type.render,!1);case 1:return qe(e.type,!0);case 31:return rt("Activity");default:return""}}function $a(e){try{var t="",a=null;do t+=xt(e,a),a=e,e=e.return;while(e);return t}catch(l){return` +Error generating stack: `+l.message+` +`+l.stack}}var Qn=Object.prototype.hasOwnProperty,xi=n.unstable_scheduleCallback,yt=n.unstable_cancelCallback,qs=n.unstable_shouldYield,Ce=n.unstable_requestPaint,mt=n.unstable_now,xa=n.unstable_getCurrentPriorityLevel,ja=n.unstable_ImmediatePriority,Kn=n.unstable_UserBlockingPriority,zt=n.unstable_NormalPriority,At=n.unstable_LowPriority,Xn=n.unstable_IdlePriority,La=n.log,Zn=n.unstable_setDisableYieldValue,Ua=null,Ge=null;function wa(e){if(typeof La=="function"&&Zn(e),Ge&&typeof Ge.setStrictMode=="function")try{Ge.setStrictMode(Ua,e)}catch{}}var jt=Math.clz32?Math.clz32:ji,hn=Math.log,Mc=Math.LN2;function ji(e){return e>>>=0,e===0?32:31-(hn(e)/Mc|0)|0}var wl=256,El=262144,Tl=4194304;function Ba(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Mt(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var s=0,o=e.suspendedLanes,m=e.pingedLanes;e=e.warmLanes;var y=l&134217727;return y!==0?(l=y&~o,l!==0?s=Ba(l):(m&=y,m!==0?s=Ba(m):a||(a=y&~e,a!==0&&(s=Ba(a))))):(y=l&~o,y!==0?s=Ba(y):m!==0?s=Ba(m):a||(a=l&~e,a!==0&&(s=Ba(a)))),s===0?0:t!==0&&t!==s&&(t&o)===0&&(o=s&-s,a=t&-t,o>=a||o===32&&(a&4194048)!==0)?t:s}function Me(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Te(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Al(){var e=Tl;return Tl<<=1,(Tl&62914560)===0&&(Tl=4194304),e}function fe(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function pn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Vn(e,t,a,l,s,o){var m=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var y=e.entanglements,x=e.expirationTimes,D=e.hiddenUpdates;for(a=m&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var qc=/[\n"\\]/g;function Rt(e){return e.replace(qc,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ki(e,t,a,l,s,o,m,y){e.name="",m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.type=m:e.removeAttribute("type"),t!=null?m==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+kt(t)):e.value!==""+kt(t)&&(e.value=""+kt(t)):m!=="submit"&&m!=="reset"||e.removeAttribute("value"),t!=null?Di(e,m,kt(t)):a!=null?Di(e,m,kt(a)):l!=null&&e.removeAttribute("value"),s==null&&o!=null&&(e.defaultChecked=!!o),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+kt(y):e.removeAttribute("name")}function Ci(e,t,a,l,s,o,m,y){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||a!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){Ni(e);return}a=a!=null?""+kt(a):"",t=t!=null?""+kt(t):a,y||t===e.value||(e.value=t),e.defaultValue=t}l=l??s,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=y?e.checked:!!l,e.defaultChecked=!!l,m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(e.name=m),Ni(e)}function Di(e,t,a){t==="number"&&zl(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function ma(e,t,a,l){if(e=e.options,t){t={};for(var s=0;s"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ke=!1;if(se)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){Ke=!0}}),window.addEventListener("test",nt,nt),window.removeEventListener("test",nt,nt)}catch{Ke=!1}var Ct=null,Pe=null,Ot=null;function vn(){if(Ot)return Ot;var e,t=Pe,a=t.length,l,s="value"in Ct?Ct.value:Ct.textContent,o=s.length;for(e=0;e=Oi),Kd=" ",Xd=!1;function Zd(e,t){switch(e){case"keyup":return Zy.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ul=!1;function Jy(e,t){switch(e){case"compositionend":return Vd(t);case"keypress":return t.which!==32?null:(Xd=!0,Kd);case"textInput":return e=t.data,e===Kd&&Xd?null:e;default:return null}}function Fy(e,t){if(Ul)return e==="compositionend"||!Yc&&Zd(e,t)?(e=vn(),Ot=Pe=Ct=null,Ul=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=af(a)}}function lf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?lf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function sf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=zl(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=zl(e.document)}return t}function Kc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var lv=se&&"documentMode"in document&&11>=document.documentMode,Bl=null,Xc=null,Ui=null,Zc=!1;function rf(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Zc||Bl==null||Bl!==zl(l)||(l=Bl,"selectionStart"in l&&Kc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Ui&&Li(Ui,l)||(Ui=l,l=Br(Xc,"onSelect"),0>=m,s-=m,Ca=1<<32-jt(t)+s|a<be?(Ee=ae,ae=null):Ee=ae.sibling;var ze=z(A,ae,k[be],B);if(ze===null){ae===null&&(ae=Ee);break}e&&ae&&ze.alternate===null&&t(A,ae),E=o(ze,E,be),De===null?re=ze:De.sibling=ze,De=ze,ae=Ee}if(be===k.length)return a(A,ae),Ae&&Za(A,be),re;if(ae===null){for(;bebe?(Ee=ae,ae=null):Ee=ae.sibling;var Bn=z(A,ae,ze.value,B);if(Bn===null){ae===null&&(ae=Ee);break}e&&ae&&Bn.alternate===null&&t(A,ae),E=o(Bn,E,be),De===null?re=Bn:De.sibling=Bn,De=Bn,ae=Ee}if(ze.done)return a(A,ae),Ae&&Za(A,be),re;if(ae===null){for(;!ze.done;be++,ze=k.next())ze=Y(A,ze.value,B),ze!==null&&(E=o(ze,E,be),De===null?re=ze:De.sibling=ze,De=ze);return Ae&&Za(A,be),re}for(ae=l(ae);!ze.done;be++,ze=k.next())ze=R(ae,A,be,ze.value,B),ze!==null&&(e&&ze.alternate!==null&&ae.delete(ze.key===null?be:ze.key),E=o(ze,E,be),De===null?re=ze:De.sibling=ze,De=ze);return e&&ae.forEach(function(w_){return t(A,w_)}),Ae&&Za(A,be),re}function He(A,E,k,B){if(typeof k=="object"&&k!==null&&k.type===q&&k.key===null&&(k=k.props.children),typeof k=="object"&&k!==null){switch(k.$$typeof){case M:e:{for(var re=k.key;E!==null;){if(E.key===re){if(re=k.type,re===q){if(E.tag===7){a(A,E.sibling),B=s(E,k.props.children),B.return=A,A=B;break e}}else if(E.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===le&&cl(re)===E.type){a(A,E.sibling),B=s(E,k.props),Ki(B,k),B.return=A,A=B;break e}a(A,E);break}else t(A,E);E=E.sibling}k.type===q?(B=nl(k.props.children,A.mode,B,k.key),B.return=A,A=B):(B=nr(k.type,k.key,k.props,null,A.mode,B),Ki(B,k),B.return=A,A=B)}return m(A);case N:e:{for(re=k.key;E!==null;){if(E.key===re)if(E.tag===4&&E.stateNode.containerInfo===k.containerInfo&&E.stateNode.implementation===k.implementation){a(A,E.sibling),B=s(E,k.children||[]),B.return=A,A=B;break e}else{a(A,E);break}else t(A,E);E=E.sibling}B=eu(k,A.mode,B),B.return=A,A=B}return m(A);case le:return k=cl(k),He(A,E,k,B)}if(H(k))return P(A,E,k,B);if(me(k)){if(re=me(k),typeof re!="function")throw Error(u(150));return k=re.call(k),de(A,E,k,B)}if(typeof k.then=="function")return He(A,E,or(k),B);if(k.$$typeof===V)return He(A,E,sr(A,k),B);dr(A,k)}return typeof k=="string"&&k!==""||typeof k=="number"||typeof k=="bigint"?(k=""+k,E!==null&&E.tag===6?(a(A,E.sibling),B=s(E,k),B.return=A,A=B):(a(A,E),B=Pc(k,A.mode,B),B.return=A,A=B),m(A)):a(A,E)}return function(A,E,k,B){try{Qi=0;var re=He(A,E,k,B);return Il=null,re}catch(ae){if(ae===Fl||ae===cr)throw ae;var De=Kt(29,ae,null,A.mode);return De.lanes=B,De.return=A,De}finally{}}}var ol=Cf(!0),Df=Cf(!1),jn=!1;function fu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function mu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function wn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function En(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Re&2)!==0){var s=l.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),l.pending=t,t=ar(e),hf(e,null,a),t}return tr(e,l,t,a),ar(e)}function Xi(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,da(e,a)}}function hu(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var s=null,o=null;if(a=a.firstBaseUpdate,a!==null){do{var m={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};o===null?s=o=m:o=o.next=m,a=a.next}while(a!==null);o===null?s=o=t:o=o.next=t}else s=o=t;a={baseState:l.baseState,firstBaseUpdate:s,lastBaseUpdate:o,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var pu=!1;function Zi(){if(pu){var e=Jl;if(e!==null)throw e}}function Vi(e,t,a,l){pu=!1;var s=e.updateQueue;jn=!1;var o=s.firstBaseUpdate,m=s.lastBaseUpdate,y=s.shared.pending;if(y!==null){s.shared.pending=null;var x=y,D=x.next;x.next=null,m===null?o=D:m.next=D,m=x;var U=e.alternate;U!==null&&(U=U.updateQueue,y=U.lastBaseUpdate,y!==m&&(y===null?U.firstBaseUpdate=D:y.next=D,U.lastBaseUpdate=x))}if(o!==null){var Y=s.baseState;m=0,U=D=x=null,y=o;do{var z=y.lane&-536870913,R=z!==y.lane;if(R?(we&z)===z:(l&z)===z){z!==0&&z===Vl&&(pu=!0),U!==null&&(U=U.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var P=e,de=y;z=t;var He=a;switch(de.tag){case 1:if(P=de.payload,typeof P=="function"){Y=P.call(He,Y,z);break e}Y=P;break e;case 3:P.flags=P.flags&-65537|128;case 0:if(P=de.payload,z=typeof P=="function"?P.call(He,Y,z):P,z==null)break e;Y=S({},Y,z);break e;case 2:jn=!0}}z=y.callback,z!==null&&(e.flags|=64,R&&(e.flags|=8192),R=s.callbacks,R===null?s.callbacks=[z]:R.push(z))}else R={lane:z,tag:y.tag,payload:y.payload,callback:y.callback,next:null},U===null?(D=U=R,x=Y):U=U.next=R,m|=z;if(y=y.next,y===null){if(y=s.shared.pending,y===null)break;R=y,y=R.next,R.next=null,s.lastBaseUpdate=R,s.shared.pending=null}}while(!0);U===null&&(x=Y),s.baseState=x,s.firstBaseUpdate=D,s.lastBaseUpdate=U,o===null&&(s.shared.lanes=0),Cn|=m,e.lanes=m,e.memoizedState=Y}}function zf(e,t){if(typeof e!="function")throw Error(u(191,e));e.call(t)}function Mf(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;eo?o:8;var m=C.T,y={};C.T=y,Ru(e,!1,t,a);try{var x=s(),D=C.S;if(D!==null&&D(y,x),x!==null&&typeof x=="object"&&typeof x.then=="function"){var U=mv(x,l);Ii(e,t,U,Ft(e))}else Ii(e,t,l,Ft(e))}catch(Y){Ii(e,t,{then:function(){},status:"rejected",reason:Y},Ft())}finally{G.p=o,m!==null&&y.types!==null&&(m.types=y.types),C.T=m}}function _v(){}function zu(e,t,a,l){if(e.tag!==5)throw Error(u(476));var s=dm(e).queue;om(e,s,t,te,a===null?_v:function(){return fm(e),a(l)})}function dm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:te,baseState:te,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ia,lastRenderedState:te},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ia,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function fm(e){var t=dm(e);t.next===null&&(t=e.alternate.memoizedState),Ii(e,t.next.queue,{},Ft())}function Mu(){return _t(hs)}function mm(){return it().memoizedState}function hm(){return it().memoizedState}function bv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Ft();e=wn(a);var l=En(t,e,a);l!==null&&(Ht(l,t,a),Xi(l,t,a)),t={cache:cu()},e.payload=t;return}t=t.return}}function Sv(e,t,a){var l=Ft();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Sr(e)?gm(t,a):(a=Ic(e,t,a,l),a!==null&&(Ht(a,e,l),ym(a,t,l)))}function pm(e,t,a){var l=Ft();Ii(e,t,a,l)}function Ii(e,t,a,l){var s={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Sr(e))gm(t,s);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var m=t.lastRenderedState,y=o(m,a);if(s.hasEagerState=!0,s.eagerState=y,Qt(y,m))return tr(e,t,s,0),Qe===null&&er(),!1}catch{}finally{}if(a=Ic(e,t,s,l),a!==null)return Ht(a,e,l),ym(a,t,l),!0}return!1}function Ru(e,t,a,l){if(l={lane:2,revertLane:mo(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Sr(e)){if(t)throw Error(u(479))}else t=Ic(e,a,l,2),t!==null&&Ht(t,e,2)}function Sr(e){var t=e.alternate;return e===_e||t!==null&&t===_e}function gm(e,t){Pl=hr=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function ym(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,da(e,a)}}var Wi={readContext:_t,use:yr,useCallback:et,useContext:et,useEffect:et,useImperativeHandle:et,useLayoutEffect:et,useInsertionEffect:et,useMemo:et,useReducer:et,useRef:et,useState:et,useDebugValue:et,useDeferredValue:et,useTransition:et,useSyncExternalStore:et,useId:et,useHostTransitionStatus:et,useFormState:et,useActionState:et,useOptimistic:et,useMemoCache:et,useCacheRefresh:et};Wi.useEffectEvent=et;var vm={readContext:_t,use:yr,useCallback:function(e,t){return Dt().memoizedState=[e,t===void 0?null:t],e},useContext:_t,useEffect:tm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,_r(4194308,4,im.bind(null,t,e),a)},useLayoutEffect:function(e,t){return _r(4194308,4,e,t)},useInsertionEffect:function(e,t){_r(4,2,e,t)},useMemo:function(e,t){var a=Dt();t=t===void 0?null:t;var l=e();if(dl){wa(!0);try{e()}finally{wa(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=Dt();if(a!==void 0){var s=a(t);if(dl){wa(!0);try{a(t)}finally{wa(!1)}}}else s=t;return l.memoizedState=l.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},l.queue=e,e=e.dispatch=Sv.bind(null,_e,e),[l.memoizedState,e]},useRef:function(e){var t=Dt();return e={current:e},t.memoizedState=e},useState:function(e){e=Au(e);var t=e.queue,a=pm.bind(null,_e,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Cu,useDeferredValue:function(e,t){var a=Dt();return Du(a,e,t)},useTransition:function(){var e=Au(!1);return e=om.bind(null,_e,e.queue,!0,!1),Dt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=_e,s=Dt();if(Ae){if(a===void 0)throw Error(u(407));a=a()}else{if(a=t(),Qe===null)throw Error(u(349));(we&127)!==0||Uf(l,t,a)}s.memoizedState=a;var o={value:a,getSnapshot:t};return s.queue=o,tm(Hf.bind(null,l,o,e),[e]),l.flags|=2048,ti(9,{destroy:void 0},Bf.bind(null,l,o,a,t),null),a},useId:function(){var e=Dt(),t=Qe.identifierPrefix;if(Ae){var a=Da,l=Ca;a=(l&~(1<<32-jt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=pr++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof l.is=="string"?m.createElement("select",{is:l.is}):m.createElement("select"),l.multiple?o.multiple=!0:l.size&&(o.size=l.size);break;default:o=typeof l.is=="string"?m.createElement(s,{is:l.is}):m.createElement(s)}}o[ht]=t,o[wt]=l;e:for(m=t.child;m!==null;){if(m.tag===5||m.tag===6)o.appendChild(m.stateNode);else if(m.tag!==4&&m.tag!==27&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===t)break e;for(;m.sibling===null;){if(m.return===null||m.return===t)break e;m=m.return}m.sibling.return=m.return,m=m.sibling}t.stateNode=o;e:switch(St(o,s,l),s){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Pa(t)}}return Ze(t),Vu(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&Pa(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(u(166));if(e=ve.current,Xl(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,s=vt,s!==null)switch(s.tag){case 27:case 5:l=s.memoizedProps}e[ht]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||$h(e.nodeValue,a)),e||Sn(t,!0)}else e=Hr(e).createTextNode(l),e[ht]=t,t.stateNode=e}return Ze(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=Xl(t),a!==null){if(e===null){if(!l)throw Error(u(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(u(557));e[ht]=t}else ll(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ze(t),e=!1}else a=lu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Zt(t),t):(Zt(t),null);if((t.flags&128)!==0)throw Error(u(558))}return Ze(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=Xl(t),l!==null&&l.dehydrated!==null){if(e===null){if(!s)throw Error(u(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(u(317));s[ht]=t}else ll(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ze(t),s=!1}else s=lu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(Zt(t),t):(Zt(t),null)}return Zt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,s=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(s=l.alternate.memoizedState.cachePool.pool),o=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(o=l.memoizedState.cachePool.pool),o!==s&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Tr(t,t.updateQueue),Ze(t),null);case 4:return Q(),e===null&&yo(t.stateNode.containerInfo),Ze(t),null;case 10:return Ja(t.type),Ze(t),null;case 19:if(L(lt),l=t.memoizedState,l===null)return Ze(t),null;if(s=(t.flags&128)!==0,o=l.rendering,o===null)if(s)es(l,!1);else{if(tt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=mr(e),o!==null){for(t.flags|=128,es(l,!1),e=o.updateQueue,t.updateQueue=e,Tr(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)pf(a,e),a=a.sibling;return X(lt,lt.current&1|2),Ae&&Za(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&mt()>Dr&&(t.flags|=128,s=!0,es(l,!1),t.lanes=4194304)}else{if(!s)if(e=mr(o),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,Tr(t,e),es(l,!0),l.tail===null&&l.tailMode==="hidden"&&!o.alternate&&!Ae)return Ze(t),null}else 2*mt()-l.renderingStartTime>Dr&&a!==536870912&&(t.flags|=128,s=!0,es(l,!1),t.lanes=4194304);l.isBackwards?(o.sibling=t.child,t.child=o):(e=l.last,e!==null?e.sibling=o:t.child=o,l.last=o)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=mt(),e.sibling=null,a=lt.current,X(lt,s?a&1|2:a&1),Ae&&Za(t,l.treeForkCount),e):(Ze(t),null);case 22:case 23:return Zt(t),yu(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Ze(t),t.subtreeFlags&6&&(t.flags|=8192)):Ze(t),a=t.updateQueue,a!==null&&Tr(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&L(rl),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Ja(ut),Ze(t),null;case 25:return null;case 30:return null}throw Error(u(156,t.tag))}function Tv(e,t){switch(au(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ja(ut),Q(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return pe(t),null;case 31:if(t.memoizedState!==null){if(Zt(t),t.alternate===null)throw Error(u(340));ll()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Zt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(u(340));ll()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return L(lt),null;case 4:return Q(),null;case 10:return Ja(t.type),null;case 22:case 23:return Zt(t),yu(),e!==null&&L(rl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ja(ut),null;case 25:return null;default:return null}}function Ym(e,t){switch(au(t),t.tag){case 3:Ja(ut),Q();break;case 26:case 27:case 5:pe(t);break;case 4:Q();break;case 31:t.memoizedState!==null&&Zt(t);break;case 13:Zt(t);break;case 19:L(lt);break;case 10:Ja(t.type);break;case 22:case 23:Zt(t),yu(),e!==null&&L(rl);break;case 24:Ja(ut)}}function ts(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var s=l.next;a=s;do{if((a.tag&e)===e){l=void 0;var o=a.create,m=a.inst;l=o(),m.destroy=l}a=a.next}while(a!==s)}}catch(y){Le(t,t.return,y)}}function Nn(e,t,a){try{var l=t.updateQueue,s=l!==null?l.lastEffect:null;if(s!==null){var o=s.next;l=o;do{if((l.tag&e)===e){var m=l.inst,y=m.destroy;if(y!==void 0){m.destroy=void 0,s=t;var x=a,D=y;try{D()}catch(U){Le(s,x,U)}}}l=l.next}while(l!==o)}}catch(U){Le(t,t.return,U)}}function Gm(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Mf(t,a)}catch(l){Le(e,e.return,l)}}}function Qm(e,t,a){a.props=fl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){Le(e,t,l)}}function as(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(s){Le(e,t,s)}}function za(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(s){Le(e,t,s)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(s){Le(e,t,s)}else a.current=null}function Km(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(s){Le(e,e.return,s)}}function Ju(e,t,a){try{var l=e.stateNode;Vv(l,e.type,a,t),l[wt]=t}catch(s){Le(e,e.return,s)}}function Xm(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&On(e.type)||e.tag===4}function Fu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Xm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&On(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Iu(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=ha));else if(l!==4&&(l===27&&On(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Iu(e,t,a),e=e.sibling;e!==null;)Iu(e,t,a),e=e.sibling}function Ar(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&On(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Ar(e,t,a),e=e.sibling;e!==null;)Ar(e,t,a),e=e.sibling}function Zm(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);St(t,l,a),t[ht]=e,t[wt]=a}catch(o){Le(e,e.return,o)}}var en=!1,ft=!1,Wu=!1,Vm=typeof WeakSet=="function"?WeakSet:Set,gt=null;function Av(e,t){if(e=e.containerInfo,bo=Vr,e=sf(e),Kc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var s=l.anchorOffset,o=l.focusNode;l=l.focusOffset;try{a.nodeType,o.nodeType}catch{a=null;break e}var m=0,y=-1,x=-1,D=0,U=0,Y=e,z=null;t:for(;;){for(var R;Y!==a||s!==0&&Y.nodeType!==3||(y=m+s),Y!==o||l!==0&&Y.nodeType!==3||(x=m+l),Y.nodeType===3&&(m+=Y.nodeValue.length),(R=Y.firstChild)!==null;)z=Y,Y=R;for(;;){if(Y===e)break t;if(z===a&&++D===s&&(y=m),z===o&&++U===l&&(x=m),(R=Y.nextSibling)!==null)break;Y=z,z=Y.parentNode}Y=R}a=y===-1||x===-1?null:{start:y,end:x}}else a=null}a=a||{start:0,end:0}}else a=null;for(So={focusedElem:e,selectionRange:a},Vr=!1,gt=t;gt!==null;)if(t=gt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,gt=e;else for(;gt!==null;){switch(t=gt,o=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),St(o,l,a),o[ht]=e,ct(o),l=o;break e;case"link":var m=ep("link","href",s).get(l+(a.href||""));if(m){for(var y=0;yHe&&(m=He,He=de,de=m);var A=nf(y,de),E=nf(y,He);if(A&&E&&(R.rangeCount!==1||R.anchorNode!==A.node||R.anchorOffset!==A.offset||R.focusNode!==E.node||R.focusOffset!==E.offset)){var k=Y.createRange();k.setStart(A.node,A.offset),R.removeAllRanges(),de>He?(R.addRange(k),R.extend(E.node,E.offset)):(k.setEnd(E.node,E.offset),R.addRange(k))}}}}for(Y=[],R=y;R=R.parentNode;)R.nodeType===1&&Y.push({element:R,left:R.scrollLeft,top:R.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;ya?32:a,C.T=null,a=io,io=null;var o=zn,m=sn;if(pt=0,si=zn=null,sn=0,(Re&6)!==0)throw Error(u(331));var y=Re;if(Re|=4,ih(o.current),ah(o,o.current,m,a),Re=y,cs(0,!1),Ge&&typeof Ge.onPostCommitFiberRoot=="function")try{Ge.onPostCommitFiberRoot(Ua,o)}catch{}return!0}finally{G.p=s,C.T=l,jh(e,t)}}function Eh(e,t,a){t=ta(a,t),t=Lu(e.stateNode,t,2),e=En(e,t,2),e!==null&&(pn(e,2),Ma(e))}function Le(e,t,a){if(e.tag===3)Eh(e,e,a);else for(;t!==null;){if(t.tag===3){Eh(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Dn===null||!Dn.has(l))){e=ta(a,e),a=Tm(2),l=En(t,a,2),l!==null&&(Am(a,l,t,e),pn(l,2),Ma(l));break}}t=t.return}}function uo(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Cv;var s=new Set;l.set(t,s)}else s=l.get(t),s===void 0&&(s=new Set,l.set(t,s));s.has(a)||(to=!0,s.add(a),e=Ov.bind(null,e,t,a),t.then(e,e))}function Ov(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Qe===e&&(we&a)===a&&(tt===4||tt===3&&(we&62914560)===we&&300>mt()-Cr?(Re&2)===0&&ri(e,0):ao|=a,ii===we&&(ii=0)),Ma(e)}function Th(e,t){t===0&&(t=Al()),e=al(e,t),e!==null&&(pn(e,t),Ma(e))}function qv(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Th(e,a)}function $v(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(u(314))}l!==null&&l.delete(t),Th(e,a)}function Lv(e,t){return xi(e,t)}var $r=null,ui=null,oo=!1,Lr=!1,fo=!1,Rn=0;function Ma(e){e!==ui&&e.next===null&&(ui===null?$r=ui=e:ui=ui.next=e),Lr=!0,oo||(oo=!0,Bv())}function cs(e,t){if(!fo&&Lr){fo=!0;do for(var a=!1,l=$r;l!==null;){if(e!==0){var s=l.pendingLanes;if(s===0)var o=0;else{var m=l.suspendedLanes,y=l.pingedLanes;o=(1<<31-jt(42|e)+1)-1,o&=s&~(m&~y),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(a=!0,Ch(l,o))}else o=we,o=Mt(l,l===Qe?o:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(o&3)===0||Me(l,o)||(a=!0,Ch(l,o));l=l.next}while(a);fo=!1}}function Uv(){Ah()}function Ah(){Lr=oo=!1;var e=0;Rn!==0&&Fv()&&(e=Rn);for(var t=mt(),a=null,l=$r;l!==null;){var s=l.next,o=Nh(l,t);o===0?(l.next=null,a===null?$r=s:a.next=s,s===null&&(ui=a)):(a=l,(e!==0||(o&3)!==0)&&(Lr=!0)),l=s}pt!==0&&pt!==5||cs(e),Rn!==0&&(Rn=0)}function Nh(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,s=e.expirationTimes,o=e.pendingLanes&-62914561;0y)break;var U=x.transferSize,Y=x.initiatorType;U&&Lh(Y)&&(x=x.responseEnd,m+=U*(x"u"?null:document;function Fh(e,t,a){var l=oi;if(l&&typeof t=="string"&&t){var s=Rt(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),Jh.has(s)||(Jh.add(s),e={rel:e,crossOrigin:a,href:t},l.querySelector(s)===null&&(t=l.createElement("link"),St(t,"link",e),ct(t),l.head.appendChild(t)))}}function i_(e){rn.D(e),Fh("dns-prefetch",e,null)}function s_(e,t){rn.C(e,t),Fh("preconnect",e,t)}function r_(e,t,a){rn.L(e,t,a);var l=oi;if(l&&e&&t){var s='link[rel="preload"][as="'+Rt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+Rt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+Rt(a.imageSizes)+'"]')):s+='[href="'+Rt(e)+'"]';var o=s;switch(t){case"style":o=di(e);break;case"script":o=fi(e)}ra.has(o)||(e=S({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),ra.set(o,e),l.querySelector(s)!==null||t==="style"&&l.querySelector(fs(o))||t==="script"&&l.querySelector(ms(o))||(t=l.createElement("link"),St(t,"link",e),ct(t),l.head.appendChild(t)))}}function c_(e,t){rn.m(e,t);var a=oi;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+Rt(l)+'"][href="'+Rt(e)+'"]',o=s;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=fi(e)}if(!ra.has(o)&&(e=S({rel:"modulepreload",href:e},t),ra.set(o,e),a.querySelector(s)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ms(o)))return}l=a.createElement("link"),St(l,"link",e),ct(l),a.head.appendChild(l)}}}function u_(e,t,a){rn.S(e,t,a);var l=oi;if(l&&e){var s=Ga(l).hoistableStyles,o=di(e);t=t||"default";var m=s.get(o);if(!m){var y={loading:0,preload:null};if(m=l.querySelector(fs(o)))y.loading=5;else{e=S({rel:"stylesheet",href:e,"data-precedence":t},a),(a=ra.get(o))&&No(e,a);var x=m=l.createElement("link");ct(x),St(x,"link",e),x._p=new Promise(function(D,U){x.onload=D,x.onerror=U}),x.addEventListener("load",function(){y.loading|=1}),x.addEventListener("error",function(){y.loading|=2}),y.loading|=4,Gr(m,t,l)}m={type:"stylesheet",instance:m,count:1,state:y},s.set(o,m)}}}function o_(e,t){rn.X(e,t);var a=oi;if(a&&e){var l=Ga(a).hoistableScripts,s=fi(e),o=l.get(s);o||(o=a.querySelector(ms(s)),o||(e=S({src:e,async:!0},t),(t=ra.get(s))&&ko(e,t),o=a.createElement("script"),ct(o),St(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},l.set(s,o))}}function d_(e,t){rn.M(e,t);var a=oi;if(a&&e){var l=Ga(a).hoistableScripts,s=fi(e),o=l.get(s);o||(o=a.querySelector(ms(s)),o||(e=S({src:e,async:!0,type:"module"},t),(t=ra.get(s))&&ko(e,t),o=a.createElement("script"),ct(o),St(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},l.set(s,o))}}function Ih(e,t,a,l){var s=(s=ve.current)?Yr(s):null;if(!s)throw Error(u(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=di(a.href),a=Ga(s).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=di(a.href);var o=Ga(s).hoistableStyles,m=o.get(e);if(m||(s=s.ownerDocument||s,m={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,m),(o=s.querySelector(fs(e)))&&!o._p&&(m.instance=o,m.state.loading=5),ra.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},ra.set(e,a),o||f_(s,e,a,m.state))),t&&l===null)throw Error(u(528,""));return m}if(t&&l!==null)throw Error(u(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=fi(a),a=Ga(s).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(u(444,e))}}function di(e){return'href="'+Rt(e)+'"'}function fs(e){return'link[rel="stylesheet"]['+e+"]"}function Wh(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function f_(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),St(t,"link",a),ct(t),e.head.appendChild(t))}function fi(e){return'[src="'+Rt(e)+'"]'}function ms(e){return"script[async]"+e}function Ph(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+Rt(a.href)+'"]');if(l)return t.instance=l,ct(l),l;var s=S({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),ct(l),St(l,"style",s),Gr(l,a.precedence,e),t.instance=l;case"stylesheet":s=di(a.href);var o=e.querySelector(fs(s));if(o)return t.state.loading|=4,t.instance=o,ct(o),o;l=Wh(a),(s=ra.get(s))&&No(l,s),o=(e.ownerDocument||e).createElement("link"),ct(o);var m=o;return m._p=new Promise(function(y,x){m.onload=y,m.onerror=x}),St(o,"link",l),t.state.loading|=4,Gr(o,a.precedence,e),t.instance=o;case"script":return o=fi(a.src),(s=e.querySelector(ms(o)))?(t.instance=s,ct(s),s):(l=a,(s=ra.get(o))&&(l=S({},a),ko(l,s)),e=e.ownerDocument||e,s=e.createElement("script"),ct(s),St(s,"link",l),e.head.appendChild(s),t.instance=s);case"void":return null;default:throw Error(u(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,Gr(l,a.precedence,e));return t.instance}function Gr(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=l.length?l[l.length-1]:null,o=s,m=0;m title"):null)}function m_(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function ap(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function h_(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=di(l.href),o=t.querySelector(fs(s));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Kr.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=o,ct(o);return}o=t.ownerDocument||t,l=Wh(l),(s=ra.get(s))&&No(l,s),o=o.createElement("link"),ct(o);var m=o;m._p=new Promise(function(y,x){m.onload=y,m.onerror=x}),St(o,"link",l),a.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Kr.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Co=0;function p_(e,t){return e.stylesheets&&e.count===0&&Zr(e,e.stylesheets),0Co?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(s)}}:null}function Kr(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Zr(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Xr=null;function Zr(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Xr=new Map,t.forEach(g_,e),Xr=null,Kr.call(e))}function g_(e,t){if(!(t.state.loading&4)){var a=Xr.get(e);if(a)var l=a.get(null);else{a=new Map,Xr.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),Uo.exports=R_(),Uo.exports}var q_=O_();/** + * react-router v7.17.0 + * + * Copyright (c) Remix Software Inc. + * + * 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 + */var Tp="popstate";function Ap(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function $_(n={}){function i(d,f){let{pathname:p="/",search:v="",hash:h=""}=bl(d.location.hash.substring(1));return!p.startsWith("/")&&!p.startsWith(".")&&(p="/"+p),sd("",{pathname:p,search:v,hash:h},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function r(d,f){let p=d.document.querySelector("base"),v="";if(p&&p.getAttribute("href")){let h=d.location.href,g=h.indexOf("#");v=g===-1?h:h.slice(0,g)}return v+"#"+(typeof f=="string"?f:Ns(f))}function u(d,f){ua(d.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(f)})`)}return U_(i,r,u,n)}function Fe(n,i){if(n===!1||n===null||typeof n>"u")throw new Error(i)}function ua(n,i){if(!n){typeof console<"u"&&console.warn(i);try{throw new Error(i)}catch{}}}function L_(){return Math.random().toString(36).substring(2,10)}function Np(n,i){return{usr:n.state,key:n.key,idx:i,masked:n.mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function sd(n,i,r=null,u,d){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof i=="string"?bl(i):i,state:r,key:i&&i.key||u||L_(),mask:d}}function Ns({pathname:n="/",search:i="",hash:r=""}){return i&&i!=="?"&&(n+=i.charAt(0)==="?"?i:"?"+i),r&&r!=="#"&&(n+=r.charAt(0)==="#"?r:"#"+r),n}function bl(n){let i={};if(n){let r=n.indexOf("#");r>=0&&(i.hash=n.substring(r),n=n.substring(0,r));let u=n.indexOf("?");u>=0&&(i.search=n.substring(u),n=n.substring(0,u)),n&&(i.pathname=n)}return i}function U_(n,i,r,u={}){let{window:d=document.defaultView,v5Compat:f=!1}=u,p=d.history,v="POP",h=null,g=w();g==null&&(g=0,p.replaceState({...p.state,idx:g},""));function w(){return(p.state||{idx:null}).idx}function S(){v="POP";let O=w(),$=O==null?null:O-g;g=O,h&&h({action:v,location:q.location,delta:$})}function T(O,$){v="PUSH";let I=Ap(O)?O:sd(q.location,O,$);r&&r(I,O),g=w()+1;let V=Np(I,g),ie=q.createHref(I.mask||I);try{p.pushState(V,"",ie)}catch(ce){if(ce instanceof DOMException&&ce.name==="DataCloneError")throw ce;d.location.assign(ie)}f&&h&&h({action:v,location:q.location,delta:1})}function M(O,$){v="REPLACE";let I=Ap(O)?O:sd(q.location,O,$);r&&r(I,O),g=w();let V=Np(I,g),ie=q.createHref(I.mask||I);p.replaceState(V,"",ie),f&&h&&h({action:v,location:q.location,delta:0})}function N(O){return B_(d,O)}let q={get action(){return v},get location(){return n(d,p)},listen(O){if(h)throw new Error("A history only accepts one active listener");return d.addEventListener(Tp,S),h=O,()=>{d.removeEventListener(Tp,S),h=null}},createHref(O){return i(d,O)},createURL:N,encodeLocation(O){let $=N(O);return{pathname:$.pathname,search:$.search,hash:$.hash}},push:T,replace:M,go(O){return p.go(O)}};return q}function B_(n,i,r=!1){let u="http://localhost";n&&(u=n.location.origin!=="null"?n.location.origin:n.location.href),Fe(u,"No window.location.(origin|href) available to create URL");let d=typeof i=="string"?i:Ns(i);return d=d.replace(/ $/,"%20"),!r&&d.startsWith("//")&&(d=u+d),new URL(d,u)}function gg(n,i,r="/"){return H_(n,i,r,!1)}function H_(n,i,r,u,d){let f=typeof i=="string"?bl(i):i,p=on(f.pathname||"/",r);if(p==null)return null;let v=Y_(n),h=null,g=eb(p);for(let w=0;h==null&&w{let w={relativePath:g===void 0?p.path||"":g,caseSensitive:p.caseSensitive===!0,childrenIndex:v,route:p};if(w.relativePath.startsWith("/")){if(!w.relativePath.startsWith(u)&&h)return;Fe(w.relativePath.startsWith(u),`Absolute route path "${w.relativePath}" nested under path "${u}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),w.relativePath=w.relativePath.slice(u.length)}let S=_a([u,w.relativePath]),T=r.concat(w);p.children&&p.children.length>0&&(Fe(p.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${S}".`),yg(p.children,i,T,S,h)),!(p.path==null&&!p.index)&&i.push({path:S,score:F_(S,p.index),routesMeta:T})};return n.forEach((p,v)=>{var h;if(p.path===""||!((h=p.path)!=null&&h.includes("?")))f(p,v);else for(let g of vg(p.path))f(p,v,!0,g)}),i}function vg(n){let i=n.split("/");if(i.length===0)return[];let[r,...u]=i,d=r.endsWith("?"),f=r.replace(/\?$/,"");if(u.length===0)return d?[f,""]:[f];let p=vg(u.join("/")),v=[];return v.push(...p.map(h=>h===""?f:[f,h].join("/"))),d&&v.push(...p),v.map(h=>n.startsWith("/")&&h===""?"/":h)}function G_(n){n.sort((i,r)=>i.score!==r.score?r.score-i.score:I_(i.routesMeta.map(u=>u.childrenIndex),r.routesMeta.map(u=>u.childrenIndex)))}var Q_=/^:[\w-]+$/,K_=3,X_=2,Z_=1,V_=10,J_=-2,kp=n=>n==="*";function F_(n,i){let r=n.split("/"),u=r.length;return r.some(kp)&&(u+=J_),i&&(u+=X_),r.filter(d=>!kp(d)).reduce((d,f)=>d+(Q_.test(f)?K_:f===""?Z_:V_),u)}function I_(n,i){return n.length===i.length&&n.slice(0,-1).every((u,d)=>u===i[d])?n[n.length-1]-i[i.length-1]:0}function W_(n,i,r=!1){let{routesMeta:u}=n,d={},f="/",p=[];for(let v=0;v{if(w==="*"){let N=v[T]||"";p=f.slice(0,f.length-N.length).replace(/(.)\/+$/,"$1")}const M=v[T];return S&&!M?g[w]=void 0:g[w]=(M||"").replace(/%2F/g,"/"),g},{}),pathname:f,pathnameBase:p,pattern:n}}function P_(n,i=!1,r=!0){ua(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let u=[],d="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(p,v,h,g,w)=>{if(u.push({paramName:v,isOptional:h!=null}),h){let S=w.charAt(g+p.length);return S&&S!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(u.push({paramName:"*"}),d+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?d+="\\/*$":n!==""&&n!=="/"&&(d+="(?:(?=\\/|$))"),[new RegExp(d,i?void 0:"i"),u]}function eb(n){try{return n.split("/").map(i=>decodeURIComponent(i).replace(/\//g,"%2F")).join("/")}catch(i){return ua(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${i}).`),n}}function on(n,i){if(i==="/")return n;if(!n.toLowerCase().startsWith(i.toLowerCase()))return null;let r=i.endsWith("/")?i.length-1:i.length,u=n.charAt(r);return u&&u!=="/"?null:n.slice(r)||"/"}var tb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ab(n,i="/"){let{pathname:r,search:u="",hash:d=""}=typeof n=="string"?bl(n):n,f;return r?(r=_g(r),r.startsWith("/")?f=Cp(r.substring(1),"/"):f=Cp(r,i)):f=i,{pathname:f,search:ib(u),hash:sb(d)}}function Cp(n,i){let r=gc(i).split("/");return n.split("/").forEach(d=>{d===".."?r.length>1&&r.pop():d!=="."&&r.push(d)}),r.length>1?r.join("/"):"/"}function Go(n,i,r,u){return`Cannot include a '${n}' character in a manually specified \`to.${i}\` field [${JSON.stringify(u)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function nb(n){return n.filter((i,r)=>r===0||i.route.path&&i.route.path.length>0)}function bd(n){let i=nb(n);return i.map((r,u)=>u===i.length-1?r.pathname:r.pathnameBase)}function jc(n,i,r,u=!1){let d;typeof n=="string"?d=bl(n):(d={...n},Fe(!d.pathname||!d.pathname.includes("?"),Go("?","pathname","search",d)),Fe(!d.pathname||!d.pathname.includes("#"),Go("#","pathname","hash",d)),Fe(!d.search||!d.search.includes("#"),Go("#","search","hash",d)));let f=n===""||d.pathname==="",p=f?"/":d.pathname,v;if(p==null)v=r;else{let S=i.length-1;if(!u&&p.startsWith("..")){let T=p.split("/");for(;T[0]==="..";)T.shift(),S-=1;d.pathname=T.join("/")}v=S>=0?i[S]:"/"}let h=ab(d,v),g=p&&p!=="/"&&p.endsWith("/"),w=(f||p===".")&&r.endsWith("/");return!h.pathname.endsWith("/")&&(g||w)&&(h.pathname+="/"),h}var _g=n=>n.replace(/\/\/+/g,"/"),_a=n=>_g(n.join("/")),gc=n=>n.replace(/\/+$/,""),lb=n=>gc(n).replace(/^\/*/,"/"),ib=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,sb=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,rb=class{constructor(n,i,r,u=!1){this.status=n,this.statusText=i||"",this.internal=u,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function cb(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function ub(n){let i=n.map(r=>r.route.path).filter(Boolean);return _a(i)||"/"}var bg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Sg(n,i){let r=n;if(typeof r!="string"||!tb.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let u=r,d=!1;if(bg)try{let f=new URL(window.location.href),p=r.startsWith("//")?new URL(f.protocol+r):new URL(r),v=on(p.pathname,i);p.origin===f.origin&&v!=null?r=v+p.search+p.hash:d=!0}catch{ua(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:u,isExternal:d,to:r}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var xg=["POST","PUT","PATCH","DELETE"];new Set(xg);var ob=["GET",...xg];new Set(ob);var _i=_.createContext(null);_i.displayName="DataRouter";var wc=_.createContext(null);wc.displayName="DataRouterState";var jg=_.createContext(!1);function db(){return _.useContext(jg)}var wg=_.createContext({isTransitioning:!1});wg.displayName="ViewTransition";var fb=_.createContext(new Map);fb.displayName="Fetchers";var mb=_.createContext(null);mb.displayName="Await";var Pt=_.createContext(null);Pt.displayName="Navigation";var zs=_.createContext(null);zs.displayName="Location";var qa=_.createContext({outlet:null,matches:[],isDataRoute:!1});qa.displayName="Route";var Sd=_.createContext(null);Sd.displayName="RouteError";var Eg="REACT_ROUTER_ERROR",hb="REDIRECT",pb="ROUTE_ERROR_RESPONSE";function gb(n){if(n.startsWith(`${Eg}:${hb}:{`))try{let i=JSON.parse(n.slice(28));if(typeof i=="object"&&i&&typeof i.status=="number"&&typeof i.statusText=="string"&&typeof i.location=="string"&&typeof i.reloadDocument=="boolean"&&typeof i.replace=="boolean")return i}catch{}}function yb(n){if(n.startsWith(`${Eg}:${pb}:{`))try{let i=JSON.parse(n.slice(40));if(typeof i=="object"&&i&&typeof i.status=="number"&&typeof i.statusText=="string")return new rb(i.status,i.statusText,i.data)}catch{}}function vb(n,{relative:i}={}){Fe(bi(),"useHref() may be used only in the context of a component.");let{basename:r,navigator:u}=_.useContext(Pt),{hash:d,pathname:f,search:p}=Ms(n,{relative:i}),v=f;return r!=="/"&&(v=f==="/"?r:_a([r,f])),u.createHref({pathname:v,search:p,hash:d})}function bi(){return _.useContext(zs)!=null}function Sa(){return Fe(bi(),"useLocation() may be used only in the context of a component."),_.useContext(zs).location}var Tg="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ag(n){_.useContext(Pt).static||_.useLayoutEffect(n)}function xd(){let{isDataRoute:n}=_.useContext(qa);return n?Db():_b()}function _b(){Fe(bi(),"useNavigate() may be used only in the context of a component.");let n=_.useContext(_i),{basename:i,navigator:r}=_.useContext(Pt),{matches:u}=_.useContext(qa),{pathname:d}=Sa(),f=JSON.stringify(bd(u)),p=_.useRef(!1);return Ag(()=>{p.current=!0}),_.useCallback((h,g={})=>{if(ua(p.current,Tg),!p.current)return;if(typeof h=="number"){r.go(h);return}let w=jc(h,JSON.parse(f),d,g.relative==="path");n==null&&i!=="/"&&(w.pathname=w.pathname==="/"?i:_a([i,w.pathname])),(g.replace?r.replace:r.push)(w,g.state,g)},[i,r,f,d,n])}_.createContext(null);function Ms(n,{relative:i}={}){let{matches:r}=_.useContext(qa),{pathname:u}=Sa(),d=JSON.stringify(bd(r));return _.useMemo(()=>jc(n,JSON.parse(d),u,i==="path"),[n,d,u,i])}function bb(n,i){return Ng(n,i)}function Ng(n,i,r){var O;Fe(bi(),"useRoutes() may be used only in the context of a component.");let{navigator:u}=_.useContext(Pt),{matches:d}=_.useContext(qa),f=d[d.length-1],p=f?f.params:{},v=f?f.pathname:"/",h=f?f.pathnameBase:"/",g=f&&f.route;{let $=g&&g.path||"";Cg(v,!g||$.endsWith("*")||$.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let w=Sa(),S;if(i){let $=typeof i=="string"?bl(i):i;Fe(h==="/"||((O=$.pathname)==null?void 0:O.startsWith(h)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${h}" but pathname "${$.pathname}" was given in the \`location\` prop.`),S=$}else S=w;let T=S.pathname||"/",M=T;if(h!=="/"){let $=h.replace(/^\//,"").split("/");M="/"+T.replace(/^\//,"").split("/").slice($.length).join("/")}let N=r&&r.state.matches.length?r.state.matches.map($=>Object.assign($,{route:r.manifest[$.route.id]||$.route})):gg(n,{pathname:M});ua(g||N!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),ua(N==null||N[N.length-1].route.element!==void 0||N[N.length-1].route.Component!==void 0||N[N.length-1].route.lazy!==void 0,`Matched leaf route at location "${S.pathname}${S.search}${S.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let q=Eb(N&&N.map($=>Object.assign({},$,{params:Object.assign({},p,$.params),pathname:_a([h,u.encodeLocation?u.encodeLocation($.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:$.pathname]),pathnameBase:$.pathnameBase==="/"?h:_a([h,u.encodeLocation?u.encodeLocation($.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:$.pathnameBase])})),d,r);return i&&q?_.createElement(zs.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...S},navigationType:"POP"}},q):q}function Sb(){let n=Cb(),i=cb(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),r=n instanceof Error?n.stack:null,u="rgba(200,200,200, 0.5)",d={padding:"0.5rem",backgroundColor:u},f={padding:"2px 4px",backgroundColor:u},p=null;return console.error("Error handled by React Router default ErrorBoundary:",n),p=_.createElement(_.Fragment,null,_.createElement("p",null,"💿 Hey developer 👋"),_.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",_.createElement("code",{style:f},"ErrorBoundary")," or"," ",_.createElement("code",{style:f},"errorElement")," prop on your route.")),_.createElement(_.Fragment,null,_.createElement("h2",null,"Unexpected Application Error!"),_.createElement("h3",{style:{fontStyle:"italic"}},i),r?_.createElement("pre",{style:d},r):null,p)}var xb=_.createElement(Sb,null),kg=class extends _.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,i){return i.location!==n.location||i.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:i.error,location:i.location,revalidation:n.revalidation||i.revalidation}}componentDidCatch(n,i){this.props.onError?this.props.onError(n,i):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const r=yb(n.digest);r&&(n=r)}let i=n!==void 0?_.createElement(qa.Provider,{value:this.props.routeContext},_.createElement(Sd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?_.createElement(jb,{error:n},i):i}};kg.contextType=jg;var Qo=new WeakMap;function jb({children:n,error:i}){let{basename:r}=_.useContext(Pt);if(typeof i=="object"&&i&&"digest"in i&&typeof i.digest=="string"){let u=gb(i.digest);if(u){let d=Qo.get(i);if(d)throw d;let f=Sg(u.location,r);if(bg&&!Qo.get(i))if(f.isExternal||u.reloadDocument)window.location.href=f.absoluteURL||f.to;else{const p=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(f.to,{replace:u.replace}));throw Qo.set(i,p),p}return _.createElement("meta",{httpEquiv:"refresh",content:`0;url=${f.absoluteURL||f.to}`})}}return n}function wb({routeContext:n,match:i,children:r}){let u=_.useContext(_i);return u&&u.static&&u.staticContext&&(i.route.errorElement||i.route.ErrorBoundary)&&(u.staticContext._deepestRenderedBoundaryId=i.route.id),_.createElement(qa.Provider,{value:n},r)}function Eb(n,i=[],r){let u=r==null?void 0:r.state;if(n==null){if(!u)return null;if(u.errors)n=u.matches;else if(i.length===0&&!u.initialized&&u.matches.length>0)n=u.matches;else return null}let d=n,f=u==null?void 0:u.errors;if(f!=null){let w=d.findIndex(S=>S.route.id&&(f==null?void 0:f[S.route.id])!==void 0);Fe(w>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),d=d.slice(0,Math.min(d.length,w+1))}let p=!1,v=-1;if(r&&u){p=u.renderFallback;for(let w=0;w=0?d=d.slice(0,v+1):d=[d[0]];break}}}}let h=r==null?void 0:r.onError,g=u&&h?(w,S)=>{var T,M;h(w,{location:u.location,params:((M=(T=u.matches)==null?void 0:T[0])==null?void 0:M.params)??{},pattern:ub(u.matches),errorInfo:S})}:void 0;return d.reduceRight((w,S,T)=>{let M,N=!1,q=null,O=null;u&&(M=f&&S.route.id?f[S.route.id]:void 0,q=S.route.errorElement||xb,p&&(v<0&&T===0?(Cg("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),N=!0,O=null):v===T&&(N=!0,O=S.route.hydrateFallbackElement||null)));let $=i.concat(d.slice(0,T+1)),I=()=>{let V;return M?V=q:N?V=O:S.route.Component?V=_.createElement(S.route.Component,null):S.route.element?V=S.route.element:V=w,_.createElement(wb,{match:S,routeContext:{outlet:w,matches:$,isDataRoute:u!=null},children:V})};return u&&(S.route.ErrorBoundary||S.route.errorElement||T===0)?_.createElement(kg,{location:u.location,revalidation:u.revalidation,component:q,error:M,children:I(),routeContext:{outlet:null,matches:$,isDataRoute:!0},onError:g}):I()},null)}function jd(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Tb(n){let i=_.useContext(_i);return Fe(i,jd(n)),i}function Ab(n){let i=_.useContext(wc);return Fe(i,jd(n)),i}function Nb(n){let i=_.useContext(qa);return Fe(i,jd(n)),i}function wd(n){let i=Nb(n),r=i.matches[i.matches.length-1];return Fe(r.route.id,`${n} can only be used on routes that contain a unique "id"`),r.route.id}function kb(){return wd("useRouteId")}function Cb(){var u;let n=_.useContext(Sd),i=Ab("useRouteError"),r=wd("useRouteError");return n!==void 0?n:(u=i.errors)==null?void 0:u[r]}function Db(){let{router:n}=Tb("useNavigate"),i=wd("useNavigate"),r=_.useRef(!1);return Ag(()=>{r.current=!0}),_.useCallback(async(d,f={})=>{ua(r.current,Tg),r.current&&(typeof d=="number"?await n.navigate(d):await n.navigate(d,{fromRouteId:i,...f}))},[n,i])}var Dp={};function Cg(n,i,r){!i&&!Dp[n]&&(Dp[n]=!0,ua(!1,r))}_.memo(zb);function zb({routes:n,manifest:i,future:r,state:u,isStatic:d,onError:f}){return Ng(n,void 0,{manifest:i,state:u,isStatic:d,onError:f})}function Mb({to:n,replace:i,state:r,relative:u}){Fe(bi()," may be used only in the context of a component.");let{static:d}=_.useContext(Pt);ua(!d," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:f}=_.useContext(qa),{pathname:p}=Sa(),v=xd(),h=jc(n,bd(f),p,u==="path"),g=JSON.stringify(h);return _.useEffect(()=>{v(JSON.parse(g),{replace:i,state:r,relative:u})},[v,g,u,i,r]),null}function rd(n){Fe(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Rb({basename:n="/",children:i=null,location:r,navigationType:u="POP",navigator:d,static:f=!1,useTransitions:p}){Fe(!bi(),"You cannot render a inside another . You should never have more than one in your app.");let v=n.replace(/^\/*/,"/"),h=_.useMemo(()=>({basename:v,navigator:d,static:f,useTransitions:p,future:{}}),[v,d,f,p]);typeof r=="string"&&(r=bl(r));let{pathname:g="/",search:w="",hash:S="",state:T=null,key:M="default",mask:N}=r,q=_.useMemo(()=>{let O=on(g,v);return O==null?null:{location:{pathname:O,search:w,hash:S,state:T,key:M,mask:N},navigationType:u}},[v,g,w,S,T,M,u,N]);return ua(q!=null,` is not able to match the URL "${g}${w}${S}" because it does not start with the basename, so the won't render anything.`),q==null?null:_.createElement(Pt.Provider,{value:h},_.createElement(zs.Provider,{children:i,value:q}))}function Ob({children:n,location:i}){return bb(cd(n),i)}function cd(n,i=[]){let r=[];return _.Children.forEach(n,(u,d)=>{if(!_.isValidElement(u))return;let f=[...i,d];if(u.type===_.Fragment){r.push.apply(r,cd(u.props.children,f));return}Fe(u.type===rd,`[${typeof u.type=="string"?u.type:u.type.name}] is not a component. All component children of must be a or `),Fe(!u.props.index||!u.props.children,"An index route cannot have child routes.");let p={id:u.props.id||f.join("-"),caseSensitive:u.props.caseSensitive,element:u.props.element,Component:u.props.Component,index:u.props.index,path:u.props.path,middleware:u.props.middleware,loader:u.props.loader,action:u.props.action,hydrateFallbackElement:u.props.hydrateFallbackElement,HydrateFallback:u.props.HydrateFallback,errorElement:u.props.errorElement,ErrorBoundary:u.props.ErrorBoundary,hasErrorBoundary:u.props.hasErrorBoundary===!0||u.props.ErrorBoundary!=null||u.props.errorElement!=null,shouldRevalidate:u.props.shouldRevalidate,handle:u.props.handle,lazy:u.props.lazy};u.props.children&&(p.children=cd(u.props.children,f)),r.push(p)}),r}var cc="get",uc="application/x-www-form-urlencoded";function Ec(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function qb(n){return Ec(n)&&n.tagName.toLowerCase()==="button"}function $b(n){return Ec(n)&&n.tagName.toLowerCase()==="form"}function Lb(n){return Ec(n)&&n.tagName.toLowerCase()==="input"}function Ub(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function Bb(n,i){return n.button===0&&(!i||i==="_self")&&!Ub(n)}var tc=null;function Hb(){if(tc===null)try{new FormData(document.createElement("form"),0),tc=!1}catch{tc=!0}return tc}var Yb=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Ko(n){return n!=null&&!Yb.has(n)?(ua(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${uc}"`),null):n}function Gb(n,i){let r,u,d,f,p;if($b(n)){let v=n.getAttribute("action");u=v?on(v,i):null,r=n.getAttribute("method")||cc,d=Ko(n.getAttribute("enctype"))||uc,f=new FormData(n)}else if(qb(n)||Lb(n)&&(n.type==="submit"||n.type==="image")){let v=n.form;if(v==null)throw new Error('Cannot submit a