From 702ea05d4d290b7410c6bca54fb7f9a1cb98a318 Mon Sep 17 00:00:00 2001 From: baiyanyun Date: Tue, 9 Jun 2026 15:32:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=B8=E6=94=B6=E6=95=B0=E5=AD=97=E5=91=98?= =?UTF-8?q?=E5=B7=A5=E5=85=A5=E5=8F=A3=E8=B7=AF=E7=94=B1=E5=86=B3=E7=AD=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/lib/qimingclawAdapter.ts | 216 ++++++++++++++++++ .../sgrobot-digital/assets/index-BflGTsfz.js | 138 +++++++++++ .../sgrobot-digital/assets/index-CRHKnsH7.js | 138 ----------- .../public/sgrobot-digital/index.html | 2 +- .../src/main/ipc/digitalEmployeeHandlers.ts | 11 + .../digitalEmployee/stateService.test.ts | 93 +++++++- .../services/digitalEmployee/stateService.ts | 129 +++++++++++ .../src/preload/webviewPerfBridge.ts | 6 + ...ital-employee-frontend-integration-plan.md | 9 +- 9 files changed, 598 insertions(+), 144 deletions(-) create mode 100644 qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BflGTsfz.js delete mode 100644 qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-CRHKnsH7.js 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 3866091d..034124ad 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 @@ -22,9 +22,13 @@ import type { FlowResponse, GovernanceCommandRequest, GovernanceCommandResponse, + IngressRouteRequest, + IngressRouteResponse, MemoryEntry, PlanDispatchResponse, PlanStepSummary, + RouteDecisionRecord, + RouteDecisionTimelineResponse, SkillSpec, } from '@/types/api'; @@ -49,6 +53,8 @@ declare global { runSchedulerCheck?: () => Promise<{ activated: number; due?: number; skipped?: number }>; runScheduleNow?: (scheduleId: string) => Promise<{ ok?: boolean; scheduleRunId?: string; error?: string }>; getScheduleRuns?: (scheduleId: string, limit?: number) => Promise; + listRouteDecisions?: (options?: { limit?: number }) => Promise; + recordRouteDecision?: (input: QimingclawRouteDecisionInput) => Promise; recordGovernanceCommand?: (command: QimingclawGovernanceCommandRecord) => Promise; respondPermission?: (sessionId: string, permissionId: string, response: 'once' | 'always' | 'reject') => Promise<{ success?: boolean; error?: string }>; }; @@ -189,6 +195,27 @@ interface QimingclawGovernanceCommandRecord { result?: Record | null; } +interface QimingclawRouteDecisionInput { + id?: string | null; + idempotencyKey?: string | null; + correlationId?: string | null; + routeKind: string; + intentKind: string; + reasonCodes?: string[]; + candidateSkills?: string[]; + contextRefs?: Record; + createdCommandId?: string | null; + createsPlan?: boolean; + createsTaskRun?: boolean; + approvalMode?: string | null; + policyResult?: string | null; + entrypoint?: string | null; + actor?: string | null; + message?: string | null; + envelope?: Record | null; + recordedAt?: string | null; +} + interface QimingclawRuntimeRecords { generatedAt: string; plans: QimingclawPlanRecord[]; @@ -552,6 +579,12 @@ export async function handleQimingclawDigitalApi( if (method === 'POST' && pathname === '/api/digital-employee/workday/actions') { return await handleWorkdayAction(parseJsonBody(options.body), await readQimingclawSnapshot()) as T; } + if (method === 'GET' && pathname === '/api/route-decisions') { + return await readRouteDecisions(Number(url.searchParams.get('limit')) || 80) as T; + } + if (method === 'POST' && pathname === '/api/ingress/route') { + return await handleIngressRoute(parseJsonBody(options.body), await readQimingclawSnapshot()) as T; + } if (method === 'POST' && pathname === '/api/governance/command') { return await handleGovernanceCommand(parseJsonBody(options.body), await readQimingclawSnapshot()) as T; } @@ -2582,6 +2615,189 @@ function acpResponseForDecision(decision: string): 'once' | 'always' | 'reject' return 'once'; } +async function readRouteDecisions(limit = 80): Promise { + const bridge = window.QimingClawBridge?.digital; + if (!bridge?.listRouteDecisions) { + return { has_route_decision_state: false, decisions: [] }; + } + try { + const decisions = await bridge.listRouteDecisions({ limit }); + return { has_route_decision_state: true, decisions: decisions ?? [] }; + } catch (error) { + console.warn('[qimingclawAdapter] list route decisions failed:', error); + return { has_route_decision_state: false, decisions: [] }; + } +} + +async function handleIngressRoute( + body: IngressRouteRequest, + snapshot: QimingclawSnapshot | null, +): Promise { + const recordedAt = body.timestamp || new Date().toISOString(); + const correlationId = body.correlation_id || `route-${Date.now()}`; + const idSource = body.idempotency_key || correlationId; + const contextRefs = buildIngressContextRefs(body); + const classification = classifyIngressRoute(body, contextRefs, snapshot); + const decision: RouteDecisionRecord = { + id: `route-decision-${slugifyIdPart(idSource)}`, + route_kind: classification.routeKind, + intent_kind: classification.intentKind, + reason_codes: classification.reasonCodes, + candidate_skills: classification.candidateSkills, + context_refs: contextRefs, + created_command_id: null, + correlation_id: correlationId, + creates_plan: classification.createsPlan, + creates_task_run: classification.createsTaskRun, + approval_mode: null, + policy_result: 'accepted', + recorded_at: recordedAt, + entrypoint: body.entrypoint ?? null, + actor: body.actor ?? null, + }; + const bridge = window.QimingClawBridge?.digital; + const recorded = bridge?.recordRouteDecision + ? await bridge.recordRouteDecision({ + id: decision.id, + idempotencyKey: body.idempotency_key, + correlationId, + routeKind: decision.route_kind, + intentKind: decision.intent_kind, + reasonCodes: decision.reason_codes, + candidateSkills: decision.candidate_skills, + contextRefs: decision.context_refs, + createdCommandId: decision.created_command_id, + createsPlan: decision.creates_plan, + createsTaskRun: decision.creates_task_run, + approvalMode: decision.approval_mode, + policyResult: decision.policy_result, + entrypoint: decision.entrypoint, + actor: decision.actor, + message: `入口路由决策:${decision.route_kind} / ${decision.intent_kind}`, + envelope: { + text: body.text ?? null, + payload: body.payload ?? null, + attachments: body.attachments ?? [], + }, + recordedAt, + }) + : null; + const routeDecision = recorded ?? decision; + return { + accepted: true, + envelope: { + entrypoint: body.entrypoint ?? 'chat', + text: body.text ?? null, + payload: body.payload ?? null, + attachments: body.attachments ?? [], + context_refs: contextRefs, + }, + response_kind: 'route_decision', + route_decision: routeDecision, + command: null, + created_plan_id: null, + created_schedule_id: null, + created_task_ids: [], + created_run_ids: [], + projection_name: null, + projection_payload: null, + message: `已记录入口路由:${routeDecision.route_kind} / ${routeDecision.intent_kind}`, + }; +} + +function buildIngressContextRefs(body: IngressRouteRequest): Record { + const payload = asRecord(body.payload) ?? {}; + const context = asRecord(body.context_refs) ?? {}; + return compactRecord({ + ...context, + entrypoint: body.entrypoint ?? context.entrypoint, + plan_id: stringValue(context.plan_id) || stringValue(payload.plan_id) || stringValue(payload.planId), + task_id: stringValue(context.task_id) || stringValue(payload.task_id) || stringValue(payload.taskId), + run_id: stringValue(context.run_id) || stringValue(payload.run_id) || stringValue(payload.runId), + step_id: stringValue(context.step_id) || stringValue(payload.step_id) || stringValue(payload.stepId), + schedule_id: stringValue(context.schedule_id) || stringValue(payload.schedule_id) || stringValue(payload.scheduleId), + }); +} + +function classifyIngressRoute( + body: IngressRouteRequest, + contextRefs: Record, + snapshot: QimingclawSnapshot | null, +): { routeKind: string; intentKind: string; reasonCodes: string[]; candidateSkills: string[]; createsPlan: boolean; createsTaskRun: boolean } { + const payload = asRecord(body.payload) ?? {}; + const text = `${body.text ?? ''} ${stringValue(payload.action)} ${stringValue(payload.command)} ${stringValue(payload.intent)}`.toLowerCase(); + const hasPayload = Object.keys(payload).length > 0; + const hasContext = ['plan_id', 'task_id', 'step_id', 'schedule_id'].some((key) => Boolean(stringValue(contextRefs[key]))); + const stepId = stringValue(contextRefs.step_id); + const readyStep = stepId && runtimePlanSteps(snapshot).some((step) => step.id === stepId && step.status.toLowerCase() === 'ready'); + + if (hasContext && matchesRouteText(text, ['start', 'run', 'retry', 'skip', 'cancel', 'pause', 'resume', 'approve', '启动', '开始', '执行', '重试', '跳过', '取消', '暂停', '恢复', '批准'])) { + return routeClassification('PlanControl', 'control', ['context_control_action'], contextRefs, payload, false, false); + } + if (body.entrypoint === 'cron' || matchesRouteText(text, ['cron', 'schedule', 'scheduled', '定时', '调度', '周期'])) { + return routeClassification('PlanExecution', 'schedule', ['scheduled_entrypoint'], contextRefs, payload, false, true); + } + if (matchesRouteText(text, ['status', 'progress', 'result', 'report', 'artifact', 'memory', '状态', '进度', '结果', '日报', '产物', '记忆'])) { + return routeClassification('ProjectionQuery', 'query', ['projection_query_text'], contextRefs, payload, false, false); + } + if (readyStep || matchesRouteText(text, ['execute', 'dispatch', 'delegate', 'run task', '执行', '开始', '委托', '派发'])) { + return routeClassification('PlanExecution', 'execute', readyStep ? ['ready_step_context'] : ['execution_text'], contextRefs, payload, false, true); + } + if (!body.text && !hasPayload && !hasContext) { + return routeClassification('AskClarification', 'chat', ['empty_ingress'], contextRefs, payload, false, false); + } + return routeClassification('ChatOnly', 'chat', ['default_chat'], contextRefs, payload, false, false); +} + +function routeClassification( + routeKind: string, + intentKind: string, + reasonCodes: string[], + contextRefs: Record, + payload: Record, + createsPlan: boolean, + createsTaskRun: boolean, +): { routeKind: string; intentKind: string; reasonCodes: string[]; candidateSkills: string[]; createsPlan: boolean; createsTaskRun: boolean } { + return { + routeKind, + intentKind, + reasonCodes, + candidateSkills: routeCandidateSkills(routeKind, contextRefs, payload), + createsPlan, + createsTaskRun, + }; +} + +function routeCandidateSkills(routeKind: string, contextRefs: Record, payload: Record): string[] { + const explicit = uniqueStrings([ + ...arrayValue(contextRefs.skill_ids), + ...arrayValue(contextRefs.skills), + ...arrayValue(contextRefs.candidate_skills), + ...arrayValue(payload.skill_ids), + ...arrayValue(payload.skills), + ...arrayValue(payload.candidate_skills), + stringValue(contextRefs.skill_id), + stringValue(payload.skill_id), + ]); + if (explicit.length > 0) return explicit; + if (routeKind === 'PlanControl') return ['qimingclaw-task-agent']; + if (routeKind === 'ProjectionQuery') return ['qimingclaw-artifact-report']; + if (routeKind === 'PlanExecution') return ['qimingclaw-computer-control']; + return []; +} + +function uniqueStrings(values: unknown[]): string[] { + return [...new Set(values.map(stringValue).filter(Boolean))]; +} + +function matchesRouteText(text: string, keywords: string[]): boolean { + return keywords.some((keyword) => text.includes(keyword.toLowerCase())); +} + +function compactRecord(record: Record): Record { + return Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined && value !== null && value !== '')); +} + async function handleGovernanceCommand( body: GovernanceCommandRequest, snapshot: QimingclawSnapshot | null, diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BflGTsfz.js b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BflGTsfz.js new file mode 100644 index 00000000..c00aece2 --- /dev/null +++ b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-BflGTsfz.js @@ -0,0 +1,138 @@ +(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))c(d);new MutationObserver(d=>{for(const f of d)if(f.type==="childList")for(const h of f.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&c(h)}).observe(document,{childList:!0,subtree:!0});function s(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 c(d){if(d.ep)return;d.ep=!0;const f=s(d);fetch(d.href,f)}})();function Hv(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var Yo={exports:{}},Es={};/** + * @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 Ep;function Gv(){if(Ep)return Es;Ep=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function s(c,d,f){var h=null;if(f!==void 0&&(h=""+f),d.key!==void 0&&(h=""+d.key),"key"in d){f={};for(var _ in d)_!=="key"&&(f[_]=d[_])}else f=d;return d=f.ref,{$$typeof:a,type:c,key:h,ref:d!==void 0?d:null,props:f}}return Es.Fragment=i,Es.jsx=s,Es.jsxs=s,Es}var kp;function Yv(){return kp||(kp=1,Yo.exports=Gv()),Yo.exports}var u=Yv(),Qo={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 Tp;function Qv(){if(Tp)return ge;Tp=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),h=Symbol.for("react.context"),_=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),E=Symbol.iterator;function $(w){return w===null||typeof w!="object"?null:(w=E&&w[E]||w["@@iterator"],typeof w=="function"?w:null)}var T={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,z={};function q(w,B,V){this.props=w,this.context=B,this.refs=z,this.updater=V||T}q.prototype.isReactComponent={},q.prototype.setState=function(w,B){if(typeof w!="object"&&typeof w!="function"&&w!=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,w,B,"setState")},q.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function F(){}F.prototype=q.prototype;function Z(w,B,V){this.props=w,this.context=B,this.refs=z,this.updater=V||T}var ee=Z.prototype=new F;ee.constructor=Z,O(ee,q.prototype),ee.isPureReactComponent=!0;var ne=Array.isArray;function he(){}var K={H:null,A:null,T:null,S:null},ie=Object.prototype.hasOwnProperty;function ae(w,B,V){var W=V.ref;return{$$typeof:a,type:w,key:B,ref:W!==void 0?W:null,props:V}}function be(w,B){return ae(w.type,B,w.props)}function Be(w){return typeof w=="object"&&w!==null&&w.$$typeof===a}function ze(w){var B={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(V){return B[V]})}var Q=/\/+/g;function re(w,B){return typeof w=="object"&&w!==null&&w.key!=null?ze(""+w.key):B.toString(36)}function L(w){switch(w.status){case"fulfilled":return w.value;case"rejected":throw w.reason;default:switch(typeof w.status=="string"?w.then(he,he):(w.status="pending",w.then(function(B){w.status==="pending"&&(w.status="fulfilled",w.value=B)},function(B){w.status==="pending"&&(w.status="rejected",w.reason=B)})),w.status){case"fulfilled":return w.value;case"rejected":throw w.reason}}throw w}function N(w,B,V,W,de){var _e=typeof w;(_e==="undefined"||_e==="boolean")&&(w=null);var X=!1;if(w===null)X=!0;else switch(_e){case"bigint":case"string":case"number":X=!0;break;case"object":switch(w.$$typeof){case a:case i:X=!0;break;case j:return X=w._init,N(X(w._payload),B,V,W,de)}}if(X)return de=de(w),X=W===""?"."+re(w,0):W,ne(de)?(V="",X!=null&&(V=X.replace(Q,"$&/")+"/"),N(de,B,V,"",function(Oe){return Oe})):de!=null&&(Be(de)&&(de=be(de,V+(de.key==null||w&&w.key===de.key?"":(""+de.key).replace(Q,"$&/")+"/")+X)),B.push(de)),1;X=0;var P=W===""?".":W+":";if(ne(w))for(var Me=0;Me>>1,Se=N[me];if(0>>1;med(V,le))Wd(de,V)?(N[me]=de,N[W]=le,me=W):(N[me]=V,N[B]=le,me=B);else if(Wd(de,le))N[me]=de,N[W]=le,me=W;else break e}}return Y}function d(N,Y){var le=N.sortIndex-Y.sortIndex;return le!==0?le:N.id-Y.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;a.unstable_now=function(){return f.now()}}else{var h=Date,_=h.now();a.unstable_now=function(){return h.now()-_}}var p=[],g=[],j=1,S=null,E=3,$=!1,T=!1,O=!1,z=!1,q=typeof setTimeout=="function"?setTimeout:null,F=typeof clearTimeout=="function"?clearTimeout:null,Z=typeof setImmediate<"u"?setImmediate:null;function ee(N){for(var Y=s(g);Y!==null;){if(Y.callback===null)c(g);else if(Y.startTime<=N)c(g),Y.sortIndex=Y.expirationTime,i(p,Y);else break;Y=s(g)}}function ne(N){if(O=!1,ee(N),!T)if(s(p)!==null)T=!0,he||(he=!0,ze());else{var Y=s(g);Y!==null&&L(ne,Y.startTime-N)}}var he=!1,K=-1,ie=5,ae=-1;function be(){return z?!0:!(a.unstable_now()-aeN&&be());){var me=S.callback;if(typeof me=="function"){S.callback=null,E=S.priorityLevel;var Se=me(S.expirationTime<=N);if(N=a.unstable_now(),typeof Se=="function"){S.callback=Se,ee(N),Y=!0;break t}S===s(p)&&c(p),ee(N)}else c(p);S=s(p)}if(S!==null)Y=!0;else{var w=s(g);w!==null&&L(ne,w.startTime-N),Y=!1}}break e}finally{S=null,E=le,$=!1}Y=void 0}}finally{Y?ze():he=!1}}}var ze;if(typeof Z=="function")ze=function(){Z(Be)};else if(typeof MessageChannel<"u"){var Q=new MessageChannel,re=Q.port2;Q.port1.onmessage=Be,ze=function(){re.postMessage(null)}}else ze=function(){q(Be,0)};function L(N,Y){K=q(function(){N(a.unstable_now())},Y)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(N){N.callback=null},a.unstable_forceFrameRate=function(N){0>N||125me?(N.sortIndex=le,i(g,N),s(p)===null&&N===s(g)&&(O?(F(K),K=-1):O=!0,L(ne,le-me))):(N.sortIndex=Se,i(p,N),T||$||(T=!0,he||(he=!0,ze()))),N},a.unstable_shouldYield=be,a.unstable_wrapCallback=function(N){var Y=E;return function(){var le=E;E=Y;try{return N.apply(this,arguments)}finally{E=le}}}})(Zo)),Zo}var Cp;function Zv(){return Cp||(Cp=1,Xo.exports=Xv()),Xo.exports}var Vo={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 Dp;function Vv(){if(Dp)return Et;Dp=1;var a=kd();function i(p){var g="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(i){console.error(i)}}return a(),Vo.exports=Vv(),Vo.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 zp;function Fv(){if(zp)return ks;zp=1;var a=Zv(),i=kd(),s=Jv();function c(e){var t="https://react.dev/errors/"+e;if(1Se||(e.current=me[Se],me[Se]=null,Se--)}function V(e,t){Se++,me[Se]=e.current,e.current=t}var W=w(null),de=w(null),_e=w(null),X=w(null);function P(e,t){switch(V(_e,t),V(de,e),V(W,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vh(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vh(t),e=Jh(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}B(W),V(W,e)}function Me(){B(W),B(de),B(_e)}function Oe(e){e.memoizedState!==null&&V(X,e);var t=W.current,n=Jh(t,e.type);t!==n&&(V(de,e),V(W,n))}function xe(e){de.current===e&&(B(W),B(de)),X.current===e&&(B(X),Ss._currentValue=le)}var kt,yt;function Ae(e){if(kt===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);kt=t&&t[1]||"",yt=-1)":-1r||x[l]!==D[r]){var U=` +`+x[l].replace(" at new "," at ");return e.displayName&&U.includes("")&&(U=U.replace("",e.displayName)),U}while(1<=l&&0<=r);break}}}finally{tt=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Ae(n):""}function xi(e,t){switch(e.tag){case 26:case 27:case 5:return Ae(e.type);case 16:return Ae("Lazy");case 13:return e.child!==t&&t!==null?Ae("Suspense Fallback"):Ae("Suspense");case 19:return Ae("SuspenseList");case 0:case 15:return Gn(e.type,!1);case 11:return Gn(e.type.render,!1);case 1:return Gn(e.type,!0);case 31:return Ae("Activity");default:return""}}function kl(e){try{var t="",n=null;do t+=xi(e,n),n=e,e=e.return;while(e);return t}catch(l){return` +Error generating stack: `+l.message+` +`+l.stack}}var ji=Object.prototype.hasOwnProperty,wi=a.unstable_scheduleCallback,vt=a.unstable_cancelCallback,Ys=a.unstable_shouldYield,Ee=a.unstable_requestPaint,ht=a.unstable_now,It=a.unstable_getCurrentPriorityLevel,Wt=a.unstable_ImmediatePriority,Fa=a.unstable_UserBlockingPriority,Ct=a.unstable_NormalPriority,Tt=a.unstable_LowPriority,Ia=a.unstable_IdlePriority,Yn=a.log,Wa=a.unstable_setDisableYieldValue,Qn=null,Xe=null;function wn(e){if(typeof Yn=="function"&&Wa(e),Xe&&typeof Xe.setStrictMode=="function")try{Xe.setStrictMode(Qn,e)}catch{}}var wt=Math.clz32?Math.clz32:Ei,fa=Math.log,Bc=Math.LN2;function Ei(e){return e>>>=0,e===0?32:31-(fa(e)/Bc|0)|0}var Tl=256,Al=262144,Nl=4194304;function Kn(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 Dt(e,t,n){var l=e.pendingLanes;if(l===0)return 0;var r=0,o=e.suspendedLanes,m=e.pingedLanes;e=e.warmLanes;var y=l&134217727;return y!==0?(l=y&~o,l!==0?r=Kn(l):(m&=y,m!==0?r=Kn(m):n||(n=y&~e,n!==0&&(r=Kn(n))))):(y=l&~o,y!==0?r=Kn(y):m!==0?r=Kn(m):n||(n=l&~e,n!==0&&(r=Kn(n)))),r===0?0:t!==0&&t!==r&&(t&o)===0&&(o=r&-r,n=t&-t,o>=n||o===32&&(n&4194048)!==0)?t:r}function Le(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ne(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 Cl(){var e=Nl;return Nl<<=1,(Nl&62914560)===0&&(Nl=4194304),e}function Qs(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Pt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Vd(e,t,n,l,r,o){var m=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var y=e.entanglements,x=e.expirationTimes,D=e.hiddenUpdates;for(n=m&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Js=/[\n"\\]/g;function zt(e){return e.replace(Js,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function zi(e,t,n,l,r,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=""+Rt(t)):e.value!==""+Rt(t)&&(e.value=""+Rt(t)):m!=="submit"&&m!=="reset"||e.removeAttribute("value"),t!=null?Mi(e,m,Rt(t)):n!=null?Mi(e,m,Rt(n)):l!=null&&e.removeAttribute("value"),r==null&&o!=null&&(e.defaultChecked=!!o),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Rt(y):e.removeAttribute("name")}function Fs(e,t,n,l,r,o,m,y){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||n!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){Di(e);return}n=n!=null?""+Rt(n):"",t=t!=null?""+Rt(t):n,y||t===e.value||(e.value=t),e.defaultValue=t}l=l??r,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),Di(e)}function Mi(e,t,n){t==="number"&&Pa(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function _a(e,t,n,l){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ql=!1;if(en)try{var ja={};Object.defineProperty(ja,"passive",{get:function(){ql=!0}}),window.addEventListener("test",ja,ja),window.removeEventListener("test",ja,ja)}catch{ql=!1}var v=null,J=null,ue=null;function Re(){if(ue)return ue;var e,t=J,n=t.length,l,r="value"in v?v.value:v.textContent,o=r.length;for(e=0;e=Gi),ef=" ",tf=!1;function nf(e,t){switch(e){case"keyup":return u_.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function af(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ll=!1;function d_(e,t){switch(e){case"compositionend":return af(t);case"keypress":return t.which!==32?null:(tf=!0,ef);case"textInput":return e=t.data,e===ef&&tf?null:e;default:return null}}function f_(e,t){if(Ll)return e==="compositionend"||!Vc&&nf(e,t)?(e=Re(),ue=J=v=null,Ll=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=l}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ff(n)}}function hf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?hf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function pf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pa(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Pa(e.document)}return t}function Ic(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 b_=en&&"documentMode"in document&&11>=document.documentMode,Ul=null,Wc=null,Xi=null,Pc=!1;function gf(e,t,n){var l=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Pc||Ul==null||Ul!==Pa(l)||(l=Ul,"selectionStart"in l&&Ic(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}),Xi&&Ki(Xi,l)||(Xi=l,l=Qr(Wc,"onSelect"),0>=m,r-=m,Rn=1<<32-wt(t)+r|n<ve?(Te=se,se=null):Te=se.sibling;var qe=R(A,se,C[ve],H);if(qe===null){se===null&&(se=Te);break}e&&se&&qe.alternate===null&&t(A,se),k=o(qe,k,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe,se=Te}if(ve===C.length)return n(A,se),Ce&&Vn(A,ve),ce;if(se===null){for(;veve?(Te=se,se=null):Te=se.sibling;var Ka=R(A,se,qe.value,H);if(Ka===null){se===null&&(se=Te);break}e&&se&&Ka.alternate===null&&t(A,se),k=o(Ka,k,ve),$e===null?ce=Ka:$e.sibling=Ka,$e=Ka,se=Te}if(qe.done)return n(A,se),Ce&&Vn(A,ve),ce;if(se===null){for(;!qe.done;ve++,qe=C.next())qe=G(A,qe.value,H),qe!==null&&(k=o(qe,k,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe);return Ce&&Vn(A,ve),ce}for(se=l(se);!qe.done;ve++,qe=C.next())qe=M(se,A,ve,qe.value,H),qe!==null&&(e&&qe.alternate!==null&&se.delete(qe.key===null?ve:qe.key),k=o(qe,k,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe);return e&&se.forEach(function(Bv){return t(A,Bv)}),Ce&&Vn(A,ve),ce}function Ke(A,k,C,H){if(typeof C=="object"&&C!==null&&C.type===O&&C.key===null&&(C=C.props.children),typeof C=="object"&&C!==null){switch(C.$$typeof){case $:e:{for(var ce=C.key;k!==null;){if(k.key===ce){if(ce=C.type,ce===O){if(k.tag===7){n(A,k.sibling),H=r(k,C.props.children),H.return=A,A=H;break e}}else if(k.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===ie&&ul(ce)===k.type){n(A,k.sibling),H=r(k,C.props),Wi(H,C),H.return=A,A=H;break e}n(A,k);break}else t(A,k);k=k.sibling}C.type===O?(H=ll(C.props.children,A.mode,H,C.key),H.return=A,A=H):(H=rr(C.type,C.key,C.props,null,A.mode,H),Wi(H,C),H.return=A,A=H)}return m(A);case T:e:{for(ce=C.key;k!==null;){if(k.key===ce)if(k.tag===4&&k.stateNode.containerInfo===C.containerInfo&&k.stateNode.implementation===C.implementation){n(A,k.sibling),H=r(k,C.children||[]),H.return=A,A=H;break e}else{n(A,k);break}else t(A,k);k=k.sibling}H=su(C,A.mode,H),H.return=A,A=H}return m(A);case ie:return C=ul(C),Ke(A,k,C,H)}if(L(C))return te(A,k,C,H);if(ze(C)){if(ce=ze(C),typeof ce!="function")throw Error(c(150));return C=ce.call(C),fe(A,k,C,H)}if(typeof C.then=="function")return Ke(A,k,hr(C),H);if(C.$$typeof===Z)return Ke(A,k,or(A,C),H);pr(A,C)}return typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint"?(C=""+C,k!==null&&k.tag===6?(n(A,k.sibling),H=r(k,C),H.return=A,A=H):(n(A,k),H=iu(C,A.mode,H),H.return=A,A=H),m(A)):n(A,k)}return function(A,k,C,H){try{Ii=0;var ce=Ke(A,k,C,H);return Fl=null,ce}catch(se){if(se===Jl||se===fr)throw se;var $e=Qt(29,se,null,A.mode);return $e.lanes=H,$e.return=A,$e}finally{}}}var dl=Uf(!0),Bf=Uf(!1),Aa=!1;function _u(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function vu(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 Na(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ca(e,t,n){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Ue&2)!==0){var r=l.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),l.pending=t,t=sr(e),jf(e,null,n),t}return ir(e,l,t,n),sr(e)}function Pi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,pe(e,n)}}function bu(e,t){var n=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,n===l)){var r=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var m={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};o===null?r=o=m:o=o.next=m,n=n.next}while(n!==null);o===null?r=o=t:o=o.next=t}else r=o=t;n={baseState:l.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:l.shared,callbacks:l.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Su=!1;function es(){if(Su){var e=Vl;if(e!==null)throw e}}function ts(e,t,n,l){Su=!1;var r=e.updateQueue;Aa=!1;var o=r.firstBaseUpdate,m=r.lastBaseUpdate,y=r.shared.pending;if(y!==null){r.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 G=r.baseState;m=0,U=D=x=null,y=o;do{var R=y.lane&-536870913,M=R!==y.lane;if(M?(ke&R)===R:(l&R)===R){R!==0&&R===Zl&&(Su=!0),U!==null&&(U=U.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var te=e,fe=y;R=t;var Ke=n;switch(fe.tag){case 1:if(te=fe.payload,typeof te=="function"){G=te.call(Ke,G,R);break e}G=te;break e;case 3:te.flags=te.flags&-65537|128;case 0:if(te=fe.payload,R=typeof te=="function"?te.call(Ke,G,R):te,R==null)break e;G=S({},G,R);break e;case 2:Aa=!0}}R=y.callback,R!==null&&(e.flags|=64,M&&(e.flags|=8192),M=r.callbacks,M===null?r.callbacks=[R]:M.push(R))}else M={lane:R,tag:y.tag,payload:y.payload,callback:y.callback,next:null},U===null?(D=U=M,x=G):U=U.next=M,m|=R;if(y=y.next,y===null){if(y=r.shared.pending,y===null)break;M=y,y=M.next,M.next=null,r.lastBaseUpdate=M,r.shared.pending=null}}while(!0);U===null&&(x=G),r.baseState=x,r.firstBaseUpdate=D,r.lastBaseUpdate=U,o===null&&(r.shared.lanes=0),Oa|=m,e.lanes=m,e.memoizedState=G}}function Hf(e,t){if(typeof e!="function")throw Error(c(191,e));e.call(t)}function Gf(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;eo?o:8;var m=N.T,y={};N.T=y,Bu(e,!1,t,n);try{var x=r(),D=N.S;if(D!==null&&D(y,x),x!==null&&typeof x=="object"&&typeof x.then=="function"){var U=N_(x,l);ls(e,t,U,Jt(e))}else ls(e,t,l,Jt(e))}catch(G){ls(e,t,{then:function(){},status:"rejected",reason:G},Jt())}finally{Y.p=o,m!==null&&y.types!==null&&(m.types=y.types),N.T=m}}function O_(){}function Lu(e,t,n,l){if(e.tag!==5)throw Error(c(476));var r=bm(e).queue;vm(e,r,t,le,n===null?O_:function(){return Sm(e),n(l)})}function bm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wn,lastRenderedState:le},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Sm(e){var t=bm(e);t.next===null&&(t=e.alternate.memoizedState),ls(e,t.next.queue,{},Jt())}function Uu(){return St(Ss)}function xm(){return rt().memoizedState}function jm(){return rt().memoizedState}function $_(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Jt();e=Na(n);var l=Ca(t,e,n);l!==null&&(Lt(l,t,n),Pi(l,t,n)),t={cache:hu()},e.payload=t;return}t=t.return}}function q_(e,t,n){var l=Jt();n={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Er(e)?Em(t,n):(n=au(e,t,n,l),n!==null&&(Lt(n,e,l),km(n,t,l)))}function wm(e,t,n){var l=Jt();ls(e,t,n,l)}function ls(e,t,n,l){var r={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Er(e))Em(t,r);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,n);if(r.hasEagerState=!0,r.eagerState=y,Yt(y,m))return ir(e,t,r,0),Ve===null&&lr(),!1}catch{}finally{}if(n=au(e,t,r,l),n!==null)return Lt(n,e,l),km(n,t,l),!0}return!1}function Bu(e,t,n,l){if(l={lane:2,revertLane:vo(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Er(e)){if(t)throw Error(c(479))}else t=au(e,n,l,2),t!==null&&Lt(t,e,2)}function Er(e){var t=e.alternate;return e===ye||t!==null&&t===ye}function Em(e,t){Wl=_r=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function km(e,t,n){if((n&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,pe(e,n)}}var is={readContext:St,use:Sr,useCallback:nt,useContext:nt,useEffect:nt,useImperativeHandle:nt,useLayoutEffect:nt,useInsertionEffect:nt,useMemo:nt,useReducer:nt,useRef:nt,useState:nt,useDebugValue:nt,useDeferredValue:nt,useTransition:nt,useSyncExternalStore:nt,useId:nt,useHostTransitionStatus:nt,useFormState:nt,useActionState:nt,useOptimistic:nt,useMemoCache:nt,useCacheRefresh:nt};is.useEffectEvent=nt;var Tm={readContext:St,use:Sr,useCallback:function(e,t){return At().memoizedState=[e,t===void 0?null:t],e},useContext:St,useEffect:om,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,jr(4194308,4,hm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return jr(4194308,4,e,t)},useInsertionEffect:function(e,t){jr(4,2,e,t)},useMemo:function(e,t){var n=At();t=t===void 0?null:t;var l=e();if(fl){wn(!0);try{e()}finally{wn(!1)}}return n.memoizedState=[l,t],l},useReducer:function(e,t,n){var l=At();if(n!==void 0){var r=n(t);if(fl){wn(!0);try{n(t)}finally{wn(!1)}}}else r=t;return l.memoizedState=l.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},l.queue=e,e=e.dispatch=q_.bind(null,ye,e),[l.memoizedState,e]},useRef:function(e){var t=At();return e={current:e},t.memoizedState=e},useState:function(e){e=zu(e);var t=e.queue,n=wm.bind(null,ye,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:$u,useDeferredValue:function(e,t){var n=At();return qu(n,e,t)},useTransition:function(){var e=zu(!1);return e=vm.bind(null,ye,e.queue,!0,!1),At().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var l=ye,r=At();if(Ce){if(n===void 0)throw Error(c(407));n=n()}else{if(n=t(),Ve===null)throw Error(c(349));(ke&127)!==0||Vf(l,t,n)}r.memoizedState=n;var o={value:n,getSnapshot:t};return r.queue=o,om(Ff.bind(null,l,o,e),[e]),l.flags|=2048,ei(9,{destroy:void 0},Jf.bind(null,l,o,n,t),null),n},useId:function(){var e=At(),t=Ve.identifierPrefix;if(Ce){var n=zn,l=Rn;n=(l&~(1<<32-wt(l)-1)).toString(32)+n,t="_"+t+"R_"+n,n=vr++,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(r,{is:l.is}):m.createElement(r)}}o[pt]=t,o[Ze]=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(jt(o,r,l),r){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&ea(t)}}return Fe(t),eo(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&ea(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(c(166));if(e=_e.current,Kl(t)){if(e=t.stateNode,n=t.memoizedProps,l=null,r=bt,r!==null)switch(r.tag){case 27:case 5:l=r.memoizedProps}e[pt]=t,e=!!(e.nodeValue===n||l!==null&&l.suppressHydrationWarning===!0||Xh(e.nodeValue,n)),e||ka(t,!0)}else e=Kr(e).createTextNode(l),e[pt]=t,t.stateNode=e}return Fe(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(l=Kl(t),n!==null){if(e===null){if(!l)throw Error(c(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(557));e[pt]=t}else il(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Fe(t),e=!1}else n=ou(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Xt(t),t):(Xt(t),null);if((t.flags&128)!==0)throw Error(c(558))}return Fe(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=Kl(t),l!==null&&l.dehydrated!==null){if(e===null){if(!r)throw Error(c(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(c(317));r[pt]=t}else il(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Fe(t),r=!1}else r=ou(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(Xt(t),t):(Xt(t),null)}return Xt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=l!==null,e=e!==null&&e.memoizedState!==null,n&&(l=t.child,r=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(r=l.alternate.memoizedState.cachePool.pool),o=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(o=l.memoizedState.cachePool.pool),o!==r&&(l.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Cr(t,t.updateQueue),Fe(t),null);case 4:return Me(),e===null&&jo(t.stateNode.containerInfo),Fe(t),null;case 10:return Fn(t.type),Fe(t),null;case 19:if(B(st),l=t.memoizedState,l===null)return Fe(t),null;if(r=(t.flags&128)!==0,o=l.rendering,o===null)if(r)rs(l,!1);else{if(at!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=yr(e),o!==null){for(t.flags|=128,rs(l,!1),e=o.updateQueue,t.updateQueue=e,Cr(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)wf(n,e),n=n.sibling;return V(st,st.current&1|2),Ce&&Vn(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&ht()>Or&&(t.flags|=128,r=!0,rs(l,!1),t.lanes=4194304)}else{if(!r)if(e=yr(o),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,Cr(t,e),rs(l,!0),l.tail===null&&l.tailMode==="hidden"&&!o.alternate&&!Ce)return Fe(t),null}else 2*ht()-l.renderingStartTime>Or&&n!==536870912&&(t.flags|=128,r=!0,rs(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=ht(),e.sibling=null,n=st.current,V(st,r?n&1|2:n&1),Ce&&Vn(t,l.treeForkCount),e):(Fe(t),null);case 22:case 23:return Xt(t),ju(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(n&536870912)!==0&&(t.flags&128)===0&&(Fe(t),t.subtreeFlags&6&&(t.flags|=8192)):Fe(t),n=t.updateQueue,n!==null&&Cr(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==n&&(t.flags|=2048),e!==null&&B(cl),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Fn(ut),Fe(t),null;case 25:return null;case 30:return null}throw Error(c(156,t.tag))}function G_(e,t){switch(cu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Fn(ut),Me(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return xe(t),null;case 31:if(t.memoizedState!==null){if(Xt(t),t.alternate===null)throw Error(c(340));il()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Xt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(c(340));il()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return B(st),null;case 4:return Me(),null;case 10:return Fn(t.type),null;case 22:case 23:return Xt(t),ju(),e!==null&&B(cl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Fn(ut),null;case 25:return null;default:return null}}function Im(e,t){switch(cu(t),t.tag){case 3:Fn(ut),Me();break;case 26:case 27:case 5:xe(t);break;case 4:Me();break;case 31:t.memoizedState!==null&&Xt(t);break;case 13:Xt(t);break;case 19:B(st);break;case 10:Fn(t.type);break;case 22:case 23:Xt(t),ju(),e!==null&&B(cl);break;case 24:Fn(ut)}}function cs(e,t){try{var n=t.updateQueue,l=n!==null?n.lastEffect:null;if(l!==null){var r=l.next;n=r;do{if((n.tag&e)===e){l=void 0;var o=n.create,m=n.inst;l=o(),m.destroy=l}n=n.next}while(n!==r)}}catch(y){Ge(t,t.return,y)}}function za(e,t,n){try{var l=t.updateQueue,r=l!==null?l.lastEffect:null;if(r!==null){var o=r.next;l=o;do{if((l.tag&e)===e){var m=l.inst,y=m.destroy;if(y!==void 0){m.destroy=void 0,r=t;var x=n,D=y;try{D()}catch(U){Ge(r,x,U)}}}l=l.next}while(l!==o)}}catch(U){Ge(t,t.return,U)}}function Wm(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Gf(t,n)}catch(l){Ge(e,e.return,l)}}}function Pm(e,t,n){n.props=ml(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(l){Ge(e,t,l)}}function us(e,t){try{var n=e.ref;if(n!==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 n=="function"?e.refCleanup=n(l):n.current=l}}catch(r){Ge(e,t,r)}}function Mn(e,t){var n=e.ref,l=e.refCleanup;if(n!==null)if(typeof l=="function")try{l()}catch(r){Ge(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){Ge(e,t,r)}else n.current=null}function eh(e){var t=e.type,n=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&l.focus();break e;case"img":n.src?l.src=n.src:n.srcSet&&(l.srcset=n.srcSet)}}catch(r){Ge(e,e.return,r)}}function to(e,t,n){try{var l=e.stateNode;ov(l,e.type,n,t),l[Ze]=t}catch(r){Ge(e,e.return,r)}}function th(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ba(e.type)||e.tag===4}function no(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||th(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&&Ba(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 ao(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Bt));else if(l!==4&&(l===27&&Ba(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(ao(e,t,n),e=e.sibling;e!==null;)ao(e,t,n),e=e.sibling}function Dr(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(l!==4&&(l===27&&Ba(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Dr(e,t,n),e=e.sibling;e!==null;)Dr(e,t,n),e=e.sibling}function nh(e){var t=e.stateNode,n=e.memoizedProps;try{for(var l=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);jt(t,l,n),t[pt]=e,t[Ze]=n}catch(o){Ge(e,e.return,o)}}var ta=!1,ft=!1,lo=!1,ah=typeof WeakSet=="function"?WeakSet:Set,_t=null;function Y_(e,t){if(e=e.containerInfo,ko=Wr,e=pf(e),Ic(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var l=n.getSelection&&n.getSelection();if(l&&l.rangeCount!==0){n=l.anchorNode;var r=l.anchorOffset,o=l.focusNode;l=l.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var m=0,y=-1,x=-1,D=0,U=0,G=e,R=null;t:for(;;){for(var M;G!==n||r!==0&&G.nodeType!==3||(y=m+r),G!==o||l!==0&&G.nodeType!==3||(x=m+l),G.nodeType===3&&(m+=G.nodeValue.length),(M=G.firstChild)!==null;)R=G,G=M;for(;;){if(G===e)break t;if(R===n&&++D===r&&(y=m),R===o&&++U===l&&(x=m),(M=G.nextSibling)!==null)break;G=R,R=G.parentNode}G=M}n=y===-1||x===-1?null:{start:y,end:x}}else n=null}n=n||{start:0,end:0}}else n=null;for(To={focusedElem:e,selectionRange:n},Wr=!1,_t=t;_t!==null;)if(t=_t,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,_t=e;else for(;_t!==null;){switch(t=_t,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(n=0;n title"))),jt(o,l,n),o[pt]=e,lt(o),l=o;break e;case"link":var m=up("link","href",r).get(l+(n.href||""));if(m){for(var y=0;yKe&&(m=Ke,Ke=fe,fe=m);var A=mf(y,fe),k=mf(y,Ke);if(A&&k&&(M.rangeCount!==1||M.anchorNode!==A.node||M.anchorOffset!==A.offset||M.focusNode!==k.node||M.focusOffset!==k.offset)){var C=G.createRange();C.setStart(A.node,A.offset),M.removeAllRanges(),fe>Ke?(M.addRange(C),M.extend(k.node,k.offset)):(C.setEnd(k.node,k.offset),M.addRange(C))}}}}for(G=[],M=y;M=M.parentNode;)M.nodeType===1&&G.push({element:M,left:M.scrollLeft,top:M.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;yn?32:n,N.T=null,n=fo,fo=null;var o=qa,m=sa;if(gt=0,ii=qa=null,sa=0,(Ue&6)!==0)throw Error(c(331));var y=Ue;if(Ue|=4,hh(o.current),dh(o,o.current,m,n),Ue=y,ps(0,!1),Xe&&typeof Xe.onPostCommitFiberRoot=="function")try{Xe.onPostCommitFiberRoot(Qn,o)}catch{}return!0}finally{Y.p=r,N.T=l,Rh(e,t)}}function Mh(e,t,n){t=nn(n,t),t=Qu(e.stateNode,t,2),e=Ca(e,t,2),e!==null&&(Pt(e,2),On(e))}function Ge(e,t,n){if(e.tag===3)Mh(e,e,n);else for(;t!==null;){if(t.tag===3){Mh(t,e,n);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&($a===null||!$a.has(l))){e=nn(n,e),n=Om(2),l=Ca(t,n,2),l!==null&&($m(n,l,t,e),Pt(l,2),On(l));break}}t=t.return}}function go(e,t,n){var l=e.pingCache;if(l===null){l=e.pingCache=new X_;var r=new Set;l.set(t,r)}else r=l.get(t),r===void 0&&(r=new Set,l.set(t,r));r.has(n)||(ro=!0,r.add(n),e=I_.bind(null,e,t,n),t.then(e,e))}function I_(e,t,n){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ve===e&&(ke&n)===n&&(at===4||at===3&&(ke&62914560)===ke&&300>ht()-Mr?(Ue&2)===0&&si(e,0):co|=n,li===ke&&(li=0)),On(e)}function Oh(e,t){t===0&&(t=Cl()),e=al(e,t),e!==null&&(Pt(e,t),On(e))}function W_(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Oh(e,n)}function P_(e,t){var n=0;switch(e.tag){case 31:case 13:var l=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(c(314))}l!==null&&l.delete(t),Oh(e,n)}function ev(e,t){return wi(e,t)}var Hr=null,ci=null,yo=!1,Gr=!1,_o=!1,Ua=0;function On(e){e!==ci&&e.next===null&&(ci===null?Hr=ci=e:ci=ci.next=e),Gr=!0,yo||(yo=!0,nv())}function ps(e,t){if(!_o&&Gr){_o=!0;do for(var n=!1,l=Hr;l!==null;){if(e!==0){var r=l.pendingLanes;if(r===0)var o=0;else{var m=l.suspendedLanes,y=l.pingedLanes;o=(1<<31-wt(42|e)+1)-1,o&=r&~(m&~y),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(n=!0,Uh(l,o))}else o=ke,o=Dt(l,l===Ve?o:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(o&3)===0||Le(l,o)||(n=!0,Uh(l,o));l=l.next}while(n);_o=!1}}function tv(){$h()}function $h(){Gr=yo=!1;var e=0;Ua!==0&&fv()&&(e=Ua);for(var t=ht(),n=null,l=Hr;l!==null;){var r=l.next,o=qh(l,t);o===0?(l.next=null,n===null?Hr=r:n.next=r,r===null&&(ci=n)):(n=l,(e!==0||(o&3)!==0)&&(Gr=!0)),l=r}gt!==0&>!==5||ps(e),Ua!==0&&(Ua=0)}function qh(e,t){for(var n=e.suspendedLanes,l=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes&-62914561;0y)break;var U=x.transferSize,G=x.initiatorType;U&&Zh(G)&&(x=x.responseEnd,m+=U*(x"u"?null:document;function ip(e,t,n){var l=ui;if(l&&typeof t=="string"&&t){var r=zt(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),lp.has(r)||(lp.add(r),e={rel:e,crossOrigin:n,href:t},l.querySelector(r)===null&&(t=l.createElement("link"),jt(t,"link",e),lt(t),l.head.appendChild(t)))}}function Sv(e){ra.D(e),ip("dns-prefetch",e,null)}function xv(e,t){ra.C(e,t),ip("preconnect",e,t)}function jv(e,t,n){ra.L(e,t,n);var l=ui;if(l&&e&&t){var r='link[rel="preload"][as="'+zt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+zt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+zt(n.imageSizes)+'"]')):r+='[href="'+zt(e)+'"]';var o=r;switch(t){case"style":o=oi(e);break;case"script":o=di(e)}un.has(o)||(e=S({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),un.set(o,e),l.querySelector(r)!==null||t==="style"&&l.querySelector(vs(o))||t==="script"&&l.querySelector(bs(o))||(t=l.createElement("link"),jt(t,"link",e),lt(t),l.head.appendChild(t)))}}function wv(e,t){ra.m(e,t);var n=ui;if(n&&e){var l=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+zt(l)+'"][href="'+zt(e)+'"]',o=r;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=di(e)}if(!un.has(o)&&(e=S({rel:"modulepreload",href:e},t),un.set(o,e),n.querySelector(r)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(bs(o)))return}l=n.createElement("link"),jt(l,"link",e),lt(l),n.head.appendChild(l)}}}function Ev(e,t,n){ra.S(e,t,n);var l=ui;if(l&&e){var r=An(l).hoistableStyles,o=oi(e);t=t||"default";var m=r.get(o);if(!m){var y={loading:0,preload:null};if(m=l.querySelector(vs(o)))y.loading=5;else{e=S({rel:"stylesheet",href:e,"data-precedence":t},n),(n=un.get(o))&&Mo(e,n);var x=m=l.createElement("link");lt(x),jt(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,Zr(m,t,l)}m={type:"stylesheet",instance:m,count:1,state:y},r.set(o,m)}}}function kv(e,t){ra.X(e,t);var n=ui;if(n&&e){var l=An(n).hoistableScripts,r=di(e),o=l.get(r);o||(o=n.querySelector(bs(r)),o||(e=S({src:e,async:!0},t),(t=un.get(r))&&Oo(e,t),o=n.createElement("script"),lt(o),jt(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},l.set(r,o))}}function Tv(e,t){ra.M(e,t);var n=ui;if(n&&e){var l=An(n).hoistableScripts,r=di(e),o=l.get(r);o||(o=n.querySelector(bs(r)),o||(e=S({src:e,async:!0,type:"module"},t),(t=un.get(r))&&Oo(e,t),o=n.createElement("script"),lt(o),jt(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},l.set(r,o))}}function sp(e,t,n,l){var r=(r=_e.current)?Xr(r):null;if(!r)throw Error(c(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=oi(n.href),n=An(r).hoistableStyles,l=n.get(t),l||(l={type:"style",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=oi(n.href);var o=An(r).hoistableStyles,m=o.get(e);if(m||(r=r.ownerDocument||r,m={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,m),(o=r.querySelector(vs(e)))&&!o._p&&(m.instance=o,m.state.loading=5),un.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},un.set(e,n),o||Av(r,e,n,m.state))),t&&l===null)throw Error(c(528,""));return m}if(t&&l!==null)throw Error(c(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=di(n),n=An(r).hoistableScripts,l=n.get(t),l||(l={type:"script",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,e))}}function oi(e){return'href="'+zt(e)+'"'}function vs(e){return'link[rel="stylesheet"]['+e+"]"}function rp(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function Av(e,t,n,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}),jt(t,"link",n),lt(t),e.head.appendChild(t))}function di(e){return'[src="'+zt(e)+'"]'}function bs(e){return"script[async]"+e}function cp(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+zt(n.href)+'"]');if(l)return t.instance=l,lt(l),l;var r=S({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),lt(l),jt(l,"style",r),Zr(l,n.precedence,e),t.instance=l;case"stylesheet":r=oi(n.href);var o=e.querySelector(vs(r));if(o)return t.state.loading|=4,t.instance=o,lt(o),o;l=rp(n),(r=un.get(r))&&Mo(l,r),o=(e.ownerDocument||e).createElement("link"),lt(o);var m=o;return m._p=new Promise(function(y,x){m.onload=y,m.onerror=x}),jt(o,"link",l),t.state.loading|=4,Zr(o,n.precedence,e),t.instance=o;case"script":return o=di(n.src),(r=e.querySelector(bs(o)))?(t.instance=r,lt(r),r):(l=n,(r=un.get(o))&&(l=S({},n),Oo(l,r)),e=e.ownerDocument||e,r=e.createElement("script"),lt(r),jt(r,"link",l),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(c(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,Zr(l,n.precedence,e));return t.instance}function Zr(e,t,n){for(var l=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=l.length?l[l.length-1]:null,o=r,m=0;m title"):null)}function Nv(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function dp(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Cv(e,t,n,l){if(n.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var r=oi(l.href),o=t.querySelector(vs(r));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Jr.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=o,lt(o);return}o=t.ownerDocument||t,l=rp(l),(r=un.get(r))&&Mo(l,r),o=o.createElement("link"),lt(o);var m=o;m._p=new Promise(function(y,x){m.onload=y,m.onerror=x}),jt(o,"link",l),n.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Jr.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var $o=0;function Dv(e,t){return e.stylesheets&&e.count===0&&Ir(e,e.stylesheets),0$o?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(r)}}:null}function Jr(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ir(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Fr=null;function Ir(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Fr=new Map,t.forEach(Rv,e),Fr=null,Jr.call(e))}function Rv(e,t){if(!(t.state.loading&4)){var n=Fr.get(e);if(n)var l=n.get(null);else{n=new Map,Fr.set(e,n);for(var r=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(a)}catch(i){console.error(i)}}return a(),Ko.exports=Fv(),Ko.exports}var Wv=Iv();/** + * 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 Op="popstate";function $p(a){return typeof a=="object"&&a!=null&&"pathname"in a&&"search"in a&&"hash"in a&&"state"in a&&"key"in a}function Pv(a={}){function i(d,f){let{pathname:h="/",search:_="",hash:p=""}=xl(d.location.hash.substring(1));return!h.startsWith("/")&&!h.startsWith(".")&&(h="/"+h),cd("",{pathname:h,search:_,hash:p},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function s(d,f){let h=d.document.querySelector("base"),_="";if(h&&h.getAttribute("href")){let p=d.location.href,g=p.indexOf("#");_=g===-1?p:p.slice(0,g)}return _+"#"+(typeof f=="string"?f:Ms(f))}function c(d,f){on(d.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(f)})`)}return tb(i,s,c,a)}function et(a,i){if(a===!1||a===null||typeof a>"u")throw new Error(i)}function on(a,i){if(!a){typeof console<"u"&&console.warn(i);try{throw new Error(i)}catch{}}}function eb(){return Math.random().toString(36).substring(2,10)}function qp(a,i){return{usr:a.state,key:a.key,idx:i,masked:a.mask?{pathname:a.pathname,search:a.search,hash:a.hash}:void 0}}function cd(a,i,s=null,c,d){return{pathname:typeof a=="string"?a:a.pathname,search:"",hash:"",...typeof i=="string"?xl(i):i,state:s,key:i&&i.key||c||eb(),mask:d}}function Ms({pathname:a="/",search:i="",hash:s=""}){return i&&i!=="?"&&(a+=i.charAt(0)==="?"?i:"?"+i),s&&s!=="#"&&(a+=s.charAt(0)==="#"?s:"#"+s),a}function xl(a){let i={};if(a){let s=a.indexOf("#");s>=0&&(i.hash=a.substring(s),a=a.substring(0,s));let c=a.indexOf("?");c>=0&&(i.search=a.substring(c),a=a.substring(0,c)),a&&(i.pathname=a)}return i}function tb(a,i,s,c={}){let{window:d=document.defaultView,v5Compat:f=!1}=c,h=d.history,_="POP",p=null,g=j();g==null&&(g=0,h.replaceState({...h.state,idx:g},""));function j(){return(h.state||{idx:null}).idx}function S(){_="POP";let z=j(),q=z==null?null:z-g;g=z,p&&p({action:_,location:O.location,delta:q})}function E(z,q){_="PUSH";let F=$p(z)?z:cd(O.location,z,q);s&&s(F,z),g=j()+1;let Z=qp(F,g),ee=O.createHref(F.mask||F);try{h.pushState(Z,"",ee)}catch(ne){if(ne instanceof DOMException&&ne.name==="DataCloneError")throw ne;d.location.assign(ee)}f&&p&&p({action:_,location:O.location,delta:1})}function $(z,q){_="REPLACE";let F=$p(z)?z:cd(O.location,z,q);s&&s(F,z),g=j();let Z=qp(F,g),ee=O.createHref(F.mask||F);h.replaceState(Z,"",ee),f&&p&&p({action:_,location:O.location,delta:0})}function T(z){return nb(d,z)}let O={get action(){return _},get location(){return a(d,h)},listen(z){if(p)throw new Error("A history only accepts one active listener");return d.addEventListener(Op,S),p=z,()=>{d.removeEventListener(Op,S),p=null}},createHref(z){return i(d,z)},createURL:T,encodeLocation(z){let q=T(z);return{pathname:q.pathname,search:q.search,hash:q.hash}},push:E,replace:$,go(z){return h.go(z)}};return O}function nb(a,i,s=!1){let c="http://localhost";a&&(c=a.location.origin!=="null"?a.location.origin:a.location.href),et(c,"No window.location.(origin|href) available to create URL");let d=typeof i=="string"?i:Ms(i);return d=d.replace(/ $/,"%20"),!s&&d.startsWith("//")&&(d=c+d),new URL(d,c)}function Ng(a,i,s="/"){return ab(a,i,s,!1)}function ab(a,i,s,c,d){let f=typeof i=="string"?xl(i):i,h=ua(f.pathname||"/",s);if(h==null)return null;let _=lb(a),p=null,g=gb(h);for(let j=0;p==null&&j<_.length;++j)p=hb(_[j],g,c);return p}function lb(a){let i=Cg(a);return ib(i),i}function Cg(a,i=[],s=[],c="",d=!1){let f=(h,_,p=d,g)=>{let j={relativePath:g===void 0?h.path||"":g,caseSensitive:h.caseSensitive===!0,childrenIndex:_,route:h};if(j.relativePath.startsWith("/")){if(!j.relativePath.startsWith(c)&&p)return;et(j.relativePath.startsWith(c),`Absolute route path "${j.relativePath}" nested under path "${c}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),j.relativePath=j.relativePath.slice(c.length)}let S=bn([c,j.relativePath]),E=s.concat(j);h.children&&h.children.length>0&&(et(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${S}".`),Cg(h.children,i,E,S,p)),!(h.path==null&&!h.index)&&i.push({path:S,score:fb(S,h.index),routesMeta:E})};return a.forEach((h,_)=>{var p;if(h.path===""||!((p=h.path)!=null&&p.includes("?")))f(h,_);else for(let g of Dg(h.path))f(h,_,!0,g)}),i}function Dg(a){let i=a.split("/");if(i.length===0)return[];let[s,...c]=i,d=s.endsWith("?"),f=s.replace(/\?$/,"");if(c.length===0)return d?[f,""]:[f];let h=Dg(c.join("/")),_=[];return _.push(...h.map(p=>p===""?f:[f,p].join("/"))),d&&_.push(...h),_.map(p=>a.startsWith("/")&&p===""?"/":p)}function ib(a){a.sort((i,s)=>i.score!==s.score?s.score-i.score:mb(i.routesMeta.map(c=>c.childrenIndex),s.routesMeta.map(c=>c.childrenIndex)))}var sb=/^:[\w-]+$/,rb=3,cb=2,ub=1,ob=10,db=-2,Lp=a=>a==="*";function fb(a,i){let s=a.split("/"),c=s.length;return s.some(Lp)&&(c+=db),i&&(c+=cb),s.filter(d=>!Lp(d)).reduce((d,f)=>d+(sb.test(f)?rb:f===""?ub:ob),c)}function mb(a,i){return a.length===i.length&&a.slice(0,-1).every((c,d)=>c===i[d])?a[a.length-1]-i[i.length-1]:0}function hb(a,i,s=!1){let{routesMeta:c}=a,d={},f="/",h=[];for(let _=0;_{if(j==="*"){let T=_[E]||"";h=f.slice(0,f.length-T.length).replace(/(.)\/+$/,"$1")}const $=_[E];return S&&!$?g[j]=void 0:g[j]=($||"").replace(/%2F/g,"/"),g},{}),pathname:f,pathnameBase:h,pattern:a}}function pb(a,i=!1,s=!0){on(a==="*"||!a.endsWith("*")||a.endsWith("/*"),`Route path "${a}" will be treated as if it were "${a.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${a.replace(/\*$/,"/*")}".`);let c=[],d="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,_,p,g,j)=>{if(c.push({paramName:_,isOptional:p!=null}),p){let S=j.charAt(g+h.length);return S&&S!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return a.endsWith("*")?(c.push({paramName:"*"}),d+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?d+="\\/*$":a!==""&&a!=="/"&&(d+="(?:(?=\\/|$))"),[new RegExp(d,i?void 0:"i"),c]}function gb(a){try{return a.split("/").map(i=>decodeURIComponent(i).replace(/\//g,"%2F")).join("/")}catch(i){return on(!1,`The URL path "${a}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${i}).`),a}}function ua(a,i){if(i==="/")return a;if(!a.toLowerCase().startsWith(i.toLowerCase()))return null;let s=i.endsWith("/")?i.length-1:i.length,c=a.charAt(s);return c&&c!=="/"?null:a.slice(s)||"/"}var yb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function _b(a,i="/"){let{pathname:s,search:c="",hash:d=""}=typeof a=="string"?xl(a):a,f;return s?(s=Rg(s),s.startsWith("/")?f=Up(s.substring(1),"/"):f=Up(s,i)):f=i,{pathname:f,search:Sb(c),hash:xb(d)}}function Up(a,i){let s=bc(i).split("/");return a.split("/").forEach(d=>{d===".."?s.length>1&&s.pop():d!=="."&&s.push(d)}),s.length>1?s.join("/"):"/"}function Jo(a,i,s,c){return`Cannot include a '${a}' character in a manually specified \`to.${i}\` field [${JSON.stringify(c)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function vb(a){return a.filter((i,s)=>s===0||i.route.path&&i.route.path.length>0)}function Td(a){let i=vb(a);return i.map((s,c)=>c===i.length-1?s.pathname:s.pathnameBase)}function Ac(a,i,s,c=!1){let d;typeof a=="string"?d=xl(a):(d={...a},et(!d.pathname||!d.pathname.includes("?"),Jo("?","pathname","search",d)),et(!d.pathname||!d.pathname.includes("#"),Jo("#","pathname","hash",d)),et(!d.search||!d.search.includes("#"),Jo("#","search","hash",d)));let f=a===""||d.pathname==="",h=f?"/":d.pathname,_;if(h==null)_=s;else{let S=i.length-1;if(!c&&h.startsWith("..")){let E=h.split("/");for(;E[0]==="..";)E.shift(),S-=1;d.pathname=E.join("/")}_=S>=0?i[S]:"/"}let p=_b(d,_),g=h&&h!=="/"&&h.endsWith("/"),j=(f||h===".")&&s.endsWith("/");return!p.pathname.endsWith("/")&&(g||j)&&(p.pathname+="/"),p}var Rg=a=>a.replace(/\/\/+/g,"/"),bn=a=>Rg(a.join("/")),bc=a=>a.replace(/\/+$/,""),bb=a=>bc(a).replace(/^\/*/,"/"),Sb=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,xb=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a,jb=class{constructor(a,i,s,c=!1){this.status=a,this.statusText=i||"",this.internal=c,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function wb(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}function Eb(a){let i=a.map(s=>s.route.path).filter(Boolean);return bn(i)||"/"}var zg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Mg(a,i){let s=a;if(typeof s!="string"||!yb.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let c=s,d=!1;if(zg)try{let f=new URL(window.location.href),h=s.startsWith("//")?new URL(f.protocol+s):new URL(s),_=ua(h.pathname,i);h.origin===f.origin&&_!=null?s=_+h.search+h.hash:d=!0}catch{on(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:c,isExternal:d,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Og=["POST","PUT","PATCH","DELETE"];new Set(Og);var kb=["GET",...Og];new Set(kb);var _i=b.createContext(null);_i.displayName="DataRouter";var Nc=b.createContext(null);Nc.displayName="DataRouterState";var $g=b.createContext(!1);function Tb(){return b.useContext($g)}var qg=b.createContext({isTransitioning:!1});qg.displayName="ViewTransition";var Ab=b.createContext(new Map);Ab.displayName="Fetchers";var Nb=b.createContext(null);Nb.displayName="Await";var Ft=b.createContext(null);Ft.displayName="Navigation";var Ls=b.createContext(null);Ls.displayName="Location";var Hn=b.createContext({outlet:null,matches:[],isDataRoute:!1});Hn.displayName="Route";var Ad=b.createContext(null);Ad.displayName="RouteError";var Lg="REACT_ROUTER_ERROR",Cb="REDIRECT",Db="ROUTE_ERROR_RESPONSE";function Rb(a){if(a.startsWith(`${Lg}:${Cb}:{`))try{let i=JSON.parse(a.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 zb(a){if(a.startsWith(`${Lg}:${Db}:{`))try{let i=JSON.parse(a.slice(40));if(typeof i=="object"&&i&&typeof i.status=="number"&&typeof i.statusText=="string")return new jb(i.status,i.statusText,i.data)}catch{}}function Mb(a,{relative:i}={}){et(vi(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:c}=b.useContext(Ft),{hash:d,pathname:f,search:h}=Us(a,{relative:i}),_=f;return s!=="/"&&(_=f==="/"?s:bn([s,f])),c.createHref({pathname:_,search:h,hash:d})}function vi(){return b.useContext(Ls)!=null}function xn(){return et(vi(),"useLocation() may be used only in the context of a component."),b.useContext(Ls).location}var Ug="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Bg(a){b.useContext(Ft).static||b.useLayoutEffect(a)}function Nd(){let{isDataRoute:a}=b.useContext(Hn);return a?Zb():Ob()}function Ob(){et(vi(),"useNavigate() may be used only in the context of a component.");let a=b.useContext(_i),{basename:i,navigator:s}=b.useContext(Ft),{matches:c}=b.useContext(Hn),{pathname:d}=xn(),f=JSON.stringify(Td(c)),h=b.useRef(!1);return Bg(()=>{h.current=!0}),b.useCallback((p,g={})=>{if(on(h.current,Ug),!h.current)return;if(typeof p=="number"){s.go(p);return}let j=Ac(p,JSON.parse(f),d,g.relative==="path");a==null&&i!=="/"&&(j.pathname=j.pathname==="/"?i:bn([i,j.pathname])),(g.replace?s.replace:s.push)(j,g.state,g)},[i,s,f,d,a])}b.createContext(null);function Us(a,{relative:i}={}){let{matches:s}=b.useContext(Hn),{pathname:c}=xn(),d=JSON.stringify(Td(s));return b.useMemo(()=>Ac(a,JSON.parse(d),c,i==="path"),[a,d,c,i])}function $b(a,i){return Hg(a,i)}function Hg(a,i,s){var z;et(vi(),"useRoutes() may be used only in the context of a component.");let{navigator:c}=b.useContext(Ft),{matches:d}=b.useContext(Hn),f=d[d.length-1],h=f?f.params:{},_=f?f.pathname:"/",p=f?f.pathnameBase:"/",g=f&&f.route;{let q=g&&g.path||"";Yg(_,!g||q.endsWith("*")||q.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${_}" (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 j=xn(),S;if(i){let q=typeof i=="string"?xl(i):i;et(p==="/"||((z=q.pathname)==null?void 0:z.startsWith(p)),`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 "${p}" but pathname "${q.pathname}" was given in the \`location\` prop.`),S=q}else S=j;let E=S.pathname||"/",$=E;if(p!=="/"){let q=p.replace(/^\//,"").split("/");$="/"+E.replace(/^\//,"").split("/").slice(q.length).join("/")}let T=s&&s.state.matches.length?s.state.matches.map(q=>Object.assign(q,{route:s.manifest[q.route.id]||q.route})):Ng(a,{pathname:$});on(g||T!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),on(T==null||T[T.length-1].route.element!==void 0||T[T.length-1].route.Component!==void 0||T[T.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 O=Hb(T&&T.map(q=>Object.assign({},q,{params:Object.assign({},h,q.params),pathname:bn([p,c.encodeLocation?c.encodeLocation(q.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:q.pathname]),pathnameBase:q.pathnameBase==="/"?p:bn([p,c.encodeLocation?c.encodeLocation(q.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:q.pathnameBase])})),d,s);return i&&O?b.createElement(Ls.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...S},navigationType:"POP"}},O):O}function qb(){let a=Xb(),i=wb(a)?`${a.status} ${a.statusText}`:a instanceof Error?a.message:JSON.stringify(a),s=a instanceof Error?a.stack:null,c="rgba(200,200,200, 0.5)",d={padding:"0.5rem",backgroundColor:c},f={padding:"2px 4px",backgroundColor:c},h=null;return console.error("Error handled by React Router default ErrorBoundary:",a),h=b.createElement(b.Fragment,null,b.createElement("p",null,"💿 Hey developer 👋"),b.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",b.createElement("code",{style:f},"ErrorBoundary")," or"," ",b.createElement("code",{style:f},"errorElement")," prop on your route.")),b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},i),s?b.createElement("pre",{style:d},s):null,h)}var Lb=b.createElement(qb,null),Gg=class extends b.Component{constructor(a){super(a),this.state={location:a.location,revalidation:a.revalidation,error:a.error}}static getDerivedStateFromError(a){return{error:a}}static getDerivedStateFromProps(a,i){return i.location!==a.location||i.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:i.error,location:i.location,revalidation:a.revalidation||i.revalidation}}componentDidCatch(a,i){this.props.onError?this.props.onError(a,i):console.error("React Router caught the following error during render",a)}render(){let a=this.state.error;if(this.context&&typeof a=="object"&&a&&"digest"in a&&typeof a.digest=="string"){const s=zb(a.digest);s&&(a=s)}let i=a!==void 0?b.createElement(Hn.Provider,{value:this.props.routeContext},b.createElement(Ad.Provider,{value:a,children:this.props.component})):this.props.children;return this.context?b.createElement(Ub,{error:a},i):i}};Gg.contextType=$g;var Fo=new WeakMap;function Ub({children:a,error:i}){let{basename:s}=b.useContext(Ft);if(typeof i=="object"&&i&&"digest"in i&&typeof i.digest=="string"){let c=Rb(i.digest);if(c){let d=Fo.get(i);if(d)throw d;let f=Mg(c.location,s);if(zg&&!Fo.get(i))if(f.isExternal||c.reloadDocument)window.location.href=f.absoluteURL||f.to;else{const h=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(f.to,{replace:c.replace}));throw Fo.set(i,h),h}return b.createElement("meta",{httpEquiv:"refresh",content:`0;url=${f.absoluteURL||f.to}`})}}return a}function Bb({routeContext:a,match:i,children:s}){let c=b.useContext(_i);return c&&c.static&&c.staticContext&&(i.route.errorElement||i.route.ErrorBoundary)&&(c.staticContext._deepestRenderedBoundaryId=i.route.id),b.createElement(Hn.Provider,{value:a},s)}function Hb(a,i=[],s){let c=s==null?void 0:s.state;if(a==null){if(!c)return null;if(c.errors)a=c.matches;else if(i.length===0&&!c.initialized&&c.matches.length>0)a=c.matches;else return null}let d=a,f=c==null?void 0:c.errors;if(f!=null){let j=d.findIndex(S=>S.route.id&&(f==null?void 0:f[S.route.id])!==void 0);et(j>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),d=d.slice(0,Math.min(d.length,j+1))}let h=!1,_=-1;if(s&&c){h=c.renderFallback;for(let j=0;j=0?d=d.slice(0,_+1):d=[d[0]];break}}}}let p=s==null?void 0:s.onError,g=c&&p?(j,S)=>{var E,$;p(j,{location:c.location,params:(($=(E=c.matches)==null?void 0:E[0])==null?void 0:$.params)??{},pattern:Eb(c.matches),errorInfo:S})}:void 0;return d.reduceRight((j,S,E)=>{let $,T=!1,O=null,z=null;c&&($=f&&S.route.id?f[S.route.id]:void 0,O=S.route.errorElement||Lb,h&&(_<0&&E===0?(Yg("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),T=!0,z=null):_===E&&(T=!0,z=S.route.hydrateFallbackElement||null)));let q=i.concat(d.slice(0,E+1)),F=()=>{let Z;return $?Z=O:T?Z=z:S.route.Component?Z=b.createElement(S.route.Component,null):S.route.element?Z=S.route.element:Z=j,b.createElement(Bb,{match:S,routeContext:{outlet:j,matches:q,isDataRoute:c!=null},children:Z})};return c&&(S.route.ErrorBoundary||S.route.errorElement||E===0)?b.createElement(Gg,{location:c.location,revalidation:c.revalidation,component:O,error:$,children:F(),routeContext:{outlet:null,matches:q,isDataRoute:!0},onError:g}):F()},null)}function Cd(a){return`${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Gb(a){let i=b.useContext(_i);return et(i,Cd(a)),i}function Yb(a){let i=b.useContext(Nc);return et(i,Cd(a)),i}function Qb(a){let i=b.useContext(Hn);return et(i,Cd(a)),i}function Dd(a){let i=Qb(a),s=i.matches[i.matches.length-1];return et(s.route.id,`${a} can only be used on routes that contain a unique "id"`),s.route.id}function Kb(){return Dd("useRouteId")}function Xb(){var c;let a=b.useContext(Ad),i=Yb("useRouteError"),s=Dd("useRouteError");return a!==void 0?a:(c=i.errors)==null?void 0:c[s]}function Zb(){let{router:a}=Gb("useNavigate"),i=Dd("useNavigate"),s=b.useRef(!1);return Bg(()=>{s.current=!0}),b.useCallback(async(d,f={})=>{on(s.current,Ug),s.current&&(typeof d=="number"?await a.navigate(d):await a.navigate(d,{fromRouteId:i,...f}))},[a,i])}var Bp={};function Yg(a,i,s){!i&&!Bp[a]&&(Bp[a]=!0,on(!1,s))}b.memo(Vb);function Vb({routes:a,manifest:i,future:s,state:c,isStatic:d,onError:f}){return Hg(a,void 0,{manifest:i,state:c,isStatic:d,onError:f})}function Jb({to:a,replace:i,state:s,relative:c}){et(vi()," may be used only in the context of a component.");let{static:d}=b.useContext(Ft);on(!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}=b.useContext(Hn),{pathname:h}=xn(),_=Nd(),p=Ac(a,Td(f),h,c==="path"),g=JSON.stringify(p);return b.useEffect(()=>{_(JSON.parse(g),{replace:i,state:s,relative:c})},[_,g,c,i,s]),null}function ud(a){et(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Fb({basename:a="/",children:i=null,location:s,navigationType:c="POP",navigator:d,static:f=!1,useTransitions:h}){et(!vi(),"You cannot render a inside another . You should never have more than one in your app.");let _=a.replace(/^\/*/,"/"),p=b.useMemo(()=>({basename:_,navigator:d,static:f,useTransitions:h,future:{}}),[_,d,f,h]);typeof s=="string"&&(s=xl(s));let{pathname:g="/",search:j="",hash:S="",state:E=null,key:$="default",mask:T}=s,O=b.useMemo(()=>{let z=ua(g,_);return z==null?null:{location:{pathname:z,search:j,hash:S,state:E,key:$,mask:T},navigationType:c}},[_,g,j,S,E,$,c,T]);return on(O!=null,` is not able to match the URL "${g}${j}${S}" because it does not start with the basename, so the won't render anything.`),O==null?null:b.createElement(Ft.Provider,{value:p},b.createElement(Ls.Provider,{children:i,value:O}))}function Ib({children:a,location:i}){return $b(od(a),i)}function od(a,i=[]){let s=[];return b.Children.forEach(a,(c,d)=>{if(!b.isValidElement(c))return;let f=[...i,d];if(c.type===b.Fragment){s.push.apply(s,od(c.props.children,f));return}et(c.type===ud,`[${typeof c.type=="string"?c.type:c.type.name}] is not a component. All component children of must be a or `),et(!c.props.index||!c.props.children,"An index route cannot have child routes.");let h={id:c.props.id||f.join("-"),caseSensitive:c.props.caseSensitive,element:c.props.element,Component:c.props.Component,index:c.props.index,path:c.props.path,middleware:c.props.middleware,loader:c.props.loader,action:c.props.action,hydrateFallbackElement:c.props.hydrateFallbackElement,HydrateFallback:c.props.HydrateFallback,errorElement:c.props.errorElement,ErrorBoundary:c.props.ErrorBoundary,hasErrorBoundary:c.props.hasErrorBoundary===!0||c.props.ErrorBoundary!=null||c.props.errorElement!=null,shouldRevalidate:c.props.shouldRevalidate,handle:c.props.handle,lazy:c.props.lazy};c.props.children&&(h.children=od(c.props.children,f)),s.push(h)}),s}var fc="get",mc="application/x-www-form-urlencoded";function Cc(a){return typeof HTMLElement<"u"&&a instanceof HTMLElement}function Wb(a){return Cc(a)&&a.tagName.toLowerCase()==="button"}function Pb(a){return Cc(a)&&a.tagName.toLowerCase()==="form"}function e0(a){return Cc(a)&&a.tagName.toLowerCase()==="input"}function t0(a){return!!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)}function n0(a,i){return a.button===0&&(!i||i==="_self")&&!t0(a)}var ic=null;function a0(){if(ic===null)try{new FormData(document.createElement("form"),0),ic=!1}catch{ic=!0}return ic}var l0=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Io(a){return a!=null&&!l0.has(a)?(on(!1,`"${a}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${mc}"`),null):a}function i0(a,i){let s,c,d,f,h;if(Pb(a)){let _=a.getAttribute("action");c=_?ua(_,i):null,s=a.getAttribute("method")||fc,d=Io(a.getAttribute("enctype"))||mc,f=new FormData(a)}else if(Wb(a)||e0(a)&&(a.type==="submit"||a.type==="image")){let _=a.form;if(_==null)throw new Error('Cannot submit a