@tea-agent/loop-agent 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +42 -108
- package/CHANGELOG.md +85 -0
- package/README.md +8 -5
- package/bin/agent-worker.js +0 -0
- package/dist/application/context-usage/skill-resolution-stats.js +263 -0
- package/dist/application/dag/generate-task-dag.js +17 -3
- package/dist/cli/command-definitions.js +8 -7
- package/dist/cli/program.js +17 -15
- package/dist/commands/doctor.js +269 -18
- package/dist/commands/init.js +101 -86
- package/dist/commands/stats.js +40 -11
- package/dist/executors/shell-executor.js +20 -7
- package/dist/shared/operator/capabilities.js +486 -3
- package/dist/worker/console/app-data.js +6 -0
- package/dist/worker/console/chat/artifact-card.js +23 -0
- package/dist/worker/console/chat/chat-event-store.js +495 -0
- package/dist/worker/console/chat/chat-ui-policy.js +25 -0
- package/dist/worker/console/chat/composer-draft-store.js +45 -0
- package/dist/worker/console/chat/context-panel.js +54 -0
- package/dist/worker/console/chat/contract-apply-receipt-store.js +174 -0
- package/dist/worker/console/chat/explore-tools.js +299 -0
- package/dist/worker/console/chat/human-gate-card.js +37 -0
- package/dist/worker/console/chat/instruction-skills.js +217 -0
- package/dist/worker/console/chat/interview-adapter.js +136 -0
- package/dist/worker/console/chat/model-resolver.js +106 -0
- package/dist/worker/console/chat/operation-card.js +23 -0
- package/dist/worker/console/chat/pi-console-config.js +158 -0
- package/dist/worker/console/chat/pi-runtime.js +1143 -0
- package/dist/worker/console/chat/repo-browser.js +140 -0
- package/dist/worker/console/chat/repo-walk.js +116 -0
- package/dist/worker/console/chat/resource-loader.js +67 -0
- package/dist/worker/console/chat/routes.js +1646 -0
- package/dist/worker/console/chat/runtime-context.js +24 -0
- package/dist/worker/console/chat/runtime-selection.js +37 -0
- package/dist/worker/console/chat/session-store.js +437 -0
- package/dist/worker/console/chat/shortcuts.js +15 -0
- package/dist/worker/console/chat/tool-adapter.js +125 -0
- package/dist/worker/console/chat/tools.js +195 -0
- package/dist/worker/console/chat/usage.js +37 -0
- package/dist/worker/console/chat/workspace-landing.js +56 -0
- package/dist/worker/console/dag-confirmation.js +42 -8
- package/dist/worker/console/human-gate-token.js +130 -0
- package/dist/worker/console/mutation-gate-receipt-store.js +184 -0
- package/dist/worker/console/operation-runner.js +6 -2
- package/dist/worker/console/operation-sse.js +26 -0
- package/dist/worker/console/operator-actions.js +420 -7
- package/dist/worker/console/server.js +68 -1
- package/dist/worker/console/static/assets/index-BTbrEHnO.css +1 -0
- package/dist/worker/console/static/assets/index-D9qLevoP.js +27 -0
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/feature/profile-schema.js +1 -1
- package/dist/workflows/dag/backend-test-markdown-workflow.js +9 -5
- package/dist/workflows/dag/backend-test-result-contract.js +229 -0
- package/dist/workflows/dag/frontend-lint-baseline.js +4 -4
- package/dist/workflows/dag/init-hybrid.js +71 -22
- package/dist/workflows/dag/node-execution.js +38 -1
- package/dist/workflows/dag/output-protocol.js +89 -0
- package/dist/workflows/dag/prompt.js +35 -1
- package/dist/workflows/dag/recovery-recommendation.js +45 -0
- package/dist/workflows/dag/report.js +28 -1
- package/dist/workflows/dag/rerun-task.js +1 -1
- package/dist/workflows/dag/scheduler.js +9 -0
- package/dist/workflows/dag/types.js +12 -0
- package/dist/workflows/dag/validate.js +55 -0
- package/docs/README.md +73 -156
- package/docs/architecture/README.md +7 -6
- package/docs/architecture/dag-execution.md +2 -2
- package/docs/architecture/evolution.md +16 -14
- package/docs/architecture/system-overview.md +1 -1
- package/docs/architecture/worker-and-feature.md +3 -3
- package/docs/governance/README.md +15 -0
- package/docs/{harness-methodology-debugging.md → governance/harness-methodology-debugging.md} +27 -3
- package/docs/init-surface.manifest.json +22 -4
- package/docs/operations/README.md +12 -0
- package/docs/{local-development-environment.md → operations/local-development-environment.md} +1 -1
- package/docs/skills/vetted-skill-registry.md +23 -3
- package/docs/templates/README.md +55 -0
- package/docs/templates/backend-test-dag.json +2 -2
- package/docs/templates/evaluation/agents-map-slim-v1.candidate.json +9 -0
- package/docs/templates/evaluation/agents-map-slim-v1.md +87 -0
- package/docs/templates/evaluation/agents-map-verbose-v0.candidate.json +9 -0
- package/docs/templates/evaluation/agents-map-verbose-v0.md +153 -0
- package/docs/templates/hybrid-dag.json +1 -1
- package/docs/templates/progress-log.md +9 -2
- package/harness.json +4 -4
- package/package.json +5 -5
- package/scripts/kb-bootstrap-init-skeleton.sh +2 -2
- package/skills/agent-worker/SKILL.md +1 -1
- package/skills/grill-with-docs/SKILL.md +44 -52
- package/skills/grill-with-docs/adr-format.md +37 -26
- package/skills/grill-with-docs/context-format.md +18 -26
- package/skills/loop-agent/SKILL.md +28 -112
- package/skills/loop-agent/references/command-reference.md +9 -3
- package/skills/loop-agent/references/harness-policy.md +3 -3
- package/skills/loop-agent/references/hybrid-dag.md +1 -1
- package/skills/loop-agent/references/orchestrator-and-interventions.md +1 -1
- package/skills/loop-agent/references/task-workflow.md +2 -0
- package/skills/systematic-debugging/SKILL.md +20 -4
- package/skills/test-driven-development/SKILL.md +10 -3
- package/dist/worker/console/static/assets/index-CUDke82y.js +0 -18
- package/dist/worker/console/static/assets/index-wSEksVSO.css +0 -1
- /package/docs/{harness-methodology-tdd.md → governance/harness-methodology-tdd.md} +0 -0
- /package/docs/{harness-methodology-verification.md → governance/harness-methodology-verification.md} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
(function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const x of document.querySelectorAll('link[rel="modulepreload"]'))d(x);new MutationObserver(x=>{for(const R of x)if(R.type==="childList")for(const O of R.addedNodes)O.tagName==="LINK"&&O.rel==="modulepreload"&&d(O)}).observe(document,{childList:!0,subtree:!0});function m(x){const R={};return x.integrity&&(R.integrity=x.integrity),x.referrerPolicy&&(R.referrerPolicy=x.referrerPolicy),x.crossOrigin==="use-credentials"?R.credentials="include":x.crossOrigin==="anonymous"?R.credentials="omit":R.credentials="same-origin",R}function d(x){if(x.ep)return;x.ep=!0;const R=m(x);fetch(x.href,R)}})();var uo={exports:{}},Zi={};var sm;function Uv(){if(sm)return Zi;sm=1;var o=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function m(d,x,R){var O=null;if(R!==void 0&&(O=""+R),x.key!==void 0&&(O=""+x.key),"key"in x){R={};for(var K in x)K!=="key"&&(R[K]=x[K])}else R=x;return x=R.ref,{$$typeof:o,type:d,key:O,ref:x!==void 0?x:null,props:R}}return Zi.Fragment=u,Zi.jsx=m,Zi.jsxs=m,Zi}var cm;function Hv(){return cm||(cm=1,uo.exports=Uv()),uo.exports}var s=Hv(),oo={exports:{}},oe={};var um;function qv(){if(um)return oe;um=1;var o=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),R=Symbol.for("react.consumer"),O=Symbol.for("react.context"),K=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),z=Symbol.for("react.memo"),$=Symbol.for("react.lazy"),Y=Symbol.for("react.activity"),P=Symbol.iterator;function G(g){return g===null||typeof g!="object"?null:(g=P&&g[P]||g["@@iterator"],typeof g=="function"?g:null)}var le={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ie=Object.assign,et={};function ce(g,M,X){this.props=g,this.context=M,this.refs=et,this.updater=X||le}ce.prototype.isReactComponent={},ce.prototype.setState=function(g,M){if(typeof g!="object"&&typeof g!="function"&&g!=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,g,M,"setState")},ce.prototype.forceUpdate=function(g){this.updater.enqueueForceUpdate(this,g,"forceUpdate")};function _e(){}_e.prototype=ce.prototype;function Me(g,M,X){this.props=g,this.context=M,this.refs=et,this.updater=X||le}var pt=Me.prototype=new _e;pt.constructor=Me,ie(pt,ce.prototype),pt.isPureReactComponent=!0;var ot=Array.isArray;function We(){}var re={H:null,A:null,T:null,S:null},Ee=Object.prototype.hasOwnProperty;function wt(g,M,X){var L=X.ref;return{$$typeof:o,type:g,key:M,ref:L!==void 0?L:null,props:X}}function Ut(g,M){return wt(g.type,M,g.props)}function nt(g){return typeof g=="object"&&g!==null&&g.$$typeof===o}function Ze(g){var M={"=":"=0",":":"=2"};return"$"+g.replace(/[=:]/g,function(X){return M[X]})}var Gt=/\/+/g;function tt(g,M){return typeof g=="object"&&g!==null&&g.key!=null?Ze(""+g.key):M.toString(36)}function Nt(g){switch(g.status){case"fulfilled":return g.value;case"rejected":throw g.reason;default:switch(typeof g.status=="string"?g.then(We,We):(g.status="pending",g.then(function(M){g.status==="pending"&&(g.status="fulfilled",g.value=M)},function(M){g.status==="pending"&&(g.status="rejected",g.reason=M)})),g.status){case"fulfilled":return g.value;case"rejected":throw g.reason}}throw g}function D(g,M,X,L,F){var de=typeof g;(de==="undefined"||de==="boolean")&&(g=null);var ge=!1;if(g===null)ge=!0;else switch(de){case"bigint":case"string":case"number":ge=!0;break;case"object":switch(g.$$typeof){case o:case u:ge=!0;break;case $:return ge=g._init,D(ge(g._payload),M,X,L,F)}}if(ge)return F=F(g),ge=L===""?"."+tt(g,0):L,ot(F)?(X="",ge!=null&&(X=ge.replace(Gt,"$&/")+"/"),D(F,M,X,"",function(Gl){return Gl})):F!=null&&(nt(F)&&(F=Ut(F,X+(F.key==null||g&&g.key===F.key?"":(""+F.key).replace(Gt,"$&/")+"/")+ge)),M.push(F)),1;ge=0;var rt=L===""?".":L+":";if(ot(g))for(var Re=0;Re<g.length;Re++)L=g[Re],de=rt+tt(L,Re),ge+=D(L,M,X,de,F);else if(Re=G(g),typeof Re=="function")for(g=Re.call(g),Re=0;!(L=g.next()).done;)L=L.value,de=rt+tt(L,Re++),ge+=D(L,M,X,de,F);else if(de==="object"){if(typeof g.then=="function")return D(Nt(g),M,X,L,F);throw M=String(g),Error("Objects are not valid as a React child (found: "+(M==="[object Object]"?"object with keys {"+Object.keys(g).join(", ")+"}":M)+"). If you meant to render a collection of children, use an array instead.")}return ge}function Z(g,M,X){if(g==null)return g;var L=[],F=0;return D(g,L,"","",function(de){return M.call(X,de,F++)}),L}function ne(g){if(g._status===-1){var M=g._result;M=M(),M.then(function(X){(g._status===0||g._status===-1)&&(g._status=1,g._result=X)},function(X){(g._status===0||g._status===-1)&&(g._status=2,g._result=X)}),g._status===-1&&(g._status=0,g._result=M)}if(g._status===1)return g._result.default;throw g._result}var Ce=typeof reportError=="function"?reportError:function(g){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var M=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof g=="object"&&g!==null&&typeof g.message=="string"?String(g.message):String(g),error:g});if(!window.dispatchEvent(M))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",g);return}console.error(g)},Ae={map:Z,forEach:function(g,M,X){Z(g,function(){M.apply(this,arguments)},X)},count:function(g){var M=0;return Z(g,function(){M++}),M},toArray:function(g){return Z(g,function(M){return M})||[]},only:function(g){if(!nt(g))throw Error("React.Children.only expected to receive a single React element child.");return g}};return oe.Activity=Y,oe.Children=Ae,oe.Component=ce,oe.Fragment=m,oe.Profiler=x,oe.PureComponent=Me,oe.StrictMode=d,oe.Suspense=B,oe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=re,oe.__COMPILER_RUNTIME={__proto__:null,c:function(g){return re.H.useMemoCache(g)}},oe.cache=function(g){return function(){return g.apply(null,arguments)}},oe.cacheSignal=function(){return null},oe.cloneElement=function(g,M,X){if(g==null)throw Error("The argument must be a React element, but you passed "+g+".");var L=ie({},g.props),F=g.key;if(M!=null)for(de in M.key!==void 0&&(F=""+M.key),M)!Ee.call(M,de)||de==="key"||de==="__self"||de==="__source"||de==="ref"&&M.ref===void 0||(L[de]=M[de]);var de=arguments.length-2;if(de===1)L.children=X;else if(1<de){for(var ge=Array(de),rt=0;rt<de;rt++)ge[rt]=arguments[rt+2];L.children=ge}return wt(g.type,F,L)},oe.createContext=function(g){return g={$$typeof:O,_currentValue:g,_currentValue2:g,_threadCount:0,Provider:null,Consumer:null},g.Provider=g,g.Consumer={$$typeof:R,_context:g},g},oe.createElement=function(g,M,X){var L,F={},de=null;if(M!=null)for(L in M.key!==void 0&&(de=""+M.key),M)Ee.call(M,L)&&L!=="key"&&L!=="__self"&&L!=="__source"&&(F[L]=M[L]);var ge=arguments.length-2;if(ge===1)F.children=X;else if(1<ge){for(var rt=Array(ge),Re=0;Re<ge;Re++)rt[Re]=arguments[Re+2];F.children=rt}if(g&&g.defaultProps)for(L in ge=g.defaultProps,ge)F[L]===void 0&&(F[L]=ge[L]);return wt(g,de,F)},oe.createRef=function(){return{current:null}},oe.forwardRef=function(g){return{$$typeof:K,render:g}},oe.isValidElement=nt,oe.lazy=function(g){return{$$typeof:$,_payload:{_status:-1,_result:g},_init:ne}},oe.memo=function(g,M){return{$$typeof:z,type:g,compare:M===void 0?null:M}},oe.startTransition=function(g){var M=re.T,X={};re.T=X;try{var L=g(),F=re.S;F!==null&&F(X,L),typeof L=="object"&&L!==null&&typeof L.then=="function"&&L.then(We,Ce)}catch(de){Ce(de)}finally{M!==null&&X.types!==null&&(M.types=X.types),re.T=M}},oe.unstable_useCacheRefresh=function(){return re.H.useCacheRefresh()},oe.use=function(g){return re.H.use(g)},oe.useActionState=function(g,M,X){return re.H.useActionState(g,M,X)},oe.useCallback=function(g,M){return re.H.useCallback(g,M)},oe.useContext=function(g){return re.H.useContext(g)},oe.useDebugValue=function(){},oe.useDeferredValue=function(g,M){return re.H.useDeferredValue(g,M)},oe.useEffect=function(g,M){return re.H.useEffect(g,M)},oe.useEffectEvent=function(g){return re.H.useEffectEvent(g)},oe.useId=function(){return re.H.useId()},oe.useImperativeHandle=function(g,M,X){return re.H.useImperativeHandle(g,M,X)},oe.useInsertionEffect=function(g,M){return re.H.useInsertionEffect(g,M)},oe.useLayoutEffect=function(g,M){return re.H.useLayoutEffect(g,M)},oe.useMemo=function(g,M){return re.H.useMemo(g,M)},oe.useOptimistic=function(g,M){return re.H.useOptimistic(g,M)},oe.useReducer=function(g,M,X){return re.H.useReducer(g,M,X)},oe.useRef=function(g){return re.H.useRef(g)},oe.useState=function(g){return re.H.useState(g)},oe.useSyncExternalStore=function(g,M,X){return re.H.useSyncExternalStore(g,M,X)},oe.useTransition=function(){return re.H.useTransition()},oe.version="19.2.8",oe}var om;function Ao(){return om||(om=1,oo.exports=qv()),oo.exports}var v=Ao(),ro={exports:{}},Vi={},fo={exports:{}},mo={};var rm;function Lv(){return rm||(rm=1,(function(o){function u(D,Z){var ne=D.length;D.push(Z);e:for(;0<ne;){var Ce=ne-1>>>1,Ae=D[Ce];if(0<x(Ae,Z))D[Ce]=Z,D[ne]=Ae,ne=Ce;else break e}}function m(D){return D.length===0?null:D[0]}function d(D){if(D.length===0)return null;var Z=D[0],ne=D.pop();if(ne!==Z){D[0]=ne;e:for(var Ce=0,Ae=D.length,g=Ae>>>1;Ce<g;){var M=2*(Ce+1)-1,X=D[M],L=M+1,F=D[L];if(0>x(X,ne))L<Ae&&0>x(F,X)?(D[Ce]=F,D[L]=ne,Ce=L):(D[Ce]=X,D[M]=ne,Ce=M);else if(L<Ae&&0>x(F,ne))D[Ce]=F,D[L]=ne,Ce=L;else break e}}return Z}function x(D,Z){var ne=D.sortIndex-Z.sortIndex;return ne!==0?ne:D.id-Z.id}if(o.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var R=performance;o.unstable_now=function(){return R.now()}}else{var O=Date,K=O.now();o.unstable_now=function(){return O.now()-K}}var B=[],z=[],$=1,Y=null,P=3,G=!1,le=!1,ie=!1,et=!1,ce=typeof setTimeout=="function"?setTimeout:null,_e=typeof clearTimeout=="function"?clearTimeout:null,Me=typeof setImmediate<"u"?setImmediate:null;function pt(D){for(var Z=m(z);Z!==null;){if(Z.callback===null)d(z);else if(Z.startTime<=D)d(z),Z.sortIndex=Z.expirationTime,u(B,Z);else break;Z=m(z)}}function ot(D){if(ie=!1,pt(D),!le)if(m(B)!==null)le=!0,We||(We=!0,Ze());else{var Z=m(z);Z!==null&&Nt(ot,Z.startTime-D)}}var We=!1,re=-1,Ee=5,wt=-1;function Ut(){return et?!0:!(o.unstable_now()-wt<Ee)}function nt(){if(et=!1,We){var D=o.unstable_now();wt=D;var Z=!0;try{e:{le=!1,ie&&(ie=!1,_e(re),re=-1),G=!0;var ne=P;try{t:{for(pt(D),Y=m(B);Y!==null&&!(Y.expirationTime>D&&Ut());){var Ce=Y.callback;if(typeof Ce=="function"){Y.callback=null,P=Y.priorityLevel;var Ae=Ce(Y.expirationTime<=D);if(D=o.unstable_now(),typeof Ae=="function"){Y.callback=Ae,pt(D),Z=!0;break t}Y===m(B)&&d(B),pt(D)}else d(B);Y=m(B)}if(Y!==null)Z=!0;else{var g=m(z);g!==null&&Nt(ot,g.startTime-D),Z=!1}}break e}finally{Y=null,P=ne,G=!1}Z=void 0}}finally{Z?Ze():We=!1}}}var Ze;if(typeof Me=="function")Ze=function(){Me(nt)};else if(typeof MessageChannel<"u"){var Gt=new MessageChannel,tt=Gt.port2;Gt.port1.onmessage=nt,Ze=function(){tt.postMessage(null)}}else Ze=function(){ce(nt,0)};function Nt(D,Z){re=ce(function(){D(o.unstable_now())},Z)}o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(D){D.callback=null},o.unstable_forceFrameRate=function(D){0>D||125<D?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Ee=0<D?Math.floor(1e3/D):5},o.unstable_getCurrentPriorityLevel=function(){return P},o.unstable_next=function(D){switch(P){case 1:case 2:case 3:var Z=3;break;default:Z=P}var ne=P;P=Z;try{return D()}finally{P=ne}},o.unstable_requestPaint=function(){et=!0},o.unstable_runWithPriority=function(D,Z){switch(D){case 1:case 2:case 3:case 4:case 5:break;default:D=3}var ne=P;P=D;try{return Z()}finally{P=ne}},o.unstable_scheduleCallback=function(D,Z,ne){var Ce=o.unstable_now();switch(typeof ne=="object"&&ne!==null?(ne=ne.delay,ne=typeof ne=="number"&&0<ne?Ce+ne:Ce):ne=Ce,D){case 1:var Ae=-1;break;case 2:Ae=250;break;case 5:Ae=1073741823;break;case 4:Ae=1e4;break;default:Ae=5e3}return Ae=ne+Ae,D={id:$++,callback:Z,priorityLevel:D,startTime:ne,expirationTime:Ae,sortIndex:-1},ne>Ce?(D.sortIndex=ne,u(z,D),m(B)===null&&D===m(z)&&(ie?(_e(re),re=-1):ie=!0,Nt(ot,ne-Ce))):(D.sortIndex=Ae,u(B,D),le||G||(le=!0,We||(We=!0,Ze()))),D},o.unstable_shouldYield=Ut,o.unstable_wrapCallback=function(D){var Z=P;return function(){var ne=P;P=Z;try{return D.apply(this,arguments)}finally{P=ne}}}})(mo)),mo}var dm;function Gv(){return dm||(dm=1,fo.exports=Lv()),fo.exports}var ho={exports:{}},Lt={};var fm;function Bv(){if(fm)return Lt;fm=1;var o=Ao();function u(B){var z="https://react.dev/errors/"+B;if(1<arguments.length){z+="?args[]="+encodeURIComponent(arguments[1]);for(var $=2;$<arguments.length;$++)z+="&args[]="+encodeURIComponent(arguments[$])}return"Minified React error #"+B+"; visit "+z+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function m(){}var d={d:{f:m,r:function(){throw Error(u(522))},D:m,C:m,L:m,m,X:m,S:m,M:m},p:0,findDOMNode:null},x=Symbol.for("react.portal");function R(B,z,$){var Y=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:x,key:Y==null?null:""+Y,children:B,containerInfo:z,implementation:$}}var O=o.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function K(B,z){if(B==="font")return"";if(typeof z=="string")return z==="use-credentials"?z:""}return Lt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=d,Lt.createPortal=function(B,z){var $=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!z||z.nodeType!==1&&z.nodeType!==9&&z.nodeType!==11)throw Error(u(299));return R(B,z,null,$)},Lt.flushSync=function(B){var z=O.T,$=d.p;try{if(O.T=null,d.p=2,B)return B()}finally{O.T=z,d.p=$,d.d.f()}},Lt.preconnect=function(B,z){typeof B=="string"&&(z?(z=z.crossOrigin,z=typeof z=="string"?z==="use-credentials"?z:"":void 0):z=null,d.d.C(B,z))},Lt.prefetchDNS=function(B){typeof B=="string"&&d.d.D(B)},Lt.preinit=function(B,z){if(typeof B=="string"&&z&&typeof z.as=="string"){var $=z.as,Y=K($,z.crossOrigin),P=typeof z.integrity=="string"?z.integrity:void 0,G=typeof z.fetchPriority=="string"?z.fetchPriority:void 0;$==="style"?d.d.S(B,typeof z.precedence=="string"?z.precedence:void 0,{crossOrigin:Y,integrity:P,fetchPriority:G}):$==="script"&&d.d.X(B,{crossOrigin:Y,integrity:P,fetchPriority:G,nonce:typeof z.nonce=="string"?z.nonce:void 0})}},Lt.preinitModule=function(B,z){if(typeof B=="string")if(typeof z=="object"&&z!==null){if(z.as==null||z.as==="script"){var $=K(z.as,z.crossOrigin);d.d.M(B,{crossOrigin:$,integrity:typeof z.integrity=="string"?z.integrity:void 0,nonce:typeof z.nonce=="string"?z.nonce:void 0})}}else z==null&&d.d.M(B)},Lt.preload=function(B,z){if(typeof B=="string"&&typeof z=="object"&&z!==null&&typeof z.as=="string"){var $=z.as,Y=K($,z.crossOrigin);d.d.L(B,$,{crossOrigin:Y,integrity:typeof z.integrity=="string"?z.integrity:void 0,nonce:typeof z.nonce=="string"?z.nonce:void 0,type:typeof z.type=="string"?z.type:void 0,fetchPriority:typeof z.fetchPriority=="string"?z.fetchPriority:void 0,referrerPolicy:typeof z.referrerPolicy=="string"?z.referrerPolicy:void 0,imageSrcSet:typeof z.imageSrcSet=="string"?z.imageSrcSet:void 0,imageSizes:typeof z.imageSizes=="string"?z.imageSizes:void 0,media:typeof z.media=="string"?z.media:void 0})}},Lt.preloadModule=function(B,z){if(typeof B=="string")if(z){var $=K(z.as,z.crossOrigin);d.d.m(B,{as:typeof z.as=="string"&&z.as!=="script"?z.as:void 0,crossOrigin:$,integrity:typeof z.integrity=="string"?z.integrity:void 0})}else d.d.m(B)},Lt.requestFormReset=function(B){d.d.r(B)},Lt.unstable_batchedUpdates=function(B,z){return B(z)},Lt.useFormState=function(B,z,$){return O.H.useFormState(B,z,$)},Lt.useFormStatus=function(){return O.H.useHostTransitionStatus()},Lt.version="19.2.8",Lt}var mm;function Yv(){if(mm)return ho.exports;mm=1;function o(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(o)}catch(u){console.error(u)}}return o(),ho.exports=Bv(),ho.exports}var hm;function Qv(){if(hm)return Vi;hm=1;var o=Gv(),u=Ao(),m=Yv();function d(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)t+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function x(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function R(e){var t=e,l=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(l=t.return),e=t.return;while(e)}return t.tag===3?l:null}function O(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function K(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function B(e){if(R(e)!==e)throw Error(d(188))}function z(e){var t=e.alternate;if(!t){if(t=R(e),t===null)throw Error(d(188));return t!==e?null:e}for(var l=e,n=t;;){var a=l.return;if(a===null)break;var i=a.alternate;if(i===null){if(n=a.return,n!==null){l=n;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===l)return B(a),e;if(i===n)return B(a),t;i=i.sibling}throw Error(d(188))}if(l.return!==n.return)l=a,n=i;else{for(var c=!1,r=a.child;r;){if(r===l){c=!0,l=a,n=i;break}if(r===n){c=!0,n=a,l=i;break}r=r.sibling}if(!c){for(r=i.child;r;){if(r===l){c=!0,l=i,n=a;break}if(r===n){c=!0,n=i,l=a;break}r=r.sibling}if(!c)throw Error(d(189))}}if(l.alternate!==n)throw Error(d(190))}if(l.tag!==3)throw Error(d(188));return l.stateNode.current===l?e:t}function $(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=$(e),t!==null)return t;e=e.sibling}return null}var Y=Object.assign,P=Symbol.for("react.element"),G=Symbol.for("react.transitional.element"),le=Symbol.for("react.portal"),ie=Symbol.for("react.fragment"),et=Symbol.for("react.strict_mode"),ce=Symbol.for("react.profiler"),_e=Symbol.for("react.consumer"),Me=Symbol.for("react.context"),pt=Symbol.for("react.forward_ref"),ot=Symbol.for("react.suspense"),We=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),Ee=Symbol.for("react.lazy"),wt=Symbol.for("react.activity"),Ut=Symbol.for("react.memo_cache_sentinel"),nt=Symbol.iterator;function Ze(e){return e===null||typeof e!="object"?null:(e=nt&&e[nt]||e["@@iterator"],typeof e=="function"?e:null)}var Gt=Symbol.for("react.client.reference");function tt(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Gt?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ie:return"Fragment";case ce:return"Profiler";case et:return"StrictMode";case ot:return"Suspense";case We:return"SuspenseList";case wt:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case le:return"Portal";case Me:return e.displayName||"Context";case _e:return(e._context.displayName||"Context")+".Consumer";case pt:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case re:return t=e.displayName||null,t!==null?t:tt(e.type)||"Memo";case Ee:t=e._payload,e=e._init;try{return tt(e(t))}catch{}}return null}var Nt=Array.isArray,D=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=m.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne={pending:!1,data:null,method:null,action:null},Ce=[],Ae=-1;function g(e){return{current:e}}function M(e){0>Ae||(e.current=Ce[Ae],Ce[Ae]=null,Ae--)}function X(e,t){Ae++,Ce[Ae]=e.current,e.current=t}var L=g(null),F=g(null),de=g(null),ge=g(null);function rt(e,t){switch(X(de,t),X(F,e),X(L,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Df(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Df(t),e=Of(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}M(L),X(L,e)}function Re(){M(L),M(F),M(de)}function Gl(e){e.memoizedState!==null&&X(ge,e);var t=L.current,l=Of(t,e.type);t!==l&&(X(F,e),X(L,l))}function rl(e){F.current===e&&(M(L),M(F)),ge.current===e&&(M(ge),Bi._currentValue=ne)}var Wl,Fl;function Bl(e){if(Wl===void 0)try{throw Error()}catch(l){var t=l.stack.trim().match(/\n( *(at )?)/);Wl=t&&t[1]||"",Fl=-1<l.stack.indexOf(`
|
|
2
|
+
at`)?" (<anonymous>)":-1<l.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
+
`+Wl+e+Fl}var Pl=!1;function Yl(e,t){if(!e||Pl)return"";Pl=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var w=function(){throw Error()};if(Object.defineProperty(w.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(w,[])}catch(A){var E=A}Reflect.construct(e,[],w)}else{try{w.call()}catch(A){E=A}e.call(w.prototype)}}else{try{throw Error()}catch(A){E=A}(w=e())&&typeof w.catch=="function"&&w.catch(function(){})}}catch(A){if(A&&E&&typeof A.stack=="string")return[A.stack,E.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var a=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");a&&a.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=n.DetermineComponentFrameRoot(),c=i[0],r=i[1];if(c&&r){var h=c.split(`
|
|
4
|
+
`),N=r.split(`
|
|
5
|
+
`);for(a=n=0;n<h.length&&!h[n].includes("DetermineComponentFrameRoot");)n++;for(;a<N.length&&!N[a].includes("DetermineComponentFrameRoot");)a++;if(n===h.length||a===N.length)for(n=h.length-1,a=N.length-1;1<=n&&0<=a&&h[n]!==N[a];)a--;for(;1<=n&&0<=a;n--,a--)if(h[n]!==N[a]){if(n!==1||a!==1)do if(n--,a--,0>a||h[n]!==N[a]){var _=`
|
|
6
|
+
`+h[n].replace(" at new "," at ");return e.displayName&&_.includes("<anonymous>")&&(_=_.replace("<anonymous>",e.displayName)),_}while(1<=n&&0<=a);break}}}finally{Pl=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?Bl(l):""}function $e(e,t){switch(e.tag){case 26:case 27:case 5:return Bl(e.type);case 16:return Bl("Lazy");case 13:return e.child!==t&&t!==null?Bl("Suspense Fallback"):Bl("Suspense");case 19:return Bl("SuspenseList");case 0:case 15:return Yl(e.type,!1);case 11:return Yl(e.type.render,!1);case 1:return Yl(e.type,!0);case 31:return Bl("Activity");default:return""}}function It(e){try{var t="",l=null;do t+=$e(e,l),l=e,e=e.return;while(e);return t}catch(n){return`
|
|
7
|
+
Error generating stack: `+n.message+`
|
|
8
|
+
`+n.stack}}var Ql=Object.prototype.hasOwnProperty,fe=o.unstable_scheduleCallback,Bt=o.unstable_cancelCallback,Rn=o.unstable_shouldYield,Dn=o.unstable_requestPaint,it=o.unstable_now,ke=o.unstable_getCurrentPriorityLevel,ca=o.unstable_ImmediatePriority,Ge=o.unstable_UserBlockingPriority,dl=o.unstable_NormalPriority,Yt=o.unstable_LowPriority,ua=o.unstable_IdlePriority,dt=o.log,fl=o.unstable_setDisableYieldValue,Qt=null,ee=null;function Ct(e){if(typeof dt=="function"&&fl(e),ee&&typeof ee.setStrictMode=="function")try{ee.setStrictMode(Qt,e)}catch{}}var be=Math.clz32?Math.clz32:_n,On=Math.log,zn=Math.LN2;function _n(e){return e>>>=0,e===0?32:31-(On(e)/zn|0)|0}var ml=256,hl=262144,Wt=4194304;function At(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 Be(e,t,l){var n=e.pendingLanes;if(n===0)return 0;var a=0,i=e.suspendedLanes,c=e.pingedLanes;e=e.warmLanes;var r=n&134217727;return r!==0?(n=r&~i,n!==0?a=At(n):(c&=r,c!==0?a=At(c):l||(l=r&~e,l!==0&&(a=At(l))))):(r=n&~i,r!==0?a=At(r):c!==0?a=At(c):l||(l=n&~e,l!==0&&(a=At(l)))),a===0?0:t!==0&&t!==a&&(t&i)===0&&(i=a&-a,l=t&-t,i>=l||i===32&&(l&4194048)!==0)?t:a}function Ht(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function un(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 Mn(){var e=Wt;return Wt<<=1,(Wt&62914560)===0&&(Wt=4194304),e}function Tt(e){for(var t=[],l=0;31>l;l++)t.push(e);return t}function vl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function en(e,t,l,n,a,i){var c=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var r=e.entanglements,h=e.expirationTimes,N=e.hiddenUpdates;for(l=c&~l;0<l;){var _=31-be(l),w=1<<_;r[_]=0,h[_]=-1;var E=N[_];if(E!==null)for(N[_]=null,_=0;_<E.length;_++){var A=E[_];A!==null&&(A.lane&=-536870913)}l&=~w}n!==0&&Rl(e,n,0),i!==0&&a===0&&e.tag!==0&&(e.suspendedLanes|=i&~(c&~t))}function Rl(e,t,l){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-be(t);e.entangledLanes|=t,e.entanglements[n]=e.entanglements[n]|1073741824|l&261930}function at(e,t){var l=e.entangledLanes|=t;for(e=e.entanglements;l;){var n=31-be(l),a=1<<n;a&t|e[n]&t&&(e[n]|=t),l&=~a}}function pl(e,t){var l=t&-t;return l=(l&42)!==0?1:st(l),(l&(e.suspendedLanes|t))!==0?0:l}function st(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Xt(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Rt(){var e=Z.p;return e!==0?e:(e=window.event,e===void 0?32:Pf(e.type))}function Xl(e,t){var l=Z.p;try{return Z.p=e,t()}finally{Z.p=l}}var Je=Math.random().toString(36).slice(2),Ie="__reactFiber$"+Je,ft="__reactProps$"+Je,pe="__reactContainer$"+Je,yl="__reactEvents$"+Je,oa="__reactListeners$"+Je,tn="__reactHandles$"+Je,Zt="__reactResources$"+Je,gl="__reactMarker$"+Je;function bl(e){delete e[Ie],delete e[ft],delete e[yl],delete e[oa],delete e[tn]}function Ft(e){var t=e[Ie];if(t)return t;for(var l=e.parentNode;l;){if(t=l[pe]||l[Ie]){if(l=t.alternate,t.child!==null||l!==null&&l.child!==null)for(e=Hf(e);e!==null;){if(l=e[Ie])return l;e=Hf(e)}return t}e=l,l=e.parentNode}return null}function Pt(e){if(e=e[Ie]||e[pe]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Dt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(d(33))}function Vt(e){var t=e[Zt];return t||(t=e[Zt]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Ue(e){e[gl]=!0}var Dl=new Set,kn={};function el(e,t){Zl(e,t),Zl(e+"Capture",t)}function Zl(e,t){for(kn[e]=t,e=0;e<t.length;e++)Dl.add(t[e])}var ra=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),on={},he={};function da(e){return Ql.call(he,e)?!0:Ql.call(on,e)?!1:ra.test(e)?he[e]=!0:(on[e]=!0,!1)}function mt(e,t,l){if(da(t))if(l===null)e.removeAttribute(t);else{switch(typeof l){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var n=t.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+l)}}function Vl(e,t,l){if(l===null)e.removeAttribute(t);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+l)}}function tl(e,t,l,n){if(n===null)e.removeAttribute(l);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(l);return}e.setAttributeNS(t,l,""+n)}}function qt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function wn(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Sl(e,t,l){var n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var a=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(c){l=""+c,i.call(this,c)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return l},setValue:function(c){l=""+c},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Un(e){if(!e._valueTracker){var t=wn(e)?"checked":"value";e._valueTracker=Sl(e,t,""+e[t])}}function rn(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var l=t.getValue(),n="";return e&&(n=wn(e)?e.checked?"true":"false":e.value),e=n,e!==l?(t.setValue(e),!0):!1}function Kl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Hn=/[\n"\\]/g;function yt(e){return e.replace(Hn,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ll(e,t,l,n,a,i,c,r){e.name="",c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?e.type=c:e.removeAttribute("type"),t!=null?c==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+qt(t)):e.value!==""+qt(t)&&(e.value=""+qt(t)):c!=="submit"&&c!=="reset"||e.removeAttribute("value"),t!=null?nl(e,c,qt(t)):l!=null?nl(e,c,qt(l)):n!=null&&e.removeAttribute("value"),a==null&&i!=null&&(e.defaultChecked=!!i),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.name=""+qt(r):e.removeAttribute("name")}function qn(e,t,l,n,a,i,c,r){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||l!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Un(e);return}l=l!=null?""+qt(l):"",t=t!=null?""+qt(t):l,r||t===e.value||(e.value=t),e.defaultValue=t}n=n??a,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=r?e.checked:!!n,e.defaultChecked=!!n,c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.name=c),Un(e)}function nl(e,t,l){t==="number"&&Kl(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function Ot(e,t,l,n){if(e=e.options,t){t={};for(var a=0;a<l.length;a++)t["$"+l[a]]=!0;for(l=0;l<e.length;l++)a=t.hasOwnProperty("$"+e[l].value),e[l].selected!==a&&(e[l].selected=a),a&&n&&(e[l].defaultSelected=!0)}else{for(l=""+qt(l),t=null,a=0;a<e.length;a++){if(e[a].value===l){e[a].selected=!0,n&&(e[a].defaultSelected=!0);return}t!==null||e[a].disabled||(t=e[a])}t!==null&&(t.selected=!0)}}function dn(e,t,l){if(t!=null&&(t=""+qt(t),t!==e.value&&(e.value=t),l==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=l!=null?""+qt(l):""}function fn(e,t,l,n){if(t==null){if(n!=null){if(l!=null)throw Error(d(92));if(Nt(n)){if(1<n.length)throw Error(d(93));n=n[0]}l=n}l==null&&(l=""),t=l}l=qt(t),e.defaultValue=l,n=e.textContent,n===l&&n!==""&&n!==null&&(e.value=n),Un(e)}function Kt(e,t){if(t){var l=e.firstChild;if(l&&l===e.lastChild&&l.nodeType===3){l.nodeValue=t;return}}e.textContent=t}var f=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function b(e,t,l){var n=t.indexOf("--")===0;l==null||typeof l=="boolean"||l===""?n?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":n?e.setProperty(t,l):typeof l!="number"||l===0||f.has(t)?t==="float"?e.cssFloat=l:e[t]=(""+l).trim():e[t]=l+"px"}function C(e,t,l){if(t!=null&&typeof t!="object")throw Error(d(62));if(e=e.style,l!=null){for(var n in l)!l.hasOwnProperty(n)||t!=null&&t.hasOwnProperty(n)||(n.indexOf("--")===0?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="");for(var a in t)n=t[a],t.hasOwnProperty(a)&&l[a]!==n&&b(e,a,n)}else for(var i in t)t.hasOwnProperty(i)&&b(e,i,t[i])}function U(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var J=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),q=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function De(e){return q.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function p(){}var T=null;function H(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var V=null,Q=null;function ue(e){var t=Pt(e);if(t&&(e=t.stateNode)){var l=e[ft]||null;e:switch(e=t.stateNode,t.type){case"input":if(ll(e,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name),t=l.name,l.type==="radio"&&t!=null){for(l=e;l.parentNode;)l=l.parentNode;for(l=l.querySelectorAll('input[name="'+yt(""+t)+'"][type="radio"]'),t=0;t<l.length;t++){var n=l[t];if(n!==e&&n.form===e.form){var a=n[ft]||null;if(!a)throw Error(d(90));ll(n,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<l.length;t++)n=l[t],n.form===e.form&&rn(n)}break e;case"textarea":dn(e,l.value,l.defaultValue);break e;case"select":t=l.value,t!=null&&Ot(e,!!l.multiple,t,!1)}}}var ye=!1;function Ve(e,t,l){if(ye)return e(t,l);ye=!0;try{var n=e(t);return n}finally{if(ye=!1,(V!==null||Q!==null)&&(Us(),V&&(t=V,e=Q,Q=V=null,ue(t),e)))for(t=0;t<e.length;t++)ue(e[t])}}function se(e,t){var l=e.stateNode;if(l===null)return null;var n=l[ft]||null;if(n===null)return null;l=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(l&&typeof l!="function")throw Error(d(231,t,typeof l));return l}var He=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ln=!1;if(He)try{var fa={};Object.defineProperty(fa,"passive",{get:function(){ln=!0}}),window.addEventListener("test",fa,fa),window.removeEventListener("test",fa,fa)}catch{ln=!1}var Ol=null,oc=null,Ii=null;function Do(){if(Ii)return Ii;var e,t=oc,l=t.length,n,a="value"in Ol?Ol.value:Ol.textContent,i=a.length;for(e=0;e<l&&t[e]===a[e];e++);var c=l-e;for(n=1;n<=c&&t[l-n]===a[i-n];n++);return Ii=a.slice(e,1<n?1-n:void 0)}function Wi(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Fi(){return!0}function Oo(){return!1}function al(e){function t(l,n,a,i,c){this._reactName=l,this._targetInst=a,this.type=n,this.nativeEvent=i,this.target=c,this.currentTarget=null;for(var r in e)e.hasOwnProperty(r)&&(l=e[r],this[r]=l?l(i):i[r]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Fi:Oo,this.isPropagationStopped=Oo,this}return Y(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var l=this.nativeEvent;l&&(l.preventDefault?l.preventDefault():typeof l.returnValue!="unknown"&&(l.returnValue=!1),this.isDefaultPrevented=Fi)},stopPropagation:function(){var l=this.nativeEvent;l&&(l.stopPropagation?l.stopPropagation():typeof l.cancelBubble!="unknown"&&(l.cancelBubble=!0),this.isPropagationStopped=Fi)},persist:function(){},isPersistent:Fi}),t}var ma={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Pi=al(ma),si=Y({},ma,{view:0,detail:0}),km=al(si),rc,dc,ci,es=Y({},si,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:mc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ci&&(ci&&e.type==="mousemove"?(rc=e.screenX-ci.screenX,dc=e.screenY-ci.screenY):dc=rc=0,ci=e),rc)},movementY:function(e){return"movementY"in e?e.movementY:dc}}),zo=al(es),wm=Y({},es,{dataTransfer:0}),Um=al(wm),Hm=Y({},si,{relatedTarget:0}),fc=al(Hm),qm=Y({},ma,{animationName:0,elapsedTime:0,pseudoElement:0}),Lm=al(qm),Gm=Y({},ma,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Bm=al(Gm),Ym=Y({},ma,{data:0}),_o=al(Ym),Qm={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Xm={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Zm={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Vm(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Zm[e])?!!t[e]:!1}function mc(){return Vm}var Km=Y({},si,{key:function(e){if(e.key){var t=Qm[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Wi(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Xm[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:mc,charCode:function(e){return e.type==="keypress"?Wi(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Wi(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),$m=al(Km),Jm=Y({},es,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Mo=al(Jm),Im=Y({},si,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:mc}),Wm=al(Im),Fm=Y({},ma,{propertyName:0,elapsedTime:0,pseudoElement:0}),Pm=al(Fm),eh=Y({},es,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),th=al(eh),lh=Y({},ma,{newState:0,oldState:0}),nh=al(lh),ah=[9,13,27,32],hc=He&&"CompositionEvent"in window,ui=null;He&&"documentMode"in document&&(ui=document.documentMode);var ih=He&&"TextEvent"in window&&!ui,ko=He&&(!hc||ui&&8<ui&&11>=ui),wo=" ",Uo=!1;function Ho(e,t){switch(e){case"keyup":return ah.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qo(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var za=!1;function sh(e,t){switch(e){case"compositionend":return qo(t);case"keypress":return t.which!==32?null:(Uo=!0,wo);case"textInput":return e=t.data,e===wo&&Uo?null:e;default:return null}}function ch(e,t){if(za)return e==="compositionend"||!hc&&Ho(e,t)?(e=Do(),Ii=oc=Ol=null,za=!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.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ko&&t.locale!=="ko"?null:t.data;default:return null}}var uh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Lo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!uh[e.type]:t==="textarea"}function Go(e,t,l,n){V?Q?Q.push(n):Q=[n]:V=n,t=Qs(t,"onChange"),0<t.length&&(l=new Pi("onChange","change",null,l,n),e.push({event:l,listeners:t}))}var oi=null,ri=null;function oh(e){Nf(e,0)}function ts(e){var t=Dt(e);if(rn(t))return e}function Bo(e,t){if(e==="change")return t}var Yo=!1;if(He){var vc;if(He){var pc="oninput"in document;if(!pc){var Qo=document.createElement("div");Qo.setAttribute("oninput","return;"),pc=typeof Qo.oninput=="function"}vc=pc}else vc=!1;Yo=vc&&(!document.documentMode||9<document.documentMode)}function Xo(){oi&&(oi.detachEvent("onpropertychange",Zo),ri=oi=null)}function Zo(e){if(e.propertyName==="value"&&ts(ri)){var t=[];Go(t,ri,e,H(e)),Ve(oh,t)}}function rh(e,t,l){e==="focusin"?(Xo(),oi=t,ri=l,oi.attachEvent("onpropertychange",Zo)):e==="focusout"&&Xo()}function dh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ts(ri)}function fh(e,t){if(e==="click")return ts(t)}function mh(e,t){if(e==="input"||e==="change")return ts(t)}function hh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var xl=typeof Object.is=="function"?Object.is:hh;function di(e,t){if(xl(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var l=Object.keys(e),n=Object.keys(t);if(l.length!==n.length)return!1;for(n=0;n<l.length;n++){var a=l[n];if(!Ql.call(t,a)||!xl(e[a],t[a]))return!1}return!0}function Vo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ko(e,t){var l=Vo(e);e=0;for(var n;l;){if(l.nodeType===3){if(n=e+l.textContent.length,e<=t&&n>=t)return{node:l,offset:t-e};e=n}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=Vo(l)}}function $o(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?$o(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Jo(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Kl(e.document);t instanceof e.HTMLIFrameElement;){try{var l=typeof t.contentWindow.location.href=="string"}catch{l=!1}if(l)e=t.contentWindow;else break;t=Kl(e.document)}return t}function yc(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 vh=He&&"documentMode"in document&&11>=document.documentMode,_a=null,gc=null,fi=null,bc=!1;function Io(e,t,l){var n=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;bc||_a==null||_a!==Kl(n)||(n=_a,"selectionStart"in n&&yc(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),fi&&di(fi,n)||(fi=n,n=Qs(gc,"onSelect"),0<n.length&&(t=new Pi("onSelect","select",null,t,l),e.push({event:t,listeners:n}),t.target=_a)))}function ha(e,t){var l={};return l[e.toLowerCase()]=t.toLowerCase(),l["Webkit"+e]="webkit"+t,l["Moz"+e]="moz"+t,l}var Ma={animationend:ha("Animation","AnimationEnd"),animationiteration:ha("Animation","AnimationIteration"),animationstart:ha("Animation","AnimationStart"),transitionrun:ha("Transition","TransitionRun"),transitionstart:ha("Transition","TransitionStart"),transitioncancel:ha("Transition","TransitionCancel"),transitionend:ha("Transition","TransitionEnd")},Sc={},Wo={};He&&(Wo=document.createElement("div").style,"AnimationEvent"in window||(delete Ma.animationend.animation,delete Ma.animationiteration.animation,delete Ma.animationstart.animation),"TransitionEvent"in window||delete Ma.transitionend.transition);function va(e){if(Sc[e])return Sc[e];if(!Ma[e])return e;var t=Ma[e],l;for(l in t)if(t.hasOwnProperty(l)&&l in Wo)return Sc[e]=t[l];return e}var Fo=va("animationend"),Po=va("animationiteration"),er=va("animationstart"),ph=va("transitionrun"),yh=va("transitionstart"),gh=va("transitioncancel"),tr=va("transitionend"),lr=new Map,xc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");xc.push("scrollEnd");function $l(e,t){lr.set(e,t),el(t,[e])}var ls=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},zl=[],ka=0,jc=0;function ns(){for(var e=ka,t=jc=ka=0;t<e;){var l=zl[t];zl[t++]=null;var n=zl[t];zl[t++]=null;var a=zl[t];zl[t++]=null;var i=zl[t];if(zl[t++]=null,n!==null&&a!==null){var c=n.pending;c===null?a.next=a:(a.next=c.next,c.next=a),n.pending=a}i!==0&&nr(l,a,i)}}function as(e,t,l,n){zl[ka++]=e,zl[ka++]=t,zl[ka++]=l,zl[ka++]=n,jc|=n,e.lanes|=n,e=e.alternate,e!==null&&(e.lanes|=n)}function Nc(e,t,l,n){return as(e,t,l,n),is(e)}function pa(e,t){return as(e,null,null,t),is(e)}function nr(e,t,l){e.lanes|=l;var n=e.alternate;n!==null&&(n.lanes|=l);for(var a=!1,i=e.return;i!==null;)i.childLanes|=l,n=i.alternate,n!==null&&(n.childLanes|=l),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(a=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,a&&t!==null&&(a=31-be(l),e=i.hiddenUpdates,n=e[a],n===null?e[a]=[t]:n.push(t),t.lane=l|536870912),i):null}function is(e){if(50<ki)throw ki=0,_u=null,Error(d(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var wa={};function bh(e,t,l,n){this.tag=e,this.key=l,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function jl(e,t,l,n){return new bh(e,t,l,n)}function Tc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function mn(e,t){var l=e.alternate;return l===null?(l=jl(e.tag,t,e.key,e.mode),l.elementType=e.elementType,l.type=e.type,l.stateNode=e.stateNode,l.alternate=e,e.alternate=l):(l.pendingProps=t,l.type=e.type,l.flags=0,l.subtreeFlags=0,l.deletions=null),l.flags=e.flags&65011712,l.childLanes=e.childLanes,l.lanes=e.lanes,l.child=e.child,l.memoizedProps=e.memoizedProps,l.memoizedState=e.memoizedState,l.updateQueue=e.updateQueue,t=e.dependencies,l.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},l.sibling=e.sibling,l.index=e.index,l.ref=e.ref,l.refCleanup=e.refCleanup,l}function ar(e,t){e.flags&=65011714;var l=e.alternate;return l===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=l.childLanes,e.lanes=l.lanes,e.child=l.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=l.memoizedProps,e.memoizedState=l.memoizedState,e.updateQueue=l.updateQueue,e.type=l.type,t=l.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ss(e,t,l,n,a,i){var c=0;if(n=e,typeof e=="function")Tc(e)&&(c=1);else if(typeof e=="string")c=Tv(e,l,L.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case wt:return e=jl(31,l,t,a),e.elementType=wt,e.lanes=i,e;case ie:return ya(l.children,a,i,t);case et:c=8,a|=24;break;case ce:return e=jl(12,l,t,a|2),e.elementType=ce,e.lanes=i,e;case ot:return e=jl(13,l,t,a),e.elementType=ot,e.lanes=i,e;case We:return e=jl(19,l,t,a),e.elementType=We,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Me:c=10;break e;case _e:c=9;break e;case pt:c=11;break e;case re:c=14;break e;case Ee:c=16,n=null;break e}c=29,l=Error(d(130,e===null?"null":typeof e,"")),n=null}return t=jl(c,l,t,a),t.elementType=e,t.type=n,t.lanes=i,t}function ya(e,t,l,n){return e=jl(7,e,n,t),e.lanes=l,e}function Ec(e,t,l){return e=jl(6,e,null,t),e.lanes=l,e}function ir(e){var t=jl(18,null,null,0);return t.stateNode=e,t}function Cc(e,t,l){return t=jl(4,e.children!==null?e.children:[],e.key,t),t.lanes=l,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var sr=new WeakMap;function _l(e,t){if(typeof e=="object"&&e!==null){var l=sr.get(e);return l!==void 0?l:(t={value:e,source:t,stack:It(t)},sr.set(e,t),t)}return{value:e,source:t,stack:It(t)}}var Ua=[],Ha=0,cs=null,mi=0,Ml=[],kl=0,Ln=null,nn=1,an="";function hn(e,t){Ua[Ha++]=mi,Ua[Ha++]=cs,cs=e,mi=t}function cr(e,t,l){Ml[kl++]=nn,Ml[kl++]=an,Ml[kl++]=Ln,Ln=e;var n=nn;e=an;var a=32-be(n)-1;n&=~(1<<a),l+=1;var i=32-be(t)+a;if(30<i){var c=a-a%5;i=(n&(1<<c)-1).toString(32),n>>=c,a-=c,nn=1<<32-be(t)+a|l<<a|n,an=i+e}else nn=1<<i|l<<a|n,an=e}function Ac(e){e.return!==null&&(hn(e,1),cr(e,1,0))}function Rc(e){for(;e===cs;)cs=Ua[--Ha],Ua[Ha]=null,mi=Ua[--Ha],Ua[Ha]=null;for(;e===Ln;)Ln=Ml[--kl],Ml[kl]=null,an=Ml[--kl],Ml[kl]=null,nn=Ml[--kl],Ml[kl]=null}function ur(e,t){Ml[kl++]=nn,Ml[kl++]=an,Ml[kl++]=Ln,nn=t.id,an=t.overflow,Ln=e}var zt=null,Fe=null,Te=!1,Gn=null,wl=!1,Dc=Error(d(519));function Bn(e){var t=Error(d(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw hi(_l(t,e)),Dc}function or(e){var t=e.stateNode,l=e.type,n=e.memoizedProps;switch(t[Ie]=e,t[ft]=n,l){case"dialog":xe("cancel",t),xe("close",t);break;case"iframe":case"object":case"embed":xe("load",t);break;case"video":case"audio":for(l=0;l<Ui.length;l++)xe(Ui[l],t);break;case"source":xe("error",t);break;case"img":case"image":case"link":xe("error",t),xe("load",t);break;case"details":xe("toggle",t);break;case"input":xe("invalid",t),qn(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":xe("invalid",t);break;case"textarea":xe("invalid",t),fn(t,n.value,n.defaultValue,n.children)}l=n.children,typeof l!="string"&&typeof l!="number"&&typeof l!="bigint"||t.textContent===""+l||n.suppressHydrationWarning===!0||Af(t.textContent,l)?(n.popover!=null&&(xe("beforetoggle",t),xe("toggle",t)),n.onScroll!=null&&xe("scroll",t),n.onScrollEnd!=null&&xe("scrollend",t),n.onClick!=null&&(t.onclick=p),t=!0):t=!1,t||Bn(e,!0)}function rr(e){for(zt=e.return;zt;)switch(zt.tag){case 5:case 31:case 13:wl=!1;return;case 27:case 3:wl=!0;return;default:zt=zt.return}}function qa(e){if(e!==zt)return!1;if(!Te)return rr(e),Te=!0,!1;var t=e.tag,l;if((l=t!==3&&t!==27)&&((l=t===5)&&(l=e.type,l=!(l!=="form"&&l!=="button")||Ku(e.type,e.memoizedProps)),l=!l),l&&Fe&&Bn(e),rr(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(d(317));Fe=Uf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(d(317));Fe=Uf(e)}else t===27?(t=Fe,ta(e.type)?(e=Fu,Fu=null,Fe=e):Fe=t):Fe=zt?Hl(e.stateNode.nextSibling):null;return!0}function ga(){Fe=zt=null,Te=!1}function Oc(){var e=Gn;return e!==null&&(ul===null?ul=e:ul.push.apply(ul,e),Gn=null),e}function hi(e){Gn===null?Gn=[e]:Gn.push(e)}var zc=g(null),ba=null,vn=null;function Yn(e,t,l){X(zc,t._currentValue),t._currentValue=l}function pn(e){e._currentValue=zc.current,M(zc)}function _c(e,t,l){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===l)break;e=e.return}}function Mc(e,t,l,n){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var i=a.dependencies;if(i!==null){var c=a.child;i=i.firstContext;e:for(;i!==null;){var r=i;i=a;for(var h=0;h<t.length;h++)if(r.context===t[h]){i.lanes|=l,r=i.alternate,r!==null&&(r.lanes|=l),_c(i.return,l,e),n||(c=null);break e}i=r.next}}else if(a.tag===18){if(c=a.return,c===null)throw Error(d(341));c.lanes|=l,i=c.alternate,i!==null&&(i.lanes|=l),_c(c,l,e),c=null}else c=a.child;if(c!==null)c.return=a;else for(c=a;c!==null;){if(c===e){c=null;break}if(a=c.sibling,a!==null){a.return=c.return,c=a;break}c=c.return}a=c}}function La(e,t,l,n){e=null;for(var a=t,i=!1;a!==null;){if(!i){if((a.flags&524288)!==0)i=!0;else if((a.flags&262144)!==0)break}if(a.tag===10){var c=a.alternate;if(c===null)throw Error(d(387));if(c=c.memoizedProps,c!==null){var r=a.type;xl(a.pendingProps.value,c.value)||(e!==null?e.push(r):e=[r])}}else if(a===ge.current){if(c=a.alternate,c===null)throw Error(d(387));c.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e!==null?e.push(Bi):e=[Bi])}a=a.return}e!==null&&Mc(t,e,l,n),t.flags|=262144}function us(e){for(e=e.firstContext;e!==null;){if(!xl(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Sa(e){ba=e,vn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function _t(e){return dr(ba,e)}function os(e,t){return ba===null&&Sa(e),dr(e,t)}function dr(e,t){var l=t._currentValue;if(t={context:t,memoizedValue:l,next:null},vn===null){if(e===null)throw Error(d(308));vn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else vn=vn.next=t;return l}var Sh=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(l,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(l){return l()})}},xh=o.unstable_scheduleCallback,jh=o.unstable_NormalPriority,gt={$$typeof:Me,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function kc(){return{controller:new Sh,data:new Map,refCount:0}}function vi(e){e.refCount--,e.refCount===0&&xh(jh,function(){e.controller.abort()})}var pi=null,wc=0,Ga=0,Ba=null;function Nh(e,t){if(pi===null){var l=pi=[];wc=0,Ga=qu(),Ba={status:"pending",value:void 0,then:function(n){l.push(n)}}}return wc++,t.then(fr,fr),t}function fr(){if(--wc===0&&pi!==null){Ba!==null&&(Ba.status="fulfilled");var e=pi;pi=null,Ga=0,Ba=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Th(e,t){var l=[],n={status:"pending",value:null,reason:null,then:function(a){l.push(a)}};return e.then(function(){n.status="fulfilled",n.value=t;for(var a=0;a<l.length;a++)(0,l[a])(t)},function(a){for(n.status="rejected",n.reason=a,a=0;a<l.length;a++)(0,l[a])(void 0)}),n}var mr=D.S;D.S=function(e,t){Id=it(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Nh(e,t),mr!==null&&mr(e,t)};var xa=g(null);function Uc(){var e=xa.current;return e!==null?e:Ke.pooledCache}function rs(e,t){t===null?X(xa,xa.current):X(xa,t.pool)}function hr(){var e=Uc();return e===null?null:{parent:gt._currentValue,pool:e}}var Ya=Error(d(460)),Hc=Error(d(474)),ds=Error(d(542)),fs={then:function(){}};function vr(e){return e=e.status,e==="fulfilled"||e==="rejected"}function pr(e,t,l){switch(l=e[l],l===void 0?e.push(t):l!==t&&(t.then(p,p),t=l),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,gr(e),e;default:if(typeof t.status=="string")t.then(p,p);else{if(e=Ke,e!==null&&100<e.shellSuspendCounter)throw Error(d(482));e=t,e.status="pending",e.then(function(n){if(t.status==="pending"){var a=t;a.status="fulfilled",a.value=n}},function(n){if(t.status==="pending"){var a=t;a.status="rejected",a.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,gr(e),e}throw Na=t,Ya}}function ja(e){try{var t=e._init;return t(e._payload)}catch(l){throw l!==null&&typeof l=="object"&&typeof l.then=="function"?(Na=l,Ya):l}}var Na=null;function yr(){if(Na===null)throw Error(d(459));var e=Na;return Na=null,e}function gr(e){if(e===Ya||e===ds)throw Error(d(483))}var Qa=null,yi=0;function ms(e){var t=yi;return yi+=1,Qa===null&&(Qa=[]),pr(Qa,e,t)}function gi(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function hs(e,t){throw t.$$typeof===P?Error(d(525)):(e=Object.prototype.toString.call(t),Error(d(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function br(e){function t(S,y){if(e){var j=S.deletions;j===null?(S.deletions=[y],S.flags|=16):j.push(y)}}function l(S,y){if(!e)return null;for(;y!==null;)t(S,y),y=y.sibling;return null}function n(S){for(var y=new Map;S!==null;)S.key!==null?y.set(S.key,S):y.set(S.index,S),S=S.sibling;return y}function a(S,y){return S=mn(S,y),S.index=0,S.sibling=null,S}function i(S,y,j){return S.index=j,e?(j=S.alternate,j!==null?(j=j.index,j<y?(S.flags|=67108866,y):j):(S.flags|=67108866,y)):(S.flags|=1048576,y)}function c(S){return e&&S.alternate===null&&(S.flags|=67108866),S}function r(S,y,j,k){return y===null||y.tag!==6?(y=Ec(j,S.mode,k),y.return=S,y):(y=a(y,j),y.return=S,y)}function h(S,y,j,k){var te=j.type;return te===ie?_(S,y,j.props.children,k,j.key):y!==null&&(y.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===Ee&&ja(te)===y.type)?(y=a(y,j.props),gi(y,j),y.return=S,y):(y=ss(j.type,j.key,j.props,null,S.mode,k),gi(y,j),y.return=S,y)}function N(S,y,j,k){return y===null||y.tag!==4||y.stateNode.containerInfo!==j.containerInfo||y.stateNode.implementation!==j.implementation?(y=Cc(j,S.mode,k),y.return=S,y):(y=a(y,j.children||[]),y.return=S,y)}function _(S,y,j,k,te){return y===null||y.tag!==7?(y=ya(j,S.mode,k,te),y.return=S,y):(y=a(y,j),y.return=S,y)}function w(S,y,j){if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return y=Ec(""+y,S.mode,j),y.return=S,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case G:return j=ss(y.type,y.key,y.props,null,S.mode,j),gi(j,y),j.return=S,j;case le:return y=Cc(y,S.mode,j),y.return=S,y;case Ee:return y=ja(y),w(S,y,j)}if(Nt(y)||Ze(y))return y=ya(y,S.mode,j,null),y.return=S,y;if(typeof y.then=="function")return w(S,ms(y),j);if(y.$$typeof===Me)return w(S,os(S,y),j);hs(S,y)}return null}function E(S,y,j,k){var te=y!==null?y.key:null;if(typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint")return te!==null?null:r(S,y,""+j,k);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case G:return j.key===te?h(S,y,j,k):null;case le:return j.key===te?N(S,y,j,k):null;case Ee:return j=ja(j),E(S,y,j,k)}if(Nt(j)||Ze(j))return te!==null?null:_(S,y,j,k,null);if(typeof j.then=="function")return E(S,y,ms(j),k);if(j.$$typeof===Me)return E(S,y,os(S,j),k);hs(S,j)}return null}function A(S,y,j,k,te){if(typeof k=="string"&&k!==""||typeof k=="number"||typeof k=="bigint")return S=S.get(j)||null,r(y,S,""+k,te);if(typeof k=="object"&&k!==null){switch(k.$$typeof){case G:return S=S.get(k.key===null?j:k.key)||null,h(y,S,k,te);case le:return S=S.get(k.key===null?j:k.key)||null,N(y,S,k,te);case Ee:return k=ja(k),A(S,y,j,k,te)}if(Nt(k)||Ze(k))return S=S.get(j)||null,_(y,S,k,te,null);if(typeof k.then=="function")return A(S,y,j,ms(k),te);if(k.$$typeof===Me)return A(S,y,j,os(y,k),te);hs(y,k)}return null}function I(S,y,j,k){for(var te=null,Oe=null,W=y,ve=y=0,Ne=null;W!==null&&ve<j.length;ve++){W.index>ve?(Ne=W,W=null):Ne=W.sibling;var ze=E(S,W,j[ve],k);if(ze===null){W===null&&(W=Ne);break}e&&W&&ze.alternate===null&&t(S,W),y=i(ze,y,ve),Oe===null?te=ze:Oe.sibling=ze,Oe=ze,W=Ne}if(ve===j.length)return l(S,W),Te&&hn(S,ve),te;if(W===null){for(;ve<j.length;ve++)W=w(S,j[ve],k),W!==null&&(y=i(W,y,ve),Oe===null?te=W:Oe.sibling=W,Oe=W);return Te&&hn(S,ve),te}for(W=n(W);ve<j.length;ve++)Ne=A(W,S,ve,j[ve],k),Ne!==null&&(e&&Ne.alternate!==null&&W.delete(Ne.key===null?ve:Ne.key),y=i(Ne,y,ve),Oe===null?te=Ne:Oe.sibling=Ne,Oe=Ne);return e&&W.forEach(function(sa){return t(S,sa)}),Te&&hn(S,ve),te}function ae(S,y,j,k){if(j==null)throw Error(d(151));for(var te=null,Oe=null,W=y,ve=y=0,Ne=null,ze=j.next();W!==null&&!ze.done;ve++,ze=j.next()){W.index>ve?(Ne=W,W=null):Ne=W.sibling;var sa=E(S,W,ze.value,k);if(sa===null){W===null&&(W=Ne);break}e&&W&&sa.alternate===null&&t(S,W),y=i(sa,y,ve),Oe===null?te=sa:Oe.sibling=sa,Oe=sa,W=Ne}if(ze.done)return l(S,W),Te&&hn(S,ve),te;if(W===null){for(;!ze.done;ve++,ze=j.next())ze=w(S,ze.value,k),ze!==null&&(y=i(ze,y,ve),Oe===null?te=ze:Oe.sibling=ze,Oe=ze);return Te&&hn(S,ve),te}for(W=n(W);!ze.done;ve++,ze=j.next())ze=A(W,S,ve,ze.value,k),ze!==null&&(e&&ze.alternate!==null&&W.delete(ze.key===null?ve:ze.key),y=i(ze,y,ve),Oe===null?te=ze:Oe.sibling=ze,Oe=ze);return e&&W.forEach(function(wv){return t(S,wv)}),Te&&hn(S,ve),te}function Xe(S,y,j,k){if(typeof j=="object"&&j!==null&&j.type===ie&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case G:e:{for(var te=j.key;y!==null;){if(y.key===te){if(te=j.type,te===ie){if(y.tag===7){l(S,y.sibling),k=a(y,j.props.children),k.return=S,S=k;break e}}else if(y.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===Ee&&ja(te)===y.type){l(S,y.sibling),k=a(y,j.props),gi(k,j),k.return=S,S=k;break e}l(S,y);break}else t(S,y);y=y.sibling}j.type===ie?(k=ya(j.props.children,S.mode,k,j.key),k.return=S,S=k):(k=ss(j.type,j.key,j.props,null,S.mode,k),gi(k,j),k.return=S,S=k)}return c(S);case le:e:{for(te=j.key;y!==null;){if(y.key===te)if(y.tag===4&&y.stateNode.containerInfo===j.containerInfo&&y.stateNode.implementation===j.implementation){l(S,y.sibling),k=a(y,j.children||[]),k.return=S,S=k;break e}else{l(S,y);break}else t(S,y);y=y.sibling}k=Cc(j,S.mode,k),k.return=S,S=k}return c(S);case Ee:return j=ja(j),Xe(S,y,j,k)}if(Nt(j))return I(S,y,j,k);if(Ze(j)){if(te=Ze(j),typeof te!="function")throw Error(d(150));return j=te.call(j),ae(S,y,j,k)}if(typeof j.then=="function")return Xe(S,y,ms(j),k);if(j.$$typeof===Me)return Xe(S,y,os(S,j),k);hs(S,j)}return typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint"?(j=""+j,y!==null&&y.tag===6?(l(S,y.sibling),k=a(y,j),k.return=S,S=k):(l(S,y),k=Ec(j,S.mode,k),k.return=S,S=k),c(S)):l(S,y)}return function(S,y,j,k){try{yi=0;var te=Xe(S,y,j,k);return Qa=null,te}catch(W){if(W===Ya||W===ds)throw W;var Oe=jl(29,W,null,S.mode);return Oe.lanes=k,Oe.return=S,Oe}}}var Ta=br(!0),Sr=br(!1),Qn=!1;function qc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Lc(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 Xn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Zn(e,t,l){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(we&2)!==0){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,t=is(e),nr(e,null,l),t}return as(e,n,t,l),is(e)}function bi(e,t,l){if(t=t.updateQueue,t!==null&&(t=t.shared,(l&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,l|=n,t.lanes=l,at(e,l)}}function Gc(e,t){var l=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,l===n)){var a=null,i=null;if(l=l.firstBaseUpdate,l!==null){do{var c={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};i===null?a=i=c:i=i.next=c,l=l.next}while(l!==null);i===null?a=i=t:i=i.next=t}else a=i=t;l={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:n.shared,callbacks:n.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=t:e.next=t,l.lastBaseUpdate=t}var Bc=!1;function Si(){if(Bc){var e=Ba;if(e!==null)throw e}}function xi(e,t,l,n){Bc=!1;var a=e.updateQueue;Qn=!1;var i=a.firstBaseUpdate,c=a.lastBaseUpdate,r=a.shared.pending;if(r!==null){a.shared.pending=null;var h=r,N=h.next;h.next=null,c===null?i=N:c.next=N,c=h;var _=e.alternate;_!==null&&(_=_.updateQueue,r=_.lastBaseUpdate,r!==c&&(r===null?_.firstBaseUpdate=N:r.next=N,_.lastBaseUpdate=h))}if(i!==null){var w=a.baseState;c=0,_=N=h=null,r=i;do{var E=r.lane&-536870913,A=E!==r.lane;if(A?(je&E)===E:(n&E)===E){E!==0&&E===Ga&&(Bc=!0),_!==null&&(_=_.next={lane:0,tag:r.tag,payload:r.payload,callback:null,next:null});e:{var I=e,ae=r;E=t;var Xe=l;switch(ae.tag){case 1:if(I=ae.payload,typeof I=="function"){w=I.call(Xe,w,E);break e}w=I;break e;case 3:I.flags=I.flags&-65537|128;case 0:if(I=ae.payload,E=typeof I=="function"?I.call(Xe,w,E):I,E==null)break e;w=Y({},w,E);break e;case 2:Qn=!0}}E=r.callback,E!==null&&(e.flags|=64,A&&(e.flags|=8192),A=a.callbacks,A===null?a.callbacks=[E]:A.push(E))}else A={lane:E,tag:r.tag,payload:r.payload,callback:r.callback,next:null},_===null?(N=_=A,h=w):_=_.next=A,c|=E;if(r=r.next,r===null){if(r=a.shared.pending,r===null)break;A=r,r=A.next,A.next=null,a.lastBaseUpdate=A,a.shared.pending=null}}while(!0);_===null&&(h=w),a.baseState=h,a.firstBaseUpdate=N,a.lastBaseUpdate=_,i===null&&(a.shared.lanes=0),In|=c,e.lanes=c,e.memoizedState=w}}function xr(e,t){if(typeof e!="function")throw Error(d(191,e));e.call(t)}function jr(e,t){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;e<l.length;e++)xr(l[e],t)}var Xa=g(null),vs=g(0);function Nr(e,t){e=En,X(vs,e),X(Xa,t),En=e|t.baseLanes}function Yc(){X(vs,En),X(Xa,Xa.current)}function Qc(){En=vs.current,M(Xa),M(vs)}var Nl=g(null),Ul=null;function Vn(e){var t=e.alternate;X(ht,ht.current&1),X(Nl,e),Ul===null&&(t===null||Xa.current!==null||t.memoizedState!==null)&&(Ul=e)}function Xc(e){X(ht,ht.current),X(Nl,e),Ul===null&&(Ul=e)}function Tr(e){e.tag===22?(X(ht,ht.current),X(Nl,e),Ul===null&&(Ul=e)):Kn()}function Kn(){X(ht,ht.current),X(Nl,Nl.current)}function Tl(e){M(Nl),Ul===e&&(Ul=null),M(ht)}var ht=g(0);function ps(e){for(var t=e;t!==null;){if(t.tag===13){var l=t.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||Iu(l)||Wu(l)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var yn=0,me=null,Ye=null,bt=null,ys=!1,Za=!1,Ea=!1,gs=0,ji=0,Va=null,Eh=0;function ct(){throw Error(d(321))}function Zc(e,t){if(t===null)return!1;for(var l=0;l<t.length&&l<e.length;l++)if(!xl(e[l],t[l]))return!1;return!0}function Vc(e,t,l,n,a,i){return yn=i,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,D.H=e===null||e.memoizedState===null?cd:cu,Ea=!1,i=l(n,a),Ea=!1,Za&&(i=Cr(t,l,n,a)),Er(e),i}function Er(e){D.H=Ei;var t=Ye!==null&&Ye.next!==null;if(yn=0,bt=Ye=me=null,ys=!1,ji=0,Va=null,t)throw Error(d(300));e===null||St||(e=e.dependencies,e!==null&&us(e)&&(St=!0))}function Cr(e,t,l,n){me=e;var a=0;do{if(Za&&(Va=null),ji=0,Za=!1,25<=a)throw Error(d(301));if(a+=1,bt=Ye=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}D.H=ud,i=t(l,n)}while(Za);return i}function Ch(){var e=D.H,t=e.useState()[0];return t=typeof t.then=="function"?Ni(t):t,e=e.useState()[0],(Ye!==null?Ye.memoizedState:null)!==e&&(me.flags|=1024),t}function Kc(){var e=gs!==0;return gs=0,e}function $c(e,t,l){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l}function Jc(e){if(ys){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ys=!1}yn=0,bt=Ye=me=null,Za=!1,ji=gs=0,Va=null}function $t(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return bt===null?me.memoizedState=bt=e:bt=bt.next=e,bt}function vt(){if(Ye===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Ye.next;var t=bt===null?me.memoizedState:bt.next;if(t!==null)bt=t,Ye=e;else{if(e===null)throw me.alternate===null?Error(d(467)):Error(d(310));Ye=e,e={memoizedState:Ye.memoizedState,baseState:Ye.baseState,baseQueue:Ye.baseQueue,queue:Ye.queue,next:null},bt===null?me.memoizedState=bt=e:bt=bt.next=e}return bt}function bs(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ni(e){var t=ji;return ji+=1,Va===null&&(Va=[]),e=pr(Va,e,t),t=me,(bt===null?t.memoizedState:bt.next)===null&&(t=t.alternate,D.H=t===null||t.memoizedState===null?cd:cu),e}function Ss(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Ni(e);if(e.$$typeof===Me)return _t(e)}throw Error(d(438,String(e)))}function Ic(e){var t=null,l=me.updateQueue;if(l!==null&&(t=l.memoCache),t==null){var n=me.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(a){return a.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),l===null&&(l=bs(),me.updateQueue=l),l.memoCache=t,l=t.data[t.index],l===void 0)for(l=t.data[t.index]=Array(e),n=0;n<e;n++)l[n]=Ut;return t.index++,l}function gn(e,t){return typeof t=="function"?t(e):t}function xs(e){var t=vt();return Wc(t,Ye,e)}function Wc(e,t,l){var n=e.queue;if(n===null)throw Error(d(311));n.lastRenderedReducer=l;var a=e.baseQueue,i=n.pending;if(i!==null){if(a!==null){var c=a.next;a.next=i.next,i.next=c}t.baseQueue=a=i,n.pending=null}if(i=e.baseState,a===null)e.memoizedState=i;else{t=a.next;var r=c=null,h=null,N=t,_=!1;do{var w=N.lane&-536870913;if(w!==N.lane?(je&w)===w:(yn&w)===w){var E=N.revertLane;if(E===0)h!==null&&(h=h.next={lane:0,revertLane:0,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null}),w===Ga&&(_=!0);else if((yn&E)===E){N=N.next,E===Ga&&(_=!0);continue}else w={lane:0,revertLane:N.revertLane,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},h===null?(r=h=w,c=i):h=h.next=w,me.lanes|=E,In|=E;w=N.action,Ea&&l(i,w),i=N.hasEagerState?N.eagerState:l(i,w)}else E={lane:w,revertLane:N.revertLane,gesture:N.gesture,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},h===null?(r=h=E,c=i):h=h.next=E,me.lanes|=w,In|=w;N=N.next}while(N!==null&&N!==t);if(h===null?c=i:h.next=r,!xl(i,e.memoizedState)&&(St=!0,_&&(l=Ba,l!==null)))throw l;e.memoizedState=i,e.baseState=c,e.baseQueue=h,n.lastRenderedState=i}return a===null&&(n.lanes=0),[e.memoizedState,n.dispatch]}function Fc(e){var t=vt(),l=t.queue;if(l===null)throw Error(d(311));l.lastRenderedReducer=e;var n=l.dispatch,a=l.pending,i=t.memoizedState;if(a!==null){l.pending=null;var c=a=a.next;do i=e(i,c.action),c=c.next;while(c!==a);xl(i,t.memoizedState)||(St=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),l.lastRenderedState=i}return[i,n]}function Ar(e,t,l){var n=me,a=vt(),i=Te;if(i){if(l===void 0)throw Error(d(407));l=l()}else l=t();var c=!xl((Ye||a).memoizedState,l);if(c&&(a.memoizedState=l,St=!0),a=a.queue,tu(Or.bind(null,n,a,e),[e]),a.getSnapshot!==t||c||bt!==null&&bt.memoizedState.tag&1){if(n.flags|=2048,Ka(9,{destroy:void 0},Dr.bind(null,n,a,l,t),null),Ke===null)throw Error(d(349));i||(yn&127)!==0||Rr(n,t,l)}return l}function Rr(e,t,l){e.flags|=16384,e={getSnapshot:t,value:l},t=me.updateQueue,t===null?(t=bs(),me.updateQueue=t,t.stores=[e]):(l=t.stores,l===null?t.stores=[e]:l.push(e))}function Dr(e,t,l,n){t.value=l,t.getSnapshot=n,zr(t)&&_r(e)}function Or(e,t,l){return l(function(){zr(t)&&_r(e)})}function zr(e){var t=e.getSnapshot;e=e.value;try{var l=t();return!xl(e,l)}catch{return!0}}function _r(e){var t=pa(e,2);t!==null&&ol(t,e,2)}function Pc(e){var t=$t();if(typeof e=="function"){var l=e;if(e=l(),Ea){Ct(!0);try{l()}finally{Ct(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:gn,lastRenderedState:e},t}function Mr(e,t,l,n){return e.baseState=l,Wc(e,Ye,typeof n=="function"?n:gn)}function Ah(e,t,l,n,a){if(Ts(e))throw Error(d(485));if(e=t.action,e!==null){var i={payload:a,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(c){i.listeners.push(c)}};D.T!==null?l(!0):i.isTransition=!1,n(i),l=t.pending,l===null?(i.next=t.pending=i,kr(t,i)):(i.next=l.next,t.pending=l.next=i)}}function kr(e,t){var l=t.action,n=t.payload,a=e.state;if(t.isTransition){var i=D.T,c={};D.T=c;try{var r=l(a,n),h=D.S;h!==null&&h(c,r),wr(e,t,r)}catch(N){eu(e,t,N)}finally{i!==null&&c.types!==null&&(i.types=c.types),D.T=i}}else try{i=l(a,n),wr(e,t,i)}catch(N){eu(e,t,N)}}function wr(e,t,l){l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(function(n){Ur(e,t,n)},function(n){return eu(e,t,n)}):Ur(e,t,l)}function Ur(e,t,l){t.status="fulfilled",t.value=l,Hr(t),e.state=l,t=e.pending,t!==null&&(l=t.next,l===t?e.pending=null:(l=l.next,t.next=l,kr(e,l)))}function eu(e,t,l){var n=e.pending;if(e.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=l,Hr(t),t=t.next;while(t!==n)}e.action=null}function Hr(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function qr(e,t){return t}function Lr(e,t){if(Te){var l=Ke.formState;if(l!==null){e:{var n=me;if(Te){if(Fe){t:{for(var a=Fe,i=wl;a.nodeType!==8;){if(!i){a=null;break t}if(a=Hl(a.nextSibling),a===null){a=null;break t}}i=a.data,a=i==="F!"||i==="F"?a:null}if(a){Fe=Hl(a.nextSibling),n=a.data==="F!";break e}}Bn(n)}n=!1}n&&(t=l[0])}}return l=$t(),l.memoizedState=l.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:qr,lastRenderedState:t},l.queue=n,l=ad.bind(null,me,n),n.dispatch=l,n=Pc(!1),i=su.bind(null,me,!1,n.queue),n=$t(),a={state:t,dispatch:null,action:e,pending:null},n.queue=a,l=Ah.bind(null,me,a,i,l),a.dispatch=l,n.memoizedState=e,[t,l,!1]}function Gr(e){var t=vt();return Br(t,Ye,e)}function Br(e,t,l){if(t=Wc(e,t,qr)[0],e=xs(gn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=Ni(t)}catch(c){throw c===Ya?ds:c}else n=t;t=vt();var a=t.queue,i=a.dispatch;return l!==t.memoizedState&&(me.flags|=2048,Ka(9,{destroy:void 0},Rh.bind(null,a,l),null)),[n,i,e]}function Rh(e,t){e.action=t}function Yr(e){var t=vt(),l=Ye;if(l!==null)return Br(t,l,e);vt(),t=t.memoizedState,l=vt();var n=l.queue.dispatch;return l.memoizedState=e,[t,n,!1]}function Ka(e,t,l,n){return e={tag:e,create:l,deps:n,inst:t,next:null},t=me.updateQueue,t===null&&(t=bs(),me.updateQueue=t),l=t.lastEffect,l===null?t.lastEffect=e.next=e:(n=l.next,l.next=e,e.next=n,t.lastEffect=e),e}function Qr(){return vt().memoizedState}function js(e,t,l,n){var a=$t();me.flags|=e,a.memoizedState=Ka(1|t,{destroy:void 0},l,n===void 0?null:n)}function Ns(e,t,l,n){var a=vt();n=n===void 0?null:n;var i=a.memoizedState.inst;Ye!==null&&n!==null&&Zc(n,Ye.memoizedState.deps)?a.memoizedState=Ka(t,i,l,n):(me.flags|=e,a.memoizedState=Ka(1|t,i,l,n))}function Xr(e,t){js(8390656,8,e,t)}function tu(e,t){Ns(2048,8,e,t)}function Dh(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=bs(),me.updateQueue=t,t.events=[e];else{var l=t.events;l===null?t.events=[e]:l.push(e)}}function Zr(e){var t=vt().memoizedState;return Dh({ref:t,nextImpl:e}),function(){if((we&2)!==0)throw Error(d(440));return t.impl.apply(void 0,arguments)}}function Vr(e,t){return Ns(4,2,e,t)}function Kr(e,t){return Ns(4,4,e,t)}function $r(e,t){if(typeof t=="function"){e=e();var l=t(e);return function(){typeof l=="function"?l():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Jr(e,t,l){l=l!=null?l.concat([e]):null,Ns(4,4,$r.bind(null,t,e),l)}function lu(){}function Ir(e,t){var l=vt();t=t===void 0?null:t;var n=l.memoizedState;return t!==null&&Zc(t,n[1])?n[0]:(l.memoizedState=[e,t],e)}function Wr(e,t){var l=vt();t=t===void 0?null:t;var n=l.memoizedState;if(t!==null&&Zc(t,n[1]))return n[0];if(n=e(),Ea){Ct(!0);try{e()}finally{Ct(!1)}}return l.memoizedState=[n,t],n}function nu(e,t,l){return l===void 0||(yn&1073741824)!==0&&(je&261930)===0?e.memoizedState=t:(e.memoizedState=l,e=Fd(),me.lanes|=e,In|=e,l)}function Fr(e,t,l,n){return xl(l,t)?l:Xa.current!==null?(e=nu(e,l,n),xl(e,t)||(St=!0),e):(yn&42)===0||(yn&1073741824)!==0&&(je&261930)===0?(St=!0,e.memoizedState=l):(e=Fd(),me.lanes|=e,In|=e,t)}function Pr(e,t,l,n,a){var i=Z.p;Z.p=i!==0&&8>i?i:8;var c=D.T,r={};D.T=r,su(e,!1,t,l);try{var h=a(),N=D.S;if(N!==null&&N(r,h),h!==null&&typeof h=="object"&&typeof h.then=="function"){var _=Th(h,n);Ti(e,t,_,Al(e))}else Ti(e,t,n,Al(e))}catch(w){Ti(e,t,{then:function(){},status:"rejected",reason:w},Al())}finally{Z.p=i,c!==null&&r.types!==null&&(c.types=r.types),D.T=c}}function Oh(){}function au(e,t,l,n){if(e.tag!==5)throw Error(d(476));var a=ed(e).queue;Pr(e,a,t,ne,l===null?Oh:function(){return td(e),l(n)})}function ed(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:gn,lastRenderedState:ne},next:null};var l={};return t.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:gn,lastRenderedState:l},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function td(e){var t=ed(e);t.next===null&&(t=e.alternate.memoizedState),Ti(e,t.next.queue,{},Al())}function iu(){return _t(Bi)}function ld(){return vt().memoizedState}function nd(){return vt().memoizedState}function zh(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var l=Al();e=Xn(l);var n=Zn(t,e,l);n!==null&&(ol(n,t,l),bi(n,t,l)),t={cache:kc()},e.payload=t;return}t=t.return}}function _h(e,t,l){var n=Al();l={lane:n,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Ts(e)?id(t,l):(l=Nc(e,t,l,n),l!==null&&(ol(l,e,n),sd(l,t,n)))}function ad(e,t,l){var n=Al();Ti(e,t,l,n)}function Ti(e,t,l,n){var a={lane:n,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(Ts(e))id(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var c=t.lastRenderedState,r=i(c,l);if(a.hasEagerState=!0,a.eagerState=r,xl(r,c))return as(e,t,a,0),Ke===null&&ns(),!1}catch{}if(l=Nc(e,t,a,n),l!==null)return ol(l,e,n),sd(l,t,n),!0}return!1}function su(e,t,l,n){if(n={lane:2,revertLane:qu(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ts(e)){if(t)throw Error(d(479))}else t=Nc(e,l,n,2),t!==null&&ol(t,e,2)}function Ts(e){var t=e.alternate;return e===me||t!==null&&t===me}function id(e,t){Za=ys=!0;var l=e.pending;l===null?t.next=t:(t.next=l.next,l.next=t),e.pending=t}function sd(e,t,l){if((l&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,l|=n,t.lanes=l,at(e,l)}}var Ei={readContext:_t,use:Ss,useCallback:ct,useContext:ct,useEffect:ct,useImperativeHandle:ct,useLayoutEffect:ct,useInsertionEffect:ct,useMemo:ct,useReducer:ct,useRef:ct,useState:ct,useDebugValue:ct,useDeferredValue:ct,useTransition:ct,useSyncExternalStore:ct,useId:ct,useHostTransitionStatus:ct,useFormState:ct,useActionState:ct,useOptimistic:ct,useMemoCache:ct,useCacheRefresh:ct};Ei.useEffectEvent=ct;var cd={readContext:_t,use:Ss,useCallback:function(e,t){return $t().memoizedState=[e,t===void 0?null:t],e},useContext:_t,useEffect:Xr,useImperativeHandle:function(e,t,l){l=l!=null?l.concat([e]):null,js(4194308,4,$r.bind(null,t,e),l)},useLayoutEffect:function(e,t){return js(4194308,4,e,t)},useInsertionEffect:function(e,t){js(4,2,e,t)},useMemo:function(e,t){var l=$t();t=t===void 0?null:t;var n=e();if(Ea){Ct(!0);try{e()}finally{Ct(!1)}}return l.memoizedState=[n,t],n},useReducer:function(e,t,l){var n=$t();if(l!==void 0){var a=l(t);if(Ea){Ct(!0);try{l(t)}finally{Ct(!1)}}}else a=t;return n.memoizedState=n.baseState=a,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},n.queue=e,e=e.dispatch=_h.bind(null,me,e),[n.memoizedState,e]},useRef:function(e){var t=$t();return e={current:e},t.memoizedState=e},useState:function(e){e=Pc(e);var t=e.queue,l=ad.bind(null,me,t);return t.dispatch=l,[e.memoizedState,l]},useDebugValue:lu,useDeferredValue:function(e,t){var l=$t();return nu(l,e,t)},useTransition:function(){var e=Pc(!1);return e=Pr.bind(null,me,e.queue,!0,!1),$t().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,l){var n=me,a=$t();if(Te){if(l===void 0)throw Error(d(407));l=l()}else{if(l=t(),Ke===null)throw Error(d(349));(je&127)!==0||Rr(n,t,l)}a.memoizedState=l;var i={value:l,getSnapshot:t};return a.queue=i,Xr(Or.bind(null,n,i,e),[e]),n.flags|=2048,Ka(9,{destroy:void 0},Dr.bind(null,n,i,l,t),null),l},useId:function(){var e=$t(),t=Ke.identifierPrefix;if(Te){var l=an,n=nn;l=(n&~(1<<32-be(n)-1)).toString(32)+l,t="_"+t+"R_"+l,l=gs++,0<l&&(t+="H"+l.toString(32)),t+="_"}else l=Eh++,t="_"+t+"r_"+l.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:iu,useFormState:Lr,useActionState:Lr,useOptimistic:function(e){var t=$t();t.memoizedState=t.baseState=e;var l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=l,t=su.bind(null,me,!0,l),l.dispatch=t,[e,t]},useMemoCache:Ic,useCacheRefresh:function(){return $t().memoizedState=zh.bind(null,me)},useEffectEvent:function(e){var t=$t(),l={impl:e};return t.memoizedState=l,function(){if((we&2)!==0)throw Error(d(440));return l.impl.apply(void 0,arguments)}}},cu={readContext:_t,use:Ss,useCallback:Ir,useContext:_t,useEffect:tu,useImperativeHandle:Jr,useInsertionEffect:Vr,useLayoutEffect:Kr,useMemo:Wr,useReducer:xs,useRef:Qr,useState:function(){return xs(gn)},useDebugValue:lu,useDeferredValue:function(e,t){var l=vt();return Fr(l,Ye.memoizedState,e,t)},useTransition:function(){var e=xs(gn)[0],t=vt().memoizedState;return[typeof e=="boolean"?e:Ni(e),t]},useSyncExternalStore:Ar,useId:ld,useHostTransitionStatus:iu,useFormState:Gr,useActionState:Gr,useOptimistic:function(e,t){var l=vt();return Mr(l,Ye,e,t)},useMemoCache:Ic,useCacheRefresh:nd};cu.useEffectEvent=Zr;var ud={readContext:_t,use:Ss,useCallback:Ir,useContext:_t,useEffect:tu,useImperativeHandle:Jr,useInsertionEffect:Vr,useLayoutEffect:Kr,useMemo:Wr,useReducer:Fc,useRef:Qr,useState:function(){return Fc(gn)},useDebugValue:lu,useDeferredValue:function(e,t){var l=vt();return Ye===null?nu(l,e,t):Fr(l,Ye.memoizedState,e,t)},useTransition:function(){var e=Fc(gn)[0],t=vt().memoizedState;return[typeof e=="boolean"?e:Ni(e),t]},useSyncExternalStore:Ar,useId:ld,useHostTransitionStatus:iu,useFormState:Yr,useActionState:Yr,useOptimistic:function(e,t){var l=vt();return Ye!==null?Mr(l,Ye,e,t):(l.baseState=e,[e,l.queue.dispatch])},useMemoCache:Ic,useCacheRefresh:nd};ud.useEffectEvent=Zr;function uu(e,t,l,n){t=e.memoizedState,l=l(n,t),l=l==null?t:Y({},t,l),e.memoizedState=l,e.lanes===0&&(e.updateQueue.baseState=l)}var ou={enqueueSetState:function(e,t,l){e=e._reactInternals;var n=Al(),a=Xn(n);a.payload=t,l!=null&&(a.callback=l),t=Zn(e,a,n),t!==null&&(ol(t,e,n),bi(t,e,n))},enqueueReplaceState:function(e,t,l){e=e._reactInternals;var n=Al(),a=Xn(n);a.tag=1,a.payload=t,l!=null&&(a.callback=l),t=Zn(e,a,n),t!==null&&(ol(t,e,n),bi(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var l=Al(),n=Xn(l);n.tag=2,t!=null&&(n.callback=t),t=Zn(e,n,l),t!==null&&(ol(t,e,l),bi(t,e,l))}};function od(e,t,l,n,a,i,c){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,i,c):t.prototype&&t.prototype.isPureReactComponent?!di(l,n)||!di(a,i):!0}function rd(e,t,l,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(l,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(l,n),t.state!==e&&ou.enqueueReplaceState(t,t.state,null)}function Ca(e,t){var l=t;if("ref"in t){l={};for(var n in t)n!=="ref"&&(l[n]=t[n])}if(e=e.defaultProps){l===t&&(l=Y({},l));for(var a in e)l[a]===void 0&&(l[a]=e[a])}return l}function dd(e){ls(e)}function fd(e){console.error(e)}function md(e){ls(e)}function Es(e,t){try{var l=e.onUncaughtError;l(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function hd(e,t,l){try{var n=e.onCaughtError;n(l.value,{componentStack:l.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(a){setTimeout(function(){throw a})}}function ru(e,t,l){return l=Xn(l),l.tag=3,l.payload={element:null},l.callback=function(){Es(e,t)},l}function vd(e){return e=Xn(e),e.tag=3,e}function pd(e,t,l,n){var a=l.type.getDerivedStateFromError;if(typeof a=="function"){var i=n.value;e.payload=function(){return a(i)},e.callback=function(){hd(t,l,n)}}var c=l.stateNode;c!==null&&typeof c.componentDidCatch=="function"&&(e.callback=function(){hd(t,l,n),typeof a!="function"&&(Wn===null?Wn=new Set([this]):Wn.add(this));var r=n.stack;this.componentDidCatch(n.value,{componentStack:r!==null?r:""})})}function Mh(e,t,l,n,a){if(l.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=l.alternate,t!==null&&La(t,l,a,!0),l=Nl.current,l!==null){switch(l.tag){case 31:case 13:return Ul===null?Hs():l.alternate===null&&ut===0&&(ut=3),l.flags&=-257,l.flags|=65536,l.lanes=a,n===fs?l.flags|=16384:(t=l.updateQueue,t===null?l.updateQueue=new Set([n]):t.add(n),wu(e,n,a)),!1;case 22:return l.flags|=65536,n===fs?l.flags|=16384:(t=l.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([n])},l.updateQueue=t):(l=t.retryQueue,l===null?t.retryQueue=new Set([n]):l.add(n)),wu(e,n,a)),!1}throw Error(d(435,l.tag))}return wu(e,n,a),Hs(),!1}if(Te)return t=Nl.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=a,n!==Dc&&(e=Error(d(422),{cause:n}),hi(_l(e,l)))):(n!==Dc&&(t=Error(d(423),{cause:n}),hi(_l(t,l))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,n=_l(n,l),a=ru(e.stateNode,n,a),Gc(e,a),ut!==4&&(ut=2)),!1;var i=Error(d(520),{cause:n});if(i=_l(i,l),Mi===null?Mi=[i]:Mi.push(i),ut!==4&&(ut=2),t===null)return!0;n=_l(n,l),l=t;do{switch(l.tag){case 3:return l.flags|=65536,e=a&-a,l.lanes|=e,e=ru(l.stateNode,n,e),Gc(l,e),!1;case 1:if(t=l.type,i=l.stateNode,(l.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(Wn===null||!Wn.has(i))))return l.flags|=65536,a&=-a,l.lanes|=a,a=vd(a),pd(a,e,l,n),Gc(l,a),!1}l=l.return}while(l!==null);return!1}var du=Error(d(461)),St=!1;function Mt(e,t,l,n){t.child=e===null?Sr(t,null,l,n):Ta(t,e.child,l,n)}function yd(e,t,l,n,a){l=l.render;var i=t.ref;if("ref"in n){var c={};for(var r in n)r!=="ref"&&(c[r]=n[r])}else c=n;return Sa(t),n=Vc(e,t,l,c,i,a),r=Kc(),e!==null&&!St?($c(e,t,a),bn(e,t,a)):(Te&&r&&Ac(t),t.flags|=1,Mt(e,t,n,a),t.child)}function gd(e,t,l,n,a){if(e===null){var i=l.type;return typeof i=="function"&&!Tc(i)&&i.defaultProps===void 0&&l.compare===null?(t.tag=15,t.type=i,bd(e,t,i,n,a)):(e=ss(l.type,null,n,t,t.mode,a),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!bu(e,a)){var c=i.memoizedProps;if(l=l.compare,l=l!==null?l:di,l(c,n)&&e.ref===t.ref)return bn(e,t,a)}return t.flags|=1,e=mn(i,n),e.ref=t.ref,e.return=t,t.child=e}function bd(e,t,l,n,a){if(e!==null){var i=e.memoizedProps;if(di(i,n)&&e.ref===t.ref)if(St=!1,t.pendingProps=n=i,bu(e,a))(e.flags&131072)!==0&&(St=!0);else return t.lanes=e.lanes,bn(e,t,a)}return fu(e,t,l,n,a)}function Sd(e,t,l,n){var a=n.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|l:l,e!==null){for(n=t.child=e.child,a=0;n!==null;)a=a|n.lanes|n.childLanes,n=n.sibling;n=a&~i}else n=0,t.child=null;return xd(e,t,i,l,n)}if((l&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&rs(t,i!==null?i.cachePool:null),i!==null?Nr(t,i):Yc(),Tr(t);else return n=t.lanes=536870912,xd(e,t,i!==null?i.baseLanes|l:l,l,n)}else i!==null?(rs(t,i.cachePool),Nr(t,i),Kn(),t.memoizedState=null):(e!==null&&rs(t,null),Yc(),Kn());return Mt(e,t,a,l),t.child}function Ci(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function xd(e,t,l,n,a){var i=Uc();return i=i===null?null:{parent:gt._currentValue,pool:i},t.memoizedState={baseLanes:l,cachePool:i},e!==null&&rs(t,null),Yc(),Tr(t),e!==null&&La(e,t,n,!0),t.childLanes=a,null}function Cs(e,t){return t=Rs({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function jd(e,t,l){return Ta(t,e.child,null,l),e=Cs(t,t.pendingProps),e.flags|=2,Tl(t),t.memoizedState=null,e}function kh(e,t,l){var n=t.pendingProps,a=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Te){if(n.mode==="hidden")return e=Cs(t,n),t.lanes=536870912,Ci(null,e);if(Xc(t),(e=Fe)?(e=wf(e,wl),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ln!==null?{id:nn,overflow:an}:null,retryLane:536870912,hydrationErrors:null},l=ir(e),l.return=t,t.child=l,zt=t,Fe=null)):e=null,e===null)throw Bn(t);return t.lanes=536870912,null}return Cs(t,n)}var i=e.memoizedState;if(i!==null){var c=i.dehydrated;if(Xc(t),a)if(t.flags&256)t.flags&=-257,t=jd(e,t,l);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(d(558));else if(St||La(e,t,l,!1),a=(l&e.childLanes)!==0,St||a){if(n=Ke,n!==null&&(c=pl(n,l),c!==0&&c!==i.retryLane))throw i.retryLane=c,pa(e,c),ol(n,e,c),du;Hs(),t=jd(e,t,l)}else e=i.treeContext,Fe=Hl(c.nextSibling),zt=t,Te=!0,Gn=null,wl=!1,e!==null&&ur(t,e),t=Cs(t,n),t.flags|=4096;return t}return e=mn(e.child,{mode:n.mode,children:n.children}),e.ref=t.ref,t.child=e,e.return=t,e}function As(e,t){var l=t.ref;if(l===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof l!="function"&&typeof l!="object")throw Error(d(284));(e===null||e.ref!==l)&&(t.flags|=4194816)}}function fu(e,t,l,n,a){return Sa(t),l=Vc(e,t,l,n,void 0,a),n=Kc(),e!==null&&!St?($c(e,t,a),bn(e,t,a)):(Te&&n&&Ac(t),t.flags|=1,Mt(e,t,l,a),t.child)}function Nd(e,t,l,n,a,i){return Sa(t),t.updateQueue=null,l=Cr(t,n,l,a),Er(e),n=Kc(),e!==null&&!St?($c(e,t,i),bn(e,t,i)):(Te&&n&&Ac(t),t.flags|=1,Mt(e,t,l,i),t.child)}function Td(e,t,l,n,a){if(Sa(t),t.stateNode===null){var i=wa,c=l.contextType;typeof c=="object"&&c!==null&&(i=_t(c)),i=new l(n,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=ou,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=n,i.state=t.memoizedState,i.refs={},qc(t),c=l.contextType,i.context=typeof c=="object"&&c!==null?_t(c):wa,i.state=t.memoizedState,c=l.getDerivedStateFromProps,typeof c=="function"&&(uu(t,l,c,n),i.state=t.memoizedState),typeof l.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(c=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),c!==i.state&&ou.enqueueReplaceState(i,i.state,null),xi(t,n,i,a),Si(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(e===null){i=t.stateNode;var r=t.memoizedProps,h=Ca(l,r);i.props=h;var N=i.context,_=l.contextType;c=wa,typeof _=="object"&&_!==null&&(c=_t(_));var w=l.getDerivedStateFromProps;_=typeof w=="function"||typeof i.getSnapshotBeforeUpdate=="function",r=t.pendingProps!==r,_||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r||N!==c)&&rd(t,i,n,c),Qn=!1;var E=t.memoizedState;i.state=E,xi(t,n,i,a),Si(),N=t.memoizedState,r||E!==N||Qn?(typeof w=="function"&&(uu(t,l,w,n),N=t.memoizedState),(h=Qn||od(t,l,h,n,E,N,c))?(_||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=N),i.props=n,i.state=N,i.context=c,n=h):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{i=t.stateNode,Lc(e,t),c=t.memoizedProps,_=Ca(l,c),i.props=_,w=t.pendingProps,E=i.context,N=l.contextType,h=wa,typeof N=="object"&&N!==null&&(h=_t(N)),r=l.getDerivedStateFromProps,(N=typeof r=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(c!==w||E!==h)&&rd(t,i,n,h),Qn=!1,E=t.memoizedState,i.state=E,xi(t,n,i,a),Si();var A=t.memoizedState;c!==w||E!==A||Qn||e!==null&&e.dependencies!==null&&us(e.dependencies)?(typeof r=="function"&&(uu(t,l,r,n),A=t.memoizedState),(_=Qn||od(t,l,_,n,E,A,h)||e!==null&&e.dependencies!==null&&us(e.dependencies))?(N||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(n,A,h),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(n,A,h)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||c===e.memoizedProps&&E===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&E===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=A),i.props=n,i.state=A,i.context=h,n=_):(typeof i.componentDidUpdate!="function"||c===e.memoizedProps&&E===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&E===e.memoizedState||(t.flags|=1024),n=!1)}return i=n,As(e,t),n=(t.flags&128)!==0,i||n?(i=t.stateNode,l=n&&typeof l.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&n?(t.child=Ta(t,e.child,null,a),t.child=Ta(t,null,l,a)):Mt(e,t,l,a),t.memoizedState=i.state,e=t.child):e=bn(e,t,a),e}function Ed(e,t,l,n){return ga(),t.flags|=256,Mt(e,t,l,n),t.child}var mu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function hu(e){return{baseLanes:e,cachePool:hr()}}function vu(e,t,l){return e=e!==null?e.childLanes&~l:0,t&&(e|=Cl),e}function Cd(e,t,l){var n=t.pendingProps,a=!1,i=(t.flags&128)!==0,c;if((c=i)||(c=e!==null&&e.memoizedState===null?!1:(ht.current&2)!==0),c&&(a=!0,t.flags&=-129),c=(t.flags&32)!==0,t.flags&=-33,e===null){if(Te){if(a?Vn(t):Kn(),(e=Fe)?(e=wf(e,wl),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ln!==null?{id:nn,overflow:an}:null,retryLane:536870912,hydrationErrors:null},l=ir(e),l.return=t,t.child=l,zt=t,Fe=null)):e=null,e===null)throw Bn(t);return Wu(e)?t.lanes=32:t.lanes=536870912,null}var r=n.children;return n=n.fallback,a?(Kn(),a=t.mode,r=Rs({mode:"hidden",children:r},a),n=ya(n,a,l,null),r.return=t,n.return=t,r.sibling=n,t.child=r,n=t.child,n.memoizedState=hu(l),n.childLanes=vu(e,c,l),t.memoizedState=mu,Ci(null,n)):(Vn(t),pu(t,r))}var h=e.memoizedState;if(h!==null&&(r=h.dehydrated,r!==null)){if(i)t.flags&256?(Vn(t),t.flags&=-257,t=yu(e,t,l)):t.memoizedState!==null?(Kn(),t.child=e.child,t.flags|=128,t=null):(Kn(),r=n.fallback,a=t.mode,n=Rs({mode:"visible",children:n.children},a),r=ya(r,a,l,null),r.flags|=2,n.return=t,r.return=t,n.sibling=r,t.child=n,Ta(t,e.child,null,l),n=t.child,n.memoizedState=hu(l),n.childLanes=vu(e,c,l),t.memoizedState=mu,t=Ci(null,n));else if(Vn(t),Wu(r)){if(c=r.nextSibling&&r.nextSibling.dataset,c)var N=c.dgst;c=N,n=Error(d(419)),n.stack="",n.digest=c,hi({value:n,source:null,stack:null}),t=yu(e,t,l)}else if(St||La(e,t,l,!1),c=(l&e.childLanes)!==0,St||c){if(c=Ke,c!==null&&(n=pl(c,l),n!==0&&n!==h.retryLane))throw h.retryLane=n,pa(e,n),ol(c,e,n),du;Iu(r)||Hs(),t=yu(e,t,l)}else Iu(r)?(t.flags|=192,t.child=e.child,t=null):(e=h.treeContext,Fe=Hl(r.nextSibling),zt=t,Te=!0,Gn=null,wl=!1,e!==null&&ur(t,e),t=pu(t,n.children),t.flags|=4096);return t}return a?(Kn(),r=n.fallback,a=t.mode,h=e.child,N=h.sibling,n=mn(h,{mode:"hidden",children:n.children}),n.subtreeFlags=h.subtreeFlags&65011712,N!==null?r=mn(N,r):(r=ya(r,a,l,null),r.flags|=2),r.return=t,n.return=t,n.sibling=r,t.child=n,Ci(null,n),n=t.child,r=e.child.memoizedState,r===null?r=hu(l):(a=r.cachePool,a!==null?(h=gt._currentValue,a=a.parent!==h?{parent:h,pool:h}:a):a=hr(),r={baseLanes:r.baseLanes|l,cachePool:a}),n.memoizedState=r,n.childLanes=vu(e,c,l),t.memoizedState=mu,Ci(e.child,n)):(Vn(t),l=e.child,e=l.sibling,l=mn(l,{mode:"visible",children:n.children}),l.return=t,l.sibling=null,e!==null&&(c=t.deletions,c===null?(t.deletions=[e],t.flags|=16):c.push(e)),t.child=l,t.memoizedState=null,l)}function pu(e,t){return t=Rs({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Rs(e,t){return e=jl(22,e,null,t),e.lanes=0,e}function yu(e,t,l){return Ta(t,e.child,null,l),e=pu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ad(e,t,l){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),_c(e.return,t,l)}function gu(e,t,l,n,a,i){var c=e.memoizedState;c===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:l,tailMode:a,treeForkCount:i}:(c.isBackwards=t,c.rendering=null,c.renderingStartTime=0,c.last=n,c.tail=l,c.tailMode=a,c.treeForkCount=i)}function Rd(e,t,l){var n=t.pendingProps,a=n.revealOrder,i=n.tail;n=n.children;var c=ht.current,r=(c&2)!==0;if(r?(c=c&1|2,t.flags|=128):c&=1,X(ht,c),Mt(e,t,n,l),n=Te?mi:0,!r&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ad(e,l,t);else if(e.tag===19)Ad(e,l,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(a){case"forwards":for(l=t.child,a=null;l!==null;)e=l.alternate,e!==null&&ps(e)===null&&(a=l),l=l.sibling;l=a,l===null?(a=t.child,t.child=null):(a=l.sibling,l.sibling=null),gu(t,!1,a,l,i,n);break;case"backwards":case"unstable_legacy-backwards":for(l=null,a=t.child,t.child=null;a!==null;){if(e=a.alternate,e!==null&&ps(e)===null){t.child=a;break}e=a.sibling,a.sibling=l,l=a,a=e}gu(t,!0,l,null,i,n);break;case"together":gu(t,!1,null,null,void 0,n);break;default:t.memoizedState=null}return t.child}function bn(e,t,l){if(e!==null&&(t.dependencies=e.dependencies),In|=t.lanes,(l&t.childLanes)===0)if(e!==null){if(La(e,t,l,!1),(l&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(d(153));if(t.child!==null){for(e=t.child,l=mn(e,e.pendingProps),t.child=l,l.return=t;e.sibling!==null;)e=e.sibling,l=l.sibling=mn(e,e.pendingProps),l.return=t;l.sibling=null}return t.child}function bu(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&us(e)))}function wh(e,t,l){switch(t.tag){case 3:rt(t,t.stateNode.containerInfo),Yn(t,gt,e.memoizedState.cache),ga();break;case 27:case 5:Gl(t);break;case 4:rt(t,t.stateNode.containerInfo);break;case 10:Yn(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Xc(t),null;break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(Vn(t),t.flags|=128,null):(l&t.child.childLanes)!==0?Cd(e,t,l):(Vn(t),e=bn(e,t,l),e!==null?e.sibling:null);Vn(t);break;case 19:var a=(e.flags&128)!==0;if(n=(l&t.childLanes)!==0,n||(La(e,t,l,!1),n=(l&t.childLanes)!==0),a){if(n)return Rd(e,t,l);t.flags|=128}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),X(ht,ht.current),n)break;return null;case 22:return t.lanes=0,Sd(e,t,l,t.pendingProps);case 24:Yn(t,gt,e.memoizedState.cache)}return bn(e,t,l)}function Dd(e,t,l){if(e!==null)if(e.memoizedProps!==t.pendingProps)St=!0;else{if(!bu(e,l)&&(t.flags&128)===0)return St=!1,wh(e,t,l);St=(e.flags&131072)!==0}else St=!1,Te&&(t.flags&1048576)!==0&&cr(t,mi,t.index);switch(t.lanes=0,t.tag){case 16:e:{var n=t.pendingProps;if(e=ja(t.elementType),t.type=e,typeof e=="function")Tc(e)?(n=Ca(e,n),t.tag=1,t=Td(null,t,e,n,l)):(t.tag=0,t=fu(null,t,e,n,l));else{if(e!=null){var a=e.$$typeof;if(a===pt){t.tag=11,t=yd(null,t,e,n,l);break e}else if(a===re){t.tag=14,t=gd(null,t,e,n,l);break e}}throw t=tt(e)||e,Error(d(306,t,""))}}return t;case 0:return fu(e,t,t.type,t.pendingProps,l);case 1:return n=t.type,a=Ca(n,t.pendingProps),Td(e,t,n,a,l);case 3:e:{if(rt(t,t.stateNode.containerInfo),e===null)throw Error(d(387));n=t.pendingProps;var i=t.memoizedState;a=i.element,Lc(e,t),xi(t,n,null,l);var c=t.memoizedState;if(n=c.cache,Yn(t,gt,n),n!==i.cache&&Mc(t,[gt],l,!0),Si(),n=c.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:c.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Ed(e,t,n,l);break e}else if(n!==a){a=_l(Error(d(424)),t),hi(a),t=Ed(e,t,n,l);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Fe=Hl(e.firstChild),zt=t,Te=!0,Gn=null,wl=!0,l=Sr(t,null,n,l),t.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling;else{if(ga(),n===a){t=bn(e,t,l);break e}Mt(e,t,n,l)}t=t.child}return t;case 26:return As(e,t),e===null?(l=Bf(t.type,null,t.pendingProps,null))?t.memoizedState=l:Te||(l=t.type,e=t.pendingProps,n=Xs(de.current).createElement(l),n[Ie]=t,n[ft]=e,kt(n,l,e),Ue(n),t.stateNode=n):t.memoizedState=Bf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Gl(t),e===null&&Te&&(n=t.stateNode=qf(t.type,t.pendingProps,de.current),zt=t,wl=!0,a=Fe,ta(t.type)?(Fu=a,Fe=Hl(n.firstChild)):Fe=a),Mt(e,t,t.pendingProps.children,l),As(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Te&&((a=n=Fe)&&(n=dv(n,t.type,t.pendingProps,wl),n!==null?(t.stateNode=n,zt=t,Fe=Hl(n.firstChild),wl=!1,a=!0):a=!1),a||Bn(t)),Gl(t),a=t.type,i=t.pendingProps,c=e!==null?e.memoizedProps:null,n=i.children,Ku(a,i)?n=null:c!==null&&Ku(a,c)&&(t.flags|=32),t.memoizedState!==null&&(a=Vc(e,t,Ch,null,null,l),Bi._currentValue=a),As(e,t),Mt(e,t,n,l),t.child;case 6:return e===null&&Te&&((e=l=Fe)&&(l=fv(l,t.pendingProps,wl),l!==null?(t.stateNode=l,zt=t,Fe=null,e=!0):e=!1),e||Bn(t)),null;case 13:return Cd(e,t,l);case 4:return rt(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=Ta(t,null,n,l):Mt(e,t,n,l),t.child;case 11:return yd(e,t,t.type,t.pendingProps,l);case 7:return Mt(e,t,t.pendingProps,l),t.child;case 8:return Mt(e,t,t.pendingProps.children,l),t.child;case 12:return Mt(e,t,t.pendingProps.children,l),t.child;case 10:return n=t.pendingProps,Yn(t,t.type,n.value),Mt(e,t,n.children,l),t.child;case 9:return a=t.type._context,n=t.pendingProps.children,Sa(t),a=_t(a),n=n(a),t.flags|=1,Mt(e,t,n,l),t.child;case 14:return gd(e,t,t.type,t.pendingProps,l);case 15:return bd(e,t,t.type,t.pendingProps,l);case 19:return Rd(e,t,l);case 31:return kh(e,t,l);case 22:return Sd(e,t,l,t.pendingProps);case 24:return Sa(t),n=_t(gt),e===null?(a=Uc(),a===null&&(a=Ke,i=kc(),a.pooledCache=i,i.refCount++,i!==null&&(a.pooledCacheLanes|=l),a=i),t.memoizedState={parent:n,cache:a},qc(t),Yn(t,gt,a)):((e.lanes&l)!==0&&(Lc(e,t),xi(t,null,null,l),Si()),a=e.memoizedState,i=t.memoizedState,a.parent!==n?(a={parent:n,cache:n},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),Yn(t,gt,n)):(n=i.cache,Yn(t,gt,n),n!==a.cache&&Mc(t,[gt],l,!0))),Mt(e,t,t.pendingProps.children,l),t.child;case 29:throw t.pendingProps}throw Error(d(156,t.tag))}function Sn(e){e.flags|=4}function Su(e,t,l,n,a){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(a&335544128)===a)if(e.stateNode.complete)e.flags|=8192;else if(lf())e.flags|=8192;else throw Na=fs,Hc}else e.flags&=-16777217}function Od(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Vf(t))if(lf())e.flags|=8192;else throw Na=fs,Hc}function Ds(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Mn():536870912,e.lanes|=t,Wa|=t)}function Ai(e,t){if(!Te)switch(e.tailMode){case"hidden":t=e.tail;for(var l=null;t!==null;)t.alternate!==null&&(l=t),t=t.sibling;l===null?e.tail=null:l.sibling=null;break;case"collapsed":l=e.tail;for(var n=null;l!==null;)l.alternate!==null&&(n=l),l=l.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,l=0,n=0;if(t)for(var a=e.child;a!==null;)l|=a.lanes|a.childLanes,n|=a.subtreeFlags&65011712,n|=a.flags&65011712,a.return=e,a=a.sibling;else for(a=e.child;a!==null;)l|=a.lanes|a.childLanes,n|=a.subtreeFlags,n|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=n,e.childLanes=l,t}function Uh(e,t,l){var n=t.pendingProps;switch(Rc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Pe(t),null;case 1:return Pe(t),null;case 3:return l=t.stateNode,n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),pn(gt),Re(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(e===null||e.child===null)&&(qa(t)?Sn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Oc())),Pe(t),null;case 26:var a=t.type,i=t.memoizedState;return e===null?(Sn(t),i!==null?(Pe(t),Od(t,i)):(Pe(t),Su(t,a,null,n,l))):i?i!==e.memoizedState?(Sn(t),Pe(t),Od(t,i)):(Pe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==n&&Sn(t),Pe(t),Su(t,a,e,n,l)),null;case 27:if(rl(t),l=de.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&Sn(t);else{if(!n){if(t.stateNode===null)throw Error(d(166));return Pe(t),null}e=L.current,qa(t)?or(t):(e=qf(a,n,l),t.stateNode=e,Sn(t))}return Pe(t),null;case 5:if(rl(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&Sn(t);else{if(!n){if(t.stateNode===null)throw Error(d(166));return Pe(t),null}if(i=L.current,qa(t))or(t);else{var c=Xs(de.current);switch(i){case 1:i=c.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:i=c.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":i=c.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":i=c.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":i=c.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof n.is=="string"?c.createElement("select",{is:n.is}):c.createElement("select"),n.multiple?i.multiple=!0:n.size&&(i.size=n.size);break;default:i=typeof n.is=="string"?c.createElement(a,{is:n.is}):c.createElement(a)}}i[Ie]=t,i[ft]=n;e:for(c=t.child;c!==null;){if(c.tag===5||c.tag===6)i.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===t)break e;for(;c.sibling===null;){if(c.return===null||c.return===t)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}t.stateNode=i;e:switch(kt(i,a,n),a){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&Sn(t)}}return Pe(t),Su(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,l),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&Sn(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(d(166));if(e=de.current,qa(t)){if(e=t.stateNode,l=t.memoizedProps,n=null,a=zt,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}e[Ie]=t,e=!!(e.nodeValue===l||n!==null&&n.suppressHydrationWarning===!0||Af(e.nodeValue,l)),e||Bn(t,!0)}else e=Xs(e).createTextNode(n),e[Ie]=t,t.stateNode=e}return Pe(t),null;case 31:if(l=t.memoizedState,e===null||e.memoizedState!==null){if(n=qa(t),l!==null){if(e===null){if(!n)throw Error(d(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(d(557));e[Ie]=t}else ga(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Pe(t),e=!1}else l=Oc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return t.flags&256?(Tl(t),t):(Tl(t),null);if((t.flags&128)!==0)throw Error(d(558))}return Pe(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=qa(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(d(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(d(317));a[Ie]=t}else ga(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Pe(t),a=!1}else a=Oc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Tl(t),t):(Tl(t),null)}return Tl(t),(t.flags&128)!==0?(t.lanes=l,t):(l=n!==null,e=e!==null&&e.memoizedState!==null,l&&(n=t.child,a=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(a=n.alternate.memoizedState.cachePool.pool),i=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),i!==a&&(n.flags|=2048)),l!==e&&l&&(t.child.flags|=8192),Ds(t,t.updateQueue),Pe(t),null);case 4:return Re(),e===null&&Yu(t.stateNode.containerInfo),Pe(t),null;case 10:return pn(t.type),Pe(t),null;case 19:if(M(ht),n=t.memoizedState,n===null)return Pe(t),null;if(a=(t.flags&128)!==0,i=n.rendering,i===null)if(a)Ai(n,!1);else{if(ut!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=ps(e),i!==null){for(t.flags|=128,Ai(n,!1),e=i.updateQueue,t.updateQueue=e,Ds(t,e),t.subtreeFlags=0,e=l,l=t.child;l!==null;)ar(l,e),l=l.sibling;return X(ht,ht.current&1|2),Te&&hn(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&it()>ks&&(t.flags|=128,a=!0,Ai(n,!1),t.lanes=4194304)}else{if(!a)if(e=ps(i),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Ds(t,e),Ai(n,!0),n.tail===null&&n.tailMode==="hidden"&&!i.alternate&&!Te)return Pe(t),null}else 2*it()-n.renderingStartTime>ks&&l!==536870912&&(t.flags|=128,a=!0,Ai(n,!1),t.lanes=4194304);n.isBackwards?(i.sibling=t.child,t.child=i):(e=n.last,e!==null?e.sibling=i:t.child=i,n.last=i)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=it(),e.sibling=null,l=ht.current,X(ht,a?l&1|2:l&1),Te&&hn(t,n.treeForkCount),e):(Pe(t),null);case 22:case 23:return Tl(t),Qc(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(l&536870912)!==0&&(t.flags&128)===0&&(Pe(t),t.subtreeFlags&6&&(t.flags|=8192)):Pe(t),l=t.updateQueue,l!==null&&Ds(t,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==l&&(t.flags|=2048),e!==null&&M(xa),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),pn(gt),Pe(t),null;case 25:return null;case 30:return null}throw Error(d(156,t.tag))}function Hh(e,t){switch(Rc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pn(gt),Re(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return rl(t),null;case 31:if(t.memoizedState!==null){if(Tl(t),t.alternate===null)throw Error(d(340));ga()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Tl(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(d(340));ga()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return M(ht),null;case 4:return Re(),null;case 10:return pn(t.type),null;case 22:case 23:return Tl(t),Qc(),e!==null&&M(xa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return pn(gt),null;case 25:return null;default:return null}}function zd(e,t){switch(Rc(t),t.tag){case 3:pn(gt),Re();break;case 26:case 27:case 5:rl(t);break;case 4:Re();break;case 31:t.memoizedState!==null&&Tl(t);break;case 13:Tl(t);break;case 19:M(ht);break;case 10:pn(t.type);break;case 22:case 23:Tl(t),Qc(),e!==null&&M(xa);break;case 24:pn(gt)}}function Ri(e,t){try{var l=t.updateQueue,n=l!==null?l.lastEffect:null;if(n!==null){var a=n.next;l=a;do{if((l.tag&e)===e){n=void 0;var i=l.create,c=l.inst;n=i(),c.destroy=n}l=l.next}while(l!==a)}}catch(r){Le(t,t.return,r)}}function $n(e,t,l){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var i=a.next;n=i;do{if((n.tag&e)===e){var c=n.inst,r=c.destroy;if(r!==void 0){c.destroy=void 0,a=t;var h=l,N=r;try{N()}catch(_){Le(a,h,_)}}}n=n.next}while(n!==i)}}catch(_){Le(t,t.return,_)}}function _d(e){var t=e.updateQueue;if(t!==null){var l=e.stateNode;try{jr(t,l)}catch(n){Le(e,e.return,n)}}}function Md(e,t,l){l.props=Ca(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(n){Le(e,t,n)}}function Di(e,t){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof l=="function"?e.refCleanup=l(n):l.current=n}}catch(a){Le(e,t,a)}}function sn(e,t){var l=e.ref,n=e.refCleanup;if(l!==null)if(typeof n=="function")try{n()}catch(a){Le(e,t,a)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(a){Le(e,t,a)}else l.current=null}function kd(e){var t=e.type,l=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break e;case"img":l.src?n.src=l.src:l.srcSet&&(n.srcset=l.srcSet)}}catch(a){Le(e,e.return,a)}}function xu(e,t,l){try{var n=e.stateNode;iv(n,e.type,l,t),n[ft]=t}catch(a){Le(e,e.return,a)}}function wd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ta(e.type)||e.tag===4}function ju(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||wd(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&&ta(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 Nu(e,t,l){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,t):(t=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,t.appendChild(e),l=l._reactRootContainer,l!=null||t.onclick!==null||(t.onclick=p));else if(n!==4&&(n===27&&ta(e.type)&&(l=e.stateNode,t=null),e=e.child,e!==null))for(Nu(e,t,l),e=e.sibling;e!==null;)Nu(e,t,l),e=e.sibling}function Os(e,t,l){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?l.insertBefore(e,t):l.appendChild(e);else if(n!==4&&(n===27&&ta(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(Os(e,t,l),e=e.sibling;e!==null;)Os(e,t,l),e=e.sibling}function Ud(e){var t=e.stateNode,l=e.memoizedProps;try{for(var n=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);kt(t,n,l),t[Ie]=e,t[ft]=l}catch(i){Le(e,e.return,i)}}var xn=!1,xt=!1,Tu=!1,Hd=typeof WeakSet=="function"?WeakSet:Set,Et=null;function qh(e,t){if(e=e.containerInfo,Zu=Ws,e=Jo(e),yc(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else e:{l=(l=e.ownerDocument)&&l.defaultView||window;var n=l.getSelection&&l.getSelection();if(n&&n.rangeCount!==0){l=n.anchorNode;var a=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{l.nodeType,i.nodeType}catch{l=null;break e}var c=0,r=-1,h=-1,N=0,_=0,w=e,E=null;t:for(;;){for(var A;w!==l||a!==0&&w.nodeType!==3||(r=c+a),w!==i||n!==0&&w.nodeType!==3||(h=c+n),w.nodeType===3&&(c+=w.nodeValue.length),(A=w.firstChild)!==null;)E=w,w=A;for(;;){if(w===e)break t;if(E===l&&++N===a&&(r=c),E===i&&++_===n&&(h=c),(A=w.nextSibling)!==null)break;w=E,E=w.parentNode}w=A}l=r===-1||h===-1?null:{start:r,end:h}}else l=null}l=l||{start:0,end:0}}else l=null;for(Vu={focusedElem:e,selectionRange:l},Ws=!1,Et=t;Et!==null;)if(t=Et,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Et=e;else for(;Et!==null;){switch(t=Et,i=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(l=0;l<e.length;l++)a=e[l],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,l=t,a=i.memoizedProps,i=i.memoizedState,n=l.stateNode;try{var I=Ca(l.type,a);e=n.getSnapshotBeforeUpdate(I,i),n.__reactInternalSnapshotBeforeUpdate=e}catch(ae){Le(l,l.return,ae)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,l=e.nodeType,l===9)Ju(e);else if(l===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Ju(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(d(163))}if(e=t.sibling,e!==null){e.return=t.return,Et=e;break}Et=t.return}}function qd(e,t,l){var n=l.flags;switch(l.tag){case 0:case 11:case 15:Nn(e,l),n&4&&Ri(5,l);break;case 1:if(Nn(e,l),n&4)if(e=l.stateNode,t===null)try{e.componentDidMount()}catch(c){Le(l,l.return,c)}else{var a=Ca(l.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(a,t,e.__reactInternalSnapshotBeforeUpdate)}catch(c){Le(l,l.return,c)}}n&64&&_d(l),n&512&&Di(l,l.return);break;case 3:if(Nn(e,l),n&64&&(e=l.updateQueue,e!==null)){if(t=null,l.child!==null)switch(l.child.tag){case 27:case 5:t=l.child.stateNode;break;case 1:t=l.child.stateNode}try{jr(e,t)}catch(c){Le(l,l.return,c)}}break;case 27:t===null&&n&4&&Ud(l);case 26:case 5:Nn(e,l),t===null&&n&4&&kd(l),n&512&&Di(l,l.return);break;case 12:Nn(e,l);break;case 31:Nn(e,l),n&4&&Bd(e,l);break;case 13:Nn(e,l),n&4&&Yd(e,l),n&64&&(e=l.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(l=Kh.bind(null,l),mv(e,l))));break;case 22:if(n=l.memoizedState!==null||xn,!n){t=t!==null&&t.memoizedState!==null||xt,a=xn;var i=xt;xn=n,(xt=t)&&!i?Tn(e,l,(l.subtreeFlags&8772)!==0):Nn(e,l),xn=a,xt=i}break;case 30:break;default:Nn(e,l)}}function Ld(e){var t=e.alternate;t!==null&&(e.alternate=null,Ld(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&bl(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var lt=null,il=!1;function jn(e,t,l){for(l=l.child;l!==null;)Gd(e,t,l),l=l.sibling}function Gd(e,t,l){if(ee&&typeof ee.onCommitFiberUnmount=="function")try{ee.onCommitFiberUnmount(Qt,l)}catch{}switch(l.tag){case 26:xt||sn(l,t),jn(e,t,l),l.memoizedState?l.memoizedState.count--:l.stateNode&&(l=l.stateNode,l.parentNode.removeChild(l));break;case 27:xt||sn(l,t);var n=lt,a=il;ta(l.type)&&(lt=l.stateNode,il=!1),jn(e,t,l),qi(l.stateNode),lt=n,il=a;break;case 5:xt||sn(l,t);case 6:if(n=lt,a=il,lt=null,jn(e,t,l),lt=n,il=a,lt!==null)if(il)try{(lt.nodeType===9?lt.body:lt.nodeName==="HTML"?lt.ownerDocument.body:lt).removeChild(l.stateNode)}catch(i){Le(l,t,i)}else try{lt.removeChild(l.stateNode)}catch(i){Le(l,t,i)}break;case 18:lt!==null&&(il?(e=lt,Mf(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.stateNode),ii(e)):Mf(lt,l.stateNode));break;case 4:n=lt,a=il,lt=l.stateNode.containerInfo,il=!0,jn(e,t,l),lt=n,il=a;break;case 0:case 11:case 14:case 15:$n(2,l,t),xt||$n(4,l,t),jn(e,t,l);break;case 1:xt||(sn(l,t),n=l.stateNode,typeof n.componentWillUnmount=="function"&&Md(l,t,n)),jn(e,t,l);break;case 21:jn(e,t,l);break;case 22:xt=(n=xt)||l.memoizedState!==null,jn(e,t,l),xt=n;break;default:jn(e,t,l)}}function Bd(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{ii(e)}catch(l){Le(t,t.return,l)}}}function Yd(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{ii(e)}catch(l){Le(t,t.return,l)}}function Lh(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Hd),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Hd),t;default:throw Error(d(435,e.tag))}}function zs(e,t){var l=Lh(e);t.forEach(function(n){if(!l.has(n)){l.add(n);var a=$h.bind(null,e,n);n.then(a,a)}})}function sl(e,t){var l=t.deletions;if(l!==null)for(var n=0;n<l.length;n++){var a=l[n],i=e,c=t,r=c;e:for(;r!==null;){switch(r.tag){case 27:if(ta(r.type)){lt=r.stateNode,il=!1;break e}break;case 5:lt=r.stateNode,il=!1;break e;case 3:case 4:lt=r.stateNode.containerInfo,il=!0;break e}r=r.return}if(lt===null)throw Error(d(160));Gd(i,c,a),lt=null,il=!1,i=a.alternate,i!==null&&(i.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Qd(t,e),t=t.sibling}var Jl=null;function Qd(e,t){var l=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:sl(t,e),cl(e),n&4&&($n(3,e,e.return),Ri(3,e),$n(5,e,e.return));break;case 1:sl(t,e),cl(e),n&512&&(xt||l===null||sn(l,l.return)),n&64&&xn&&(e=e.updateQueue,e!==null&&(n=e.callbacks,n!==null&&(l=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=l===null?n:l.concat(n))));break;case 26:var a=Jl;if(sl(t,e),cl(e),n&512&&(xt||l===null||sn(l,l.return)),n&4){var i=l!==null?l.memoizedState:null;if(n=e.memoizedState,l===null)if(n===null)if(e.stateNode===null){e:{n=e.type,l=e.memoizedProps,a=a.ownerDocument||a;t:switch(n){case"title":i=a.getElementsByTagName("title")[0],(!i||i[gl]||i[Ie]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=a.createElement(n),a.head.insertBefore(i,a.querySelector("head > title"))),kt(i,n,l),i[Ie]=e,Ue(i),n=i;break e;case"link":var c=Xf("link","href",a).get(n+(l.href||""));if(c){for(var r=0;r<c.length;r++)if(i=c[r],i.getAttribute("href")===(l.href==null||l.href===""?null:l.href)&&i.getAttribute("rel")===(l.rel==null?null:l.rel)&&i.getAttribute("title")===(l.title==null?null:l.title)&&i.getAttribute("crossorigin")===(l.crossOrigin==null?null:l.crossOrigin)){c.splice(r,1);break t}}i=a.createElement(n),kt(i,n,l),a.head.appendChild(i);break;case"meta":if(c=Xf("meta","content",a).get(n+(l.content||""))){for(r=0;r<c.length;r++)if(i=c[r],i.getAttribute("content")===(l.content==null?null:""+l.content)&&i.getAttribute("name")===(l.name==null?null:l.name)&&i.getAttribute("property")===(l.property==null?null:l.property)&&i.getAttribute("http-equiv")===(l.httpEquiv==null?null:l.httpEquiv)&&i.getAttribute("charset")===(l.charSet==null?null:l.charSet)){c.splice(r,1);break t}}i=a.createElement(n),kt(i,n,l),a.head.appendChild(i);break;default:throw Error(d(468,n))}i[Ie]=e,Ue(i),n=i}e.stateNode=n}else Zf(a,e.type,e.stateNode);else e.stateNode=Qf(a,n,e.memoizedProps);else i!==n?(i===null?l.stateNode!==null&&(l=l.stateNode,l.parentNode.removeChild(l)):i.count--,n===null?Zf(a,e.type,e.stateNode):Qf(a,n,e.memoizedProps)):n===null&&e.stateNode!==null&&xu(e,e.memoizedProps,l.memoizedProps)}break;case 27:sl(t,e),cl(e),n&512&&(xt||l===null||sn(l,l.return)),l!==null&&n&4&&xu(e,e.memoizedProps,l.memoizedProps);break;case 5:if(sl(t,e),cl(e),n&512&&(xt||l===null||sn(l,l.return)),e.flags&32){a=e.stateNode;try{Kt(a,"")}catch(I){Le(e,e.return,I)}}n&4&&e.stateNode!=null&&(a=e.memoizedProps,xu(e,a,l!==null?l.memoizedProps:a)),n&1024&&(Tu=!0);break;case 6:if(sl(t,e),cl(e),n&4){if(e.stateNode===null)throw Error(d(162));n=e.memoizedProps,l=e.stateNode;try{l.nodeValue=n}catch(I){Le(e,e.return,I)}}break;case 3:if(Ks=null,a=Jl,Jl=Zs(t.containerInfo),sl(t,e),Jl=a,cl(e),n&4&&l!==null&&l.memoizedState.isDehydrated)try{ii(t.containerInfo)}catch(I){Le(e,e.return,I)}Tu&&(Tu=!1,Xd(e));break;case 4:n=Jl,Jl=Zs(e.stateNode.containerInfo),sl(t,e),cl(e),Jl=n;break;case 12:sl(t,e),cl(e);break;case 31:sl(t,e),cl(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,zs(e,n)));break;case 13:sl(t,e),cl(e),e.child.flags&8192&&e.memoizedState!==null!=(l!==null&&l.memoizedState!==null)&&(Ms=it()),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,zs(e,n)));break;case 22:a=e.memoizedState!==null;var h=l!==null&&l.memoizedState!==null,N=xn,_=xt;if(xn=N||a,xt=_||h,sl(t,e),xt=_,xn=N,cl(e),n&8192)e:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(l===null||h||xn||xt||Aa(e)),l=null,t=e;;){if(t.tag===5||t.tag===26){if(l===null){h=l=t;try{if(i=h.stateNode,a)c=i.style,typeof c.setProperty=="function"?c.setProperty("display","none","important"):c.display="none";else{r=h.stateNode;var w=h.memoizedProps.style,E=w!=null&&w.hasOwnProperty("display")?w.display:null;r.style.display=E==null||typeof E=="boolean"?"":(""+E).trim()}}catch(I){Le(h,h.return,I)}}}else if(t.tag===6){if(l===null){h=t;try{h.stateNode.nodeValue=a?"":h.memoizedProps}catch(I){Le(h,h.return,I)}}}else if(t.tag===18){if(l===null){h=t;try{var A=h.stateNode;a?kf(A,!0):kf(h.stateNode,!1)}catch(I){Le(h,h.return,I)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;l===t&&(l=null),t=t.return}l===t&&(l=null),t.sibling.return=t.return,t=t.sibling}n&4&&(n=e.updateQueue,n!==null&&(l=n.retryQueue,l!==null&&(n.retryQueue=null,zs(e,l))));break;case 19:sl(t,e),cl(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,zs(e,n)));break;case 30:break;case 21:break;default:sl(t,e),cl(e)}}function cl(e){var t=e.flags;if(t&2){try{for(var l,n=e.return;n!==null;){if(wd(n)){l=n;break}n=n.return}if(l==null)throw Error(d(160));switch(l.tag){case 27:var a=l.stateNode,i=ju(e);Os(e,i,a);break;case 5:var c=l.stateNode;l.flags&32&&(Kt(c,""),l.flags&=-33);var r=ju(e);Os(e,r,c);break;case 3:case 4:var h=l.stateNode.containerInfo,N=ju(e);Nu(e,N,h);break;default:throw Error(d(161))}}catch(_){Le(e,e.return,_)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Xd(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Xd(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Nn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)qd(e,t.alternate,t),t=t.sibling}function Aa(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:$n(4,t,t.return),Aa(t);break;case 1:sn(t,t.return);var l=t.stateNode;typeof l.componentWillUnmount=="function"&&Md(t,t.return,l),Aa(t);break;case 27:qi(t.stateNode);case 26:case 5:sn(t,t.return),Aa(t);break;case 22:t.memoizedState===null&&Aa(t);break;case 30:Aa(t);break;default:Aa(t)}e=e.sibling}}function Tn(e,t,l){for(l=l&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,a=e,i=t,c=i.flags;switch(i.tag){case 0:case 11:case 15:Tn(a,i,l),Ri(4,i);break;case 1:if(Tn(a,i,l),n=i,a=n.stateNode,typeof a.componentDidMount=="function")try{a.componentDidMount()}catch(N){Le(n,n.return,N)}if(n=i,a=n.updateQueue,a!==null){var r=n.stateNode;try{var h=a.shared.hiddenCallbacks;if(h!==null)for(a.shared.hiddenCallbacks=null,a=0;a<h.length;a++)xr(h[a],r)}catch(N){Le(n,n.return,N)}}l&&c&64&&_d(i),Di(i,i.return);break;case 27:Ud(i);case 26:case 5:Tn(a,i,l),l&&n===null&&c&4&&kd(i),Di(i,i.return);break;case 12:Tn(a,i,l);break;case 31:Tn(a,i,l),l&&c&4&&Bd(a,i);break;case 13:Tn(a,i,l),l&&c&4&&Yd(a,i);break;case 22:i.memoizedState===null&&Tn(a,i,l),Di(i,i.return);break;case 30:break;default:Tn(a,i,l)}t=t.sibling}}function Eu(e,t){var l=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==l&&(e!=null&&e.refCount++,l!=null&&vi(l))}function Cu(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&vi(e))}function Il(e,t,l,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Zd(e,t,l,n),t=t.sibling}function Zd(e,t,l,n){var a=t.flags;switch(t.tag){case 0:case 11:case 15:Il(e,t,l,n),a&2048&&Ri(9,t);break;case 1:Il(e,t,l,n);break;case 3:Il(e,t,l,n),a&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&vi(e)));break;case 12:if(a&2048){Il(e,t,l,n),e=t.stateNode;try{var i=t.memoizedProps,c=i.id,r=i.onPostCommit;typeof r=="function"&&r(c,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(h){Le(t,t.return,h)}}else Il(e,t,l,n);break;case 31:Il(e,t,l,n);break;case 13:Il(e,t,l,n);break;case 23:break;case 22:i=t.stateNode,c=t.alternate,t.memoizedState!==null?i._visibility&2?Il(e,t,l,n):Oi(e,t):i._visibility&2?Il(e,t,l,n):(i._visibility|=2,$a(e,t,l,n,(t.subtreeFlags&10256)!==0||!1)),a&2048&&Eu(c,t);break;case 24:Il(e,t,l,n),a&2048&&Cu(t.alternate,t);break;default:Il(e,t,l,n)}}function $a(e,t,l,n,a){for(a=a&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,c=t,r=l,h=n,N=c.flags;switch(c.tag){case 0:case 11:case 15:$a(i,c,r,h,a),Ri(8,c);break;case 23:break;case 22:var _=c.stateNode;c.memoizedState!==null?_._visibility&2?$a(i,c,r,h,a):Oi(i,c):(_._visibility|=2,$a(i,c,r,h,a)),a&&N&2048&&Eu(c.alternate,c);break;case 24:$a(i,c,r,h,a),a&&N&2048&&Cu(c.alternate,c);break;default:$a(i,c,r,h,a)}t=t.sibling}}function Oi(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var l=e,n=t,a=n.flags;switch(n.tag){case 22:Oi(l,n),a&2048&&Eu(n.alternate,n);break;case 24:Oi(l,n),a&2048&&Cu(n.alternate,n);break;default:Oi(l,n)}t=t.sibling}}var zi=8192;function Ja(e,t,l){if(e.subtreeFlags&zi)for(e=e.child;e!==null;)Vd(e,t,l),e=e.sibling}function Vd(e,t,l){switch(e.tag){case 26:Ja(e,t,l),e.flags&zi&&e.memoizedState!==null&&Ev(l,Jl,e.memoizedState,e.memoizedProps);break;case 5:Ja(e,t,l);break;case 3:case 4:var n=Jl;Jl=Zs(e.stateNode.containerInfo),Ja(e,t,l),Jl=n;break;case 22:e.memoizedState===null&&(n=e.alternate,n!==null&&n.memoizedState!==null?(n=zi,zi=16777216,Ja(e,t,l),zi=n):Ja(e,t,l));break;default:Ja(e,t,l)}}function Kd(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function _i(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var l=0;l<t.length;l++){var n=t[l];Et=n,Jd(n,e)}Kd(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)$d(e),e=e.sibling}function $d(e){switch(e.tag){case 0:case 11:case 15:_i(e),e.flags&2048&&$n(9,e,e.return);break;case 3:_i(e);break;case 12:_i(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,_s(e)):_i(e);break;default:_i(e)}}function _s(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var l=0;l<t.length;l++){var n=t[l];Et=n,Jd(n,e)}Kd(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:$n(8,t,t.return),_s(t);break;case 22:l=t.stateNode,l._visibility&2&&(l._visibility&=-3,_s(t));break;default:_s(t)}e=e.sibling}}function Jd(e,t){for(;Et!==null;){var l=Et;switch(l.tag){case 0:case 11:case 15:$n(8,l,t);break;case 23:case 22:if(l.memoizedState!==null&&l.memoizedState.cachePool!==null){var n=l.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:vi(l.memoizedState.cache)}if(n=l.child,n!==null)n.return=l,Et=n;else e:for(l=e;Et!==null;){n=Et;var a=n.sibling,i=n.return;if(Ld(n),n===l){Et=null;break e}if(a!==null){a.return=i,Et=a;break e}Et=i}}}var Gh={getCacheForType:function(e){var t=_t(gt),l=t.data.get(e);return l===void 0&&(l=e(),t.data.set(e,l)),l},cacheSignal:function(){return _t(gt).controller.signal}},Bh=typeof WeakMap=="function"?WeakMap:Map,we=0,Ke=null,Se=null,je=0,qe=0,El=null,Jn=!1,Ia=!1,Au=!1,En=0,ut=0,In=0,Ra=0,Ru=0,Cl=0,Wa=0,Mi=null,ul=null,Du=!1,Ms=0,Id=0,ks=1/0,ws=null,Wn=null,jt=0,Fn=null,Fa=null,Cn=0,Ou=0,zu=null,Wd=null,ki=0,_u=null;function Al(){return(we&2)!==0&&je!==0?je&-je:D.T!==null?qu():Rt()}function Fd(){if(Cl===0)if((je&536870912)===0||Te){var e=hl;hl<<=1,(hl&3932160)===0&&(hl=262144),Cl=e}else Cl=536870912;return e=Nl.current,e!==null&&(e.flags|=32),Cl}function ol(e,t,l){(e===Ke&&(qe===2||qe===9)||e.cancelPendingCommit!==null)&&(Pa(e,0),Pn(e,je,Cl,!1)),vl(e,l),((we&2)===0||e!==Ke)&&(e===Ke&&((we&2)===0&&(Ra|=l),ut===4&&Pn(e,je,Cl,!1)),cn(e))}function Pd(e,t,l){if((we&6)!==0)throw Error(d(327));var n=!l&&(t&127)===0&&(t&e.expiredLanes)===0||Ht(e,t),a=n?Xh(e,t):ku(e,t,!0),i=n;do{if(a===0){Ia&&!n&&Pn(e,t,0,!1);break}else{if(l=e.current.alternate,i&&!Yh(l)){a=ku(e,t,!1),i=!1;continue}if(a===2){if(i=t,e.errorRecoveryDisabledLanes&i)var c=0;else c=e.pendingLanes&-536870913,c=c!==0?c:c&536870912?536870912:0;if(c!==0){t=c;e:{var r=e;a=Mi;var h=r.current.memoizedState.isDehydrated;if(h&&(Pa(r,c).flags|=256),c=ku(r,c,!1),c!==2){if(Au&&!h){r.errorRecoveryDisabledLanes|=i,Ra|=i,a=4;break e}i=ul,ul=a,i!==null&&(ul===null?ul=i:ul.push.apply(ul,i))}a=c}if(i=!1,a!==2)continue}}if(a===1){Pa(e,0),Pn(e,t,0,!0);break}e:{switch(n=e,i=a,i){case 0:case 1:throw Error(d(345));case 4:if((t&4194048)!==t)break;case 6:Pn(n,t,Cl,!Jn);break e;case 2:ul=null;break;case 3:case 5:break;default:throw Error(d(329))}if((t&62914560)===t&&(a=Ms+300-it(),10<a)){if(Pn(n,t,Cl,!Jn),Be(n,0,!0)!==0)break e;Cn=t,n.timeoutHandle=zf(ef.bind(null,n,l,ul,ws,Du,t,Cl,Ra,Wa,Jn,i,"Throttled",-0,0),a);break e}ef(n,l,ul,ws,Du,t,Cl,Ra,Wa,Jn,i,null,-0,0)}}break}while(!0);cn(e)}function ef(e,t,l,n,a,i,c,r,h,N,_,w,E,A){if(e.timeoutHandle=-1,w=t.subtreeFlags,w&8192||(w&16785408)===16785408){w={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:p},Vd(t,i,w);var I=(i&62914560)===i?Ms-it():(i&4194048)===i?Id-it():0;if(I=Cv(w,I),I!==null){Cn=i,e.cancelPendingCommit=I(of.bind(null,e,t,i,l,n,a,c,r,h,_,w,null,E,A)),Pn(e,i,c,!N);return}}of(e,t,i,l,n,a,c,r,h)}function Yh(e){for(var t=e;;){var l=t.tag;if((l===0||l===11||l===15)&&t.flags&16384&&(l=t.updateQueue,l!==null&&(l=l.stores,l!==null)))for(var n=0;n<l.length;n++){var a=l[n],i=a.getSnapshot;a=a.value;try{if(!xl(i(),a))return!1}catch{return!1}}if(l=t.child,t.subtreeFlags&16384&&l!==null)l.return=t,t=l;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Pn(e,t,l,n){t&=~Ru,t&=~Ra,e.suspendedLanes|=t,e.pingedLanes&=~t,n&&(e.warmLanes|=t),n=e.expirationTimes;for(var a=t;0<a;){var i=31-be(a),c=1<<i;n[i]=-1,a&=~c}l!==0&&Rl(e,l,t)}function Us(){return(we&6)===0?(wi(0),!1):!0}function Mu(){if(Se!==null){if(qe===0)var e=Se.return;else e=Se,vn=ba=null,Jc(e),Qa=null,yi=0,e=Se;for(;e!==null;)zd(e.alternate,e),e=e.return;Se=null}}function Pa(e,t){var l=e.timeoutHandle;l!==-1&&(e.timeoutHandle=-1,uv(l)),l=e.cancelPendingCommit,l!==null&&(e.cancelPendingCommit=null,l()),Cn=0,Mu(),Ke=e,Se=l=mn(e.current,null),je=t,qe=0,El=null,Jn=!1,Ia=Ht(e,t),Au=!1,Wa=Cl=Ru=Ra=In=ut=0,ul=Mi=null,Du=!1,(t&8)!==0&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var a=31-be(n),i=1<<a;t|=e[a],n&=~i}return En=t,ns(),l}function tf(e,t){me=null,D.H=Ei,t===Ya||t===ds?(t=yr(),qe=3):t===Hc?(t=yr(),qe=4):qe=t===du?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,El=t,Se===null&&(ut=1,Es(e,_l(t,e.current)))}function lf(){var e=Nl.current;return e===null?!0:(je&4194048)===je?Ul===null:(je&62914560)===je||(je&536870912)!==0?e===Ul:!1}function nf(){var e=D.H;return D.H=Ei,e===null?Ei:e}function af(){var e=D.A;return D.A=Gh,e}function Hs(){ut=4,Jn||(je&4194048)!==je&&Nl.current!==null||(Ia=!0),(In&134217727)===0&&(Ra&134217727)===0||Ke===null||Pn(Ke,je,Cl,!1)}function ku(e,t,l){var n=we;we|=2;var a=nf(),i=af();(Ke!==e||je!==t)&&(ws=null,Pa(e,t)),t=!1;var c=ut;e:do try{if(qe!==0&&Se!==null){var r=Se,h=El;switch(qe){case 8:Mu(),c=6;break e;case 3:case 2:case 9:case 6:Nl.current===null&&(t=!0);var N=qe;if(qe=0,El=null,ei(e,r,h,N),l&&Ia){c=0;break e}break;default:N=qe,qe=0,El=null,ei(e,r,h,N)}}Qh(),c=ut;break}catch(_){tf(e,_)}while(!0);return t&&e.shellSuspendCounter++,vn=ba=null,we=n,D.H=a,D.A=i,Se===null&&(Ke=null,je=0,ns()),c}function Qh(){for(;Se!==null;)sf(Se)}function Xh(e,t){var l=we;we|=2;var n=nf(),a=af();Ke!==e||je!==t?(ws=null,ks=it()+500,Pa(e,t)):Ia=Ht(e,t);e:do try{if(qe!==0&&Se!==null){t=Se;var i=El;t:switch(qe){case 1:qe=0,El=null,ei(e,t,i,1);break;case 2:case 9:if(vr(i)){qe=0,El=null,cf(t);break}t=function(){qe!==2&&qe!==9||Ke!==e||(qe=7),cn(e)},i.then(t,t);break e;case 3:qe=7;break e;case 4:qe=5;break e;case 7:vr(i)?(qe=0,El=null,cf(t)):(qe=0,El=null,ei(e,t,i,7));break;case 5:var c=null;switch(Se.tag){case 26:c=Se.memoizedState;case 5:case 27:var r=Se;if(c?Vf(c):r.stateNode.complete){qe=0,El=null;var h=r.sibling;if(h!==null)Se=h;else{var N=r.return;N!==null?(Se=N,qs(N)):Se=null}break t}}qe=0,El=null,ei(e,t,i,5);break;case 6:qe=0,El=null,ei(e,t,i,6);break;case 8:Mu(),ut=6;break e;default:throw Error(d(462))}}Zh();break}catch(_){tf(e,_)}while(!0);return vn=ba=null,D.H=n,D.A=a,we=l,Se!==null?0:(Ke=null,je=0,ns(),ut)}function Zh(){for(;Se!==null&&!Rn();)sf(Se)}function sf(e){var t=Dd(e.alternate,e,En);e.memoizedProps=e.pendingProps,t===null?qs(e):Se=t}function cf(e){var t=e,l=t.alternate;switch(t.tag){case 15:case 0:t=Nd(l,t,t.pendingProps,t.type,void 0,je);break;case 11:t=Nd(l,t,t.pendingProps,t.type.render,t.ref,je);break;case 5:Jc(t);default:zd(l,t),t=Se=ar(t,En),t=Dd(l,t,En)}e.memoizedProps=e.pendingProps,t===null?qs(e):Se=t}function ei(e,t,l,n){vn=ba=null,Jc(t),Qa=null,yi=0;var a=t.return;try{if(Mh(e,a,t,l,je)){ut=1,Es(e,_l(l,e.current)),Se=null;return}}catch(i){if(a!==null)throw Se=a,i;ut=1,Es(e,_l(l,e.current)),Se=null;return}t.flags&32768?(Te||n===1?e=!0:Ia||(je&536870912)!==0?e=!1:(Jn=e=!0,(n===2||n===9||n===3||n===6)&&(n=Nl.current,n!==null&&n.tag===13&&(n.flags|=16384))),uf(t,e)):qs(t)}function qs(e){var t=e;do{if((t.flags&32768)!==0){uf(t,Jn);return}e=t.return;var l=Uh(t.alternate,t,En);if(l!==null){Se=l;return}if(t=t.sibling,t!==null){Se=t;return}Se=t=e}while(t!==null);ut===0&&(ut=5)}function uf(e,t){do{var l=Hh(e.alternate,e);if(l!==null){l.flags&=32767,Se=l;return}if(l=e.return,l!==null&&(l.flags|=32768,l.subtreeFlags=0,l.deletions=null),!t&&(e=e.sibling,e!==null)){Se=e;return}Se=e=l}while(e!==null);ut=6,Se=null}function of(e,t,l,n,a,i,c,r,h){e.cancelPendingCommit=null;do Ls();while(jt!==0);if((we&6)!==0)throw Error(d(327));if(t!==null){if(t===e.current)throw Error(d(177));if(i=t.lanes|t.childLanes,i|=jc,en(e,l,i,c,r,h),e===Ke&&(Se=Ke=null,je=0),Fa=t,Fn=e,Cn=l,Ou=i,zu=a,Wd=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Jh(dl,function(){return hf(),null})):(e.callbackNode=null,e.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=D.T,D.T=null,a=Z.p,Z.p=2,c=we,we|=4;try{qh(e,t,l)}finally{we=c,Z.p=a,D.T=n}}jt=1,rf(),df(),ff()}}function rf(){if(jt===1){jt=0;var e=Fn,t=Fa,l=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||l){l=D.T,D.T=null;var n=Z.p;Z.p=2;var a=we;we|=4;try{Qd(t,e);var i=Vu,c=Jo(e.containerInfo),r=i.focusedElem,h=i.selectionRange;if(c!==r&&r&&r.ownerDocument&&$o(r.ownerDocument.documentElement,r)){if(h!==null&&yc(r)){var N=h.start,_=h.end;if(_===void 0&&(_=N),"selectionStart"in r)r.selectionStart=N,r.selectionEnd=Math.min(_,r.value.length);else{var w=r.ownerDocument||document,E=w&&w.defaultView||window;if(E.getSelection){var A=E.getSelection(),I=r.textContent.length,ae=Math.min(h.start,I),Xe=h.end===void 0?ae:Math.min(h.end,I);!A.extend&&ae>Xe&&(c=Xe,Xe=ae,ae=c);var S=Ko(r,ae),y=Ko(r,Xe);if(S&&y&&(A.rangeCount!==1||A.anchorNode!==S.node||A.anchorOffset!==S.offset||A.focusNode!==y.node||A.focusOffset!==y.offset)){var j=w.createRange();j.setStart(S.node,S.offset),A.removeAllRanges(),ae>Xe?(A.addRange(j),A.extend(y.node,y.offset)):(j.setEnd(y.node,y.offset),A.addRange(j))}}}}for(w=[],A=r;A=A.parentNode;)A.nodeType===1&&w.push({element:A,left:A.scrollLeft,top:A.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<w.length;r++){var k=w[r];k.element.scrollLeft=k.left,k.element.scrollTop=k.top}}Ws=!!Zu,Vu=Zu=null}finally{we=a,Z.p=n,D.T=l}}e.current=t,jt=2}}function df(){if(jt===2){jt=0;var e=Fn,t=Fa,l=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||l){l=D.T,D.T=null;var n=Z.p;Z.p=2;var a=we;we|=4;try{qd(e,t.alternate,t)}finally{we=a,Z.p=n,D.T=l}}jt=3}}function ff(){if(jt===4||jt===3){jt=0,Dn();var e=Fn,t=Fa,l=Cn,n=Wd;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?jt=5:(jt=0,Fa=Fn=null,mf(e,e.pendingLanes));var a=e.pendingLanes;if(a===0&&(Wn=null),Xt(l),t=t.stateNode,ee&&typeof ee.onCommitFiberRoot=="function")try{ee.onCommitFiberRoot(Qt,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=D.T,a=Z.p,Z.p=2,D.T=null;try{for(var i=e.onRecoverableError,c=0;c<n.length;c++){var r=n[c];i(r.value,{componentStack:r.stack})}}finally{D.T=t,Z.p=a}}(Cn&3)!==0&&Ls(),cn(e),a=e.pendingLanes,(l&261930)!==0&&(a&42)!==0?e===_u?ki++:(ki=0,_u=e):ki=0,wi(0)}}function mf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,vi(t)))}function Ls(){return rf(),df(),ff(),hf()}function hf(){if(jt!==5)return!1;var e=Fn,t=Ou;Ou=0;var l=Xt(Cn),n=D.T,a=Z.p;try{Z.p=32>l?32:l,D.T=null,l=zu,zu=null;var i=Fn,c=Cn;if(jt=0,Fa=Fn=null,Cn=0,(we&6)!==0)throw Error(d(331));var r=we;if(we|=4,$d(i.current),Zd(i,i.current,c,l),we=r,wi(0,!1),ee&&typeof ee.onPostCommitFiberRoot=="function")try{ee.onPostCommitFiberRoot(Qt,i)}catch{}return!0}finally{Z.p=a,D.T=n,mf(e,t)}}function vf(e,t,l){t=_l(l,t),t=ru(e.stateNode,t,2),e=Zn(e,t,2),e!==null&&(vl(e,2),cn(e))}function Le(e,t,l){if(e.tag===3)vf(e,e,l);else for(;t!==null;){if(t.tag===3){vf(t,e,l);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Wn===null||!Wn.has(n))){e=_l(l,e),l=vd(2),n=Zn(t,l,2),n!==null&&(pd(l,n,t,e),vl(n,2),cn(n));break}}t=t.return}}function wu(e,t,l){var n=e.pingCache;if(n===null){n=e.pingCache=new Bh;var a=new Set;n.set(t,a)}else a=n.get(t),a===void 0&&(a=new Set,n.set(t,a));a.has(l)||(Au=!0,a.add(l),e=Vh.bind(null,e,t,l),t.then(e,e))}function Vh(e,t,l){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,Ke===e&&(je&l)===l&&(ut===4||ut===3&&(je&62914560)===je&&300>it()-Ms?(we&2)===0&&Pa(e,0):Ru|=l,Wa===je&&(Wa=0)),cn(e)}function pf(e,t){t===0&&(t=Mn()),e=pa(e,t),e!==null&&(vl(e,t),cn(e))}function Kh(e){var t=e.memoizedState,l=0;t!==null&&(l=t.retryLane),pf(e,l)}function $h(e,t){var l=0;switch(e.tag){case 31:case 13:var n=e.stateNode,a=e.memoizedState;a!==null&&(l=a.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(d(314))}n!==null&&n.delete(t),pf(e,l)}function Jh(e,t){return fe(e,t)}var Gs=null,ti=null,Uu=!1,Bs=!1,Hu=!1,ea=0;function cn(e){e!==ti&&e.next===null&&(ti===null?Gs=ti=e:ti=ti.next=e),Bs=!0,Uu||(Uu=!0,Wh())}function wi(e,t){if(!Hu&&Bs){Hu=!0;do for(var l=!1,n=Gs;n!==null;){if(e!==0){var a=n.pendingLanes;if(a===0)var i=0;else{var c=n.suspendedLanes,r=n.pingedLanes;i=(1<<31-be(42|e)+1)-1,i&=a&~(c&~r),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(l=!0,Sf(n,i))}else i=je,i=Be(n,n===Ke?i:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(i&3)===0||Ht(n,i)||(l=!0,Sf(n,i));n=n.next}while(l);Hu=!1}}function Ih(){yf()}function yf(){Bs=Uu=!1;var e=0;ea!==0&&cv()&&(e=ea);for(var t=it(),l=null,n=Gs;n!==null;){var a=n.next,i=gf(n,t);i===0?(n.next=null,l===null?Gs=a:l.next=a,a===null&&(ti=l)):(l=n,(e!==0||(i&3)!==0)&&(Bs=!0)),n=a}jt!==0&&jt!==5||wi(e),ea!==0&&(ea=0)}function gf(e,t){for(var l=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var c=31-be(i),r=1<<c,h=a[c];h===-1?((r&l)===0||(r&n)!==0)&&(a[c]=un(r,t)):h<=t&&(e.expiredLanes|=r),i&=~r}if(t=Ke,l=je,l=Be(e,e===t?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n=e.callbackNode,l===0||e===t&&(qe===2||qe===9)||e.cancelPendingCommit!==null)return n!==null&&n!==null&&Bt(n),e.callbackNode=null,e.callbackPriority=0;if((l&3)===0||Ht(e,l)){if(t=l&-l,t===e.callbackPriority)return t;switch(n!==null&&Bt(n),Xt(l)){case 2:case 8:l=Ge;break;case 32:l=dl;break;case 268435456:l=ua;break;default:l=dl}return n=bf.bind(null,e),l=fe(l,n),e.callbackPriority=t,e.callbackNode=l,t}return n!==null&&n!==null&&Bt(n),e.callbackPriority=2,e.callbackNode=null,2}function bf(e,t){if(jt!==0&&jt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var l=e.callbackNode;if(Ls()&&e.callbackNode!==l)return null;var n=je;return n=Be(e,e===Ke?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n===0?null:(Pd(e,n,t),gf(e,it()),e.callbackNode!=null&&e.callbackNode===l?bf.bind(null,e):null)}function Sf(e,t){if(Ls())return null;Pd(e,t,!0)}function Wh(){ov(function(){(we&6)!==0?fe(ca,Ih):yf()})}function qu(){if(ea===0){var e=Ga;e===0&&(e=ml,ml<<=1,(ml&261888)===0&&(ml=256)),ea=e}return ea}function xf(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:De(""+e)}function jf(e,t){var l=t.ownerDocument.createElement("input");return l.name=t.name,l.value=t.value,e.id&&l.setAttribute("form",e.id),t.parentNode.insertBefore(l,t),e=new FormData(e),l.parentNode.removeChild(l),e}function Fh(e,t,l,n,a){if(t==="submit"&&l&&l.stateNode===a){var i=xf((a[ft]||null).action),c=n.submitter;c&&(t=(t=c[ft]||null)?xf(t.formAction):c.getAttribute("formAction"),t!==null&&(i=t,c=null));var r=new Pi("action","action",null,n,a);e.push({event:r,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(ea!==0){var h=c?jf(a,c):new FormData(a);au(l,{pending:!0,data:h,method:a.method,action:i},null,h)}}else typeof i=="function"&&(r.preventDefault(),h=c?jf(a,c):new FormData(a),au(l,{pending:!0,data:h,method:a.method,action:i},i,h))},currentTarget:a}]})}}for(var Lu=0;Lu<xc.length;Lu++){var Gu=xc[Lu],Ph=Gu.toLowerCase(),ev=Gu[0].toUpperCase()+Gu.slice(1);$l(Ph,"on"+ev)}$l(Fo,"onAnimationEnd"),$l(Po,"onAnimationIteration"),$l(er,"onAnimationStart"),$l("dblclick","onDoubleClick"),$l("focusin","onFocus"),$l("focusout","onBlur"),$l(ph,"onTransitionRun"),$l(yh,"onTransitionStart"),$l(gh,"onTransitionCancel"),$l(tr,"onTransitionEnd"),Zl("onMouseEnter",["mouseout","mouseover"]),Zl("onMouseLeave",["mouseout","mouseover"]),Zl("onPointerEnter",["pointerout","pointerover"]),Zl("onPointerLeave",["pointerout","pointerover"]),el("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),el("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),el("onBeforeInput",["compositionend","keypress","textInput","paste"]),el("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),el("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),el("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ui="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),tv=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ui));function Nf(e,t){t=(t&4)!==0;for(var l=0;l<e.length;l++){var n=e[l],a=n.event;n=n.listeners;e:{var i=void 0;if(t)for(var c=n.length-1;0<=c;c--){var r=n[c],h=r.instance,N=r.currentTarget;if(r=r.listener,h!==i&&a.isPropagationStopped())break e;i=r,a.currentTarget=N;try{i(a)}catch(_){ls(_)}a.currentTarget=null,i=h}else for(c=0;c<n.length;c++){if(r=n[c],h=r.instance,N=r.currentTarget,r=r.listener,h!==i&&a.isPropagationStopped())break e;i=r,a.currentTarget=N;try{i(a)}catch(_){ls(_)}a.currentTarget=null,i=h}}}}function xe(e,t){var l=t[yl];l===void 0&&(l=t[yl]=new Set);var n=e+"__bubble";l.has(n)||(Tf(t,e,2,!1),l.add(n))}function Bu(e,t,l){var n=0;t&&(n|=4),Tf(l,e,n,t)}var Ys="_reactListening"+Math.random().toString(36).slice(2);function Yu(e){if(!e[Ys]){e[Ys]=!0,Dl.forEach(function(l){l!=="selectionchange"&&(tv.has(l)||Bu(l,!1,e),Bu(l,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ys]||(t[Ys]=!0,Bu("selectionchange",!1,t))}}function Tf(e,t,l,n){switch(Pf(t)){case 2:var a=Dv;break;case 8:a=Ov;break;default:a=no}l=a.bind(null,t,l,e),a=void 0,!ln||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(a=!0),n?a!==void 0?e.addEventListener(t,l,{capture:!0,passive:a}):e.addEventListener(t,l,!0):a!==void 0?e.addEventListener(t,l,{passive:a}):e.addEventListener(t,l,!1)}function Qu(e,t,l,n,a){var i=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var c=n.tag;if(c===3||c===4){var r=n.stateNode.containerInfo;if(r===a)break;if(c===4)for(c=n.return;c!==null;){var h=c.tag;if((h===3||h===4)&&c.stateNode.containerInfo===a)return;c=c.return}for(;r!==null;){if(c=Ft(r),c===null)return;if(h=c.tag,h===5||h===6||h===26||h===27){n=i=c;continue e}r=r.parentNode}}n=n.return}Ve(function(){var N=i,_=H(l),w=[];e:{var E=lr.get(e);if(E!==void 0){var A=Pi,I=e;switch(e){case"keypress":if(Wi(l)===0)break e;case"keydown":case"keyup":A=$m;break;case"focusin":I="focus",A=fc;break;case"focusout":I="blur",A=fc;break;case"beforeblur":case"afterblur":A=fc;break;case"click":if(l.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":A=zo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":A=Um;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":A=Wm;break;case Fo:case Po:case er:A=Lm;break;case tr:A=Pm;break;case"scroll":case"scrollend":A=km;break;case"wheel":A=th;break;case"copy":case"cut":case"paste":A=Bm;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":A=Mo;break;case"toggle":case"beforetoggle":A=nh}var ae=(t&4)!==0,Xe=!ae&&(e==="scroll"||e==="scrollend"),S=ae?E!==null?E+"Capture":null:E;ae=[];for(var y=N,j;y!==null;){var k=y;if(j=k.stateNode,k=k.tag,k!==5&&k!==26&&k!==27||j===null||S===null||(k=se(y,S),k!=null&&ae.push(Hi(y,k,j))),Xe)break;y=y.return}0<ae.length&&(E=new A(E,I,null,l,_),w.push({event:E,listeners:ae}))}}if((t&7)===0){e:{if(E=e==="mouseover"||e==="pointerover",A=e==="mouseout"||e==="pointerout",E&&l!==T&&(I=l.relatedTarget||l.fromElement)&&(Ft(I)||I[pe]))break e;if((A||E)&&(E=_.window===_?_:(E=_.ownerDocument)?E.defaultView||E.parentWindow:window,A?(I=l.relatedTarget||l.toElement,A=N,I=I?Ft(I):null,I!==null&&(Xe=R(I),ae=I.tag,I!==Xe||ae!==5&&ae!==27&&ae!==6)&&(I=null)):(A=null,I=N),A!==I)){if(ae=zo,k="onMouseLeave",S="onMouseEnter",y="mouse",(e==="pointerout"||e==="pointerover")&&(ae=Mo,k="onPointerLeave",S="onPointerEnter",y="pointer"),Xe=A==null?E:Dt(A),j=I==null?E:Dt(I),E=new ae(k,y+"leave",A,l,_),E.target=Xe,E.relatedTarget=j,k=null,Ft(_)===N&&(ae=new ae(S,y+"enter",I,l,_),ae.target=j,ae.relatedTarget=Xe,k=ae),Xe=k,A&&I)t:{for(ae=lv,S=A,y=I,j=0,k=S;k;k=ae(k))j++;k=0;for(var te=y;te;te=ae(te))k++;for(;0<j-k;)S=ae(S),j--;for(;0<k-j;)y=ae(y),k--;for(;j--;){if(S===y||y!==null&&S===y.alternate){ae=S;break t}S=ae(S),y=ae(y)}ae=null}else ae=null;A!==null&&Ef(w,E,A,ae,!1),I!==null&&Xe!==null&&Ef(w,Xe,I,ae,!0)}}e:{if(E=N?Dt(N):window,A=E.nodeName&&E.nodeName.toLowerCase(),A==="select"||A==="input"&&E.type==="file")var Oe=Bo;else if(Lo(E))if(Yo)Oe=mh;else{Oe=dh;var W=rh}else A=E.nodeName,!A||A.toLowerCase()!=="input"||E.type!=="checkbox"&&E.type!=="radio"?N&&U(N.elementType)&&(Oe=Bo):Oe=fh;if(Oe&&(Oe=Oe(e,N))){Go(w,Oe,l,_);break e}W&&W(e,E,N),e==="focusout"&&N&&E.type==="number"&&N.memoizedProps.value!=null&&nl(E,"number",E.value)}switch(W=N?Dt(N):window,e){case"focusin":(Lo(W)||W.contentEditable==="true")&&(_a=W,gc=N,fi=null);break;case"focusout":fi=gc=_a=null;break;case"mousedown":bc=!0;break;case"contextmenu":case"mouseup":case"dragend":bc=!1,Io(w,l,_);break;case"selectionchange":if(vh)break;case"keydown":case"keyup":Io(w,l,_)}var ve;if(hc)e:{switch(e){case"compositionstart":var Ne="onCompositionStart";break e;case"compositionend":Ne="onCompositionEnd";break e;case"compositionupdate":Ne="onCompositionUpdate";break e}Ne=void 0}else za?Ho(e,l)&&(Ne="onCompositionEnd"):e==="keydown"&&l.keyCode===229&&(Ne="onCompositionStart");Ne&&(ko&&l.locale!=="ko"&&(za||Ne!=="onCompositionStart"?Ne==="onCompositionEnd"&&za&&(ve=Do()):(Ol=_,oc="value"in Ol?Ol.value:Ol.textContent,za=!0)),W=Qs(N,Ne),0<W.length&&(Ne=new _o(Ne,e,null,l,_),w.push({event:Ne,listeners:W}),ve?Ne.data=ve:(ve=qo(l),ve!==null&&(Ne.data=ve)))),(ve=ih?sh(e,l):ch(e,l))&&(Ne=Qs(N,"onBeforeInput"),0<Ne.length&&(W=new _o("onBeforeInput","beforeinput",null,l,_),w.push({event:W,listeners:Ne}),W.data=ve)),Fh(w,e,N,l,_)}Nf(w,t)})}function Hi(e,t,l){return{instance:e,listener:t,currentTarget:l}}function Qs(e,t){for(var l=t+"Capture",n=[];e!==null;){var a=e,i=a.stateNode;if(a=a.tag,a!==5&&a!==26&&a!==27||i===null||(a=se(e,l),a!=null&&n.unshift(Hi(e,a,i)),a=se(e,t),a!=null&&n.push(Hi(e,a,i))),e.tag===3)return n;e=e.return}return[]}function lv(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ef(e,t,l,n,a){for(var i=t._reactName,c=[];l!==null&&l!==n;){var r=l,h=r.alternate,N=r.stateNode;if(r=r.tag,h!==null&&h===n)break;r!==5&&r!==26&&r!==27||N===null||(h=N,a?(N=se(l,i),N!=null&&c.unshift(Hi(l,N,h))):a||(N=se(l,i),N!=null&&c.push(Hi(l,N,h)))),l=l.return}c.length!==0&&e.push({event:t,listeners:c})}var nv=/\r\n?/g,av=/\u0000|\uFFFD/g;function Cf(e){return(typeof e=="string"?e:""+e).replace(nv,`
|
|
9
|
+
`).replace(av,"")}function Af(e,t){return t=Cf(t),Cf(e)===t}function Qe(e,t,l,n,a,i){switch(l){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||Kt(e,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&Kt(e,""+n);break;case"className":Vl(e,"class",n);break;case"tabIndex":Vl(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":Vl(e,l,n);break;case"style":C(e,n,i);break;case"data":if(t!=="object"){Vl(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||l!=="href")){e.removeAttribute(l);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(l);break}n=De(""+n),e.setAttribute(l,n);break;case"action":case"formAction":if(typeof n=="function"){e.setAttribute(l,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(l==="formAction"?(t!=="input"&&Qe(e,t,"name",a.name,a,null),Qe(e,t,"formEncType",a.formEncType,a,null),Qe(e,t,"formMethod",a.formMethod,a,null),Qe(e,t,"formTarget",a.formTarget,a,null)):(Qe(e,t,"encType",a.encType,a,null),Qe(e,t,"method",a.method,a,null),Qe(e,t,"target",a.target,a,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(l);break}n=De(""+n),e.setAttribute(l,n);break;case"onClick":n!=null&&(e.onclick=p);break;case"onScroll":n!=null&&xe("scroll",e);break;case"onScrollEnd":n!=null&&xe("scrollend",e);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(d(61));if(l=n.__html,l!=null){if(a.children!=null)throw Error(d(60));e.innerHTML=l}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}l=De(""+n),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(l,""+n):e.removeAttribute(l);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(l,""):e.removeAttribute(l);break;case"capture":case"download":n===!0?e.setAttribute(l,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(l,n):e.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(l,n):e.removeAttribute(l);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(l):e.setAttribute(l,n);break;case"popover":xe("beforetoggle",e),xe("toggle",e),mt(e,"popover",n);break;case"xlinkActuate":tl(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":tl(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":tl(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":tl(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":tl(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":tl(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":tl(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":tl(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":tl(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":mt(e,"is",n);break;case"innerText":case"textContent":break;default:(!(2<l.length)||l[0]!=="o"&&l[0]!=="O"||l[1]!=="n"&&l[1]!=="N")&&(l=J.get(l)||l,mt(e,l,n))}}function Xu(e,t,l,n,a,i){switch(l){case"style":C(e,n,i);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(d(61));if(l=n.__html,l!=null){if(a.children!=null)throw Error(d(60));e.innerHTML=l}}break;case"children":typeof n=="string"?Kt(e,n):(typeof n=="number"||typeof n=="bigint")&&Kt(e,""+n);break;case"onScroll":n!=null&&xe("scroll",e);break;case"onScrollEnd":n!=null&&xe("scrollend",e);break;case"onClick":n!=null&&(e.onclick=p);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!kn.hasOwnProperty(l))e:{if(l[0]==="o"&&l[1]==="n"&&(a=l.endsWith("Capture"),t=l.slice(2,a?l.length-7:void 0),i=e[ft]||null,i=i!=null?i[l]:null,typeof i=="function"&&e.removeEventListener(t,i,a),typeof n=="function")){typeof i!="function"&&i!==null&&(l in e?e[l]=null:e.hasAttribute(l)&&e.removeAttribute(l)),e.addEventListener(t,n,a);break e}l in e?e[l]=n:n===!0?e.setAttribute(l,""):mt(e,l,n)}}}function kt(e,t,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":xe("error",e),xe("load",e);var n=!1,a=!1,i;for(i in l)if(l.hasOwnProperty(i)){var c=l[i];if(c!=null)switch(i){case"src":n=!0;break;case"srcSet":a=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(d(137,t));default:Qe(e,t,i,c,l,null)}}a&&Qe(e,t,"srcSet",l.srcSet,l,null),n&&Qe(e,t,"src",l.src,l,null);return;case"input":xe("invalid",e);var r=i=c=a=null,h=null,N=null;for(n in l)if(l.hasOwnProperty(n)){var _=l[n];if(_!=null)switch(n){case"name":a=_;break;case"type":c=_;break;case"checked":h=_;break;case"defaultChecked":N=_;break;case"value":i=_;break;case"defaultValue":r=_;break;case"children":case"dangerouslySetInnerHTML":if(_!=null)throw Error(d(137,t));break;default:Qe(e,t,n,_,l,null)}}qn(e,i,r,h,N,c,a,!1);return;case"select":xe("invalid",e),n=c=i=null;for(a in l)if(l.hasOwnProperty(a)&&(r=l[a],r!=null))switch(a){case"value":i=r;break;case"defaultValue":c=r;break;case"multiple":n=r;default:Qe(e,t,a,r,l,null)}t=i,l=c,e.multiple=!!n,t!=null?Ot(e,!!n,t,!1):l!=null&&Ot(e,!!n,l,!0);return;case"textarea":xe("invalid",e),i=a=n=null;for(c in l)if(l.hasOwnProperty(c)&&(r=l[c],r!=null))switch(c){case"value":n=r;break;case"defaultValue":a=r;break;case"children":i=r;break;case"dangerouslySetInnerHTML":if(r!=null)throw Error(d(91));break;default:Qe(e,t,c,r,l,null)}fn(e,n,a,i);return;case"option":for(h in l)l.hasOwnProperty(h)&&(n=l[h],n!=null)&&(h==="selected"?e.selected=n&&typeof n!="function"&&typeof n!="symbol":Qe(e,t,h,n,l,null));return;case"dialog":xe("beforetoggle",e),xe("toggle",e),xe("cancel",e),xe("close",e);break;case"iframe":case"object":xe("load",e);break;case"video":case"audio":for(n=0;n<Ui.length;n++)xe(Ui[n],e);break;case"image":xe("error",e),xe("load",e);break;case"details":xe("toggle",e);break;case"embed":case"source":case"link":xe("error",e),xe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(N in l)if(l.hasOwnProperty(N)&&(n=l[N],n!=null))switch(N){case"children":case"dangerouslySetInnerHTML":throw Error(d(137,t));default:Qe(e,t,N,n,l,null)}return;default:if(U(t)){for(_ in l)l.hasOwnProperty(_)&&(n=l[_],n!==void 0&&Xu(e,t,_,n,l,void 0));return}}for(r in l)l.hasOwnProperty(r)&&(n=l[r],n!=null&&Qe(e,t,r,n,l,null))}function iv(e,t,l,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var a=null,i=null,c=null,r=null,h=null,N=null,_=null;for(A in l){var w=l[A];if(l.hasOwnProperty(A)&&w!=null)switch(A){case"checked":break;case"value":break;case"defaultValue":h=w;default:n.hasOwnProperty(A)||Qe(e,t,A,null,n,w)}}for(var E in n){var A=n[E];if(w=l[E],n.hasOwnProperty(E)&&(A!=null||w!=null))switch(E){case"type":i=A;break;case"name":a=A;break;case"checked":N=A;break;case"defaultChecked":_=A;break;case"value":c=A;break;case"defaultValue":r=A;break;case"children":case"dangerouslySetInnerHTML":if(A!=null)throw Error(d(137,t));break;default:A!==w&&Qe(e,t,E,A,n,w)}}ll(e,c,r,h,N,_,i,a);return;case"select":A=c=r=E=null;for(i in l)if(h=l[i],l.hasOwnProperty(i)&&h!=null)switch(i){case"value":break;case"multiple":A=h;default:n.hasOwnProperty(i)||Qe(e,t,i,null,n,h)}for(a in n)if(i=n[a],h=l[a],n.hasOwnProperty(a)&&(i!=null||h!=null))switch(a){case"value":E=i;break;case"defaultValue":r=i;break;case"multiple":c=i;default:i!==h&&Qe(e,t,a,i,n,h)}t=r,l=c,n=A,E!=null?Ot(e,!!l,E,!1):!!n!=!!l&&(t!=null?Ot(e,!!l,t,!0):Ot(e,!!l,l?[]:"",!1));return;case"textarea":A=E=null;for(r in l)if(a=l[r],l.hasOwnProperty(r)&&a!=null&&!n.hasOwnProperty(r))switch(r){case"value":break;case"children":break;default:Qe(e,t,r,null,n,a)}for(c in n)if(a=n[c],i=l[c],n.hasOwnProperty(c)&&(a!=null||i!=null))switch(c){case"value":E=a;break;case"defaultValue":A=a;break;case"children":break;case"dangerouslySetInnerHTML":if(a!=null)throw Error(d(91));break;default:a!==i&&Qe(e,t,c,a,n,i)}dn(e,E,A);return;case"option":for(var I in l)E=l[I],l.hasOwnProperty(I)&&E!=null&&!n.hasOwnProperty(I)&&(I==="selected"?e.selected=!1:Qe(e,t,I,null,n,E));for(h in n)E=n[h],A=l[h],n.hasOwnProperty(h)&&E!==A&&(E!=null||A!=null)&&(h==="selected"?e.selected=E&&typeof E!="function"&&typeof E!="symbol":Qe(e,t,h,E,n,A));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ae in l)E=l[ae],l.hasOwnProperty(ae)&&E!=null&&!n.hasOwnProperty(ae)&&Qe(e,t,ae,null,n,E);for(N in n)if(E=n[N],A=l[N],n.hasOwnProperty(N)&&E!==A&&(E!=null||A!=null))switch(N){case"children":case"dangerouslySetInnerHTML":if(E!=null)throw Error(d(137,t));break;default:Qe(e,t,N,E,n,A)}return;default:if(U(t)){for(var Xe in l)E=l[Xe],l.hasOwnProperty(Xe)&&E!==void 0&&!n.hasOwnProperty(Xe)&&Xu(e,t,Xe,void 0,n,E);for(_ in n)E=n[_],A=l[_],!n.hasOwnProperty(_)||E===A||E===void 0&&A===void 0||Xu(e,t,_,E,n,A);return}}for(var S in l)E=l[S],l.hasOwnProperty(S)&&E!=null&&!n.hasOwnProperty(S)&&Qe(e,t,S,null,n,E);for(w in n)E=n[w],A=l[w],!n.hasOwnProperty(w)||E===A||E==null&&A==null||Qe(e,t,w,E,n,A)}function Rf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function sv(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,l=performance.getEntriesByType("resource"),n=0;n<l.length;n++){var a=l[n],i=a.transferSize,c=a.initiatorType,r=a.duration;if(i&&r&&Rf(c)){for(c=0,r=a.responseEnd,n+=1;n<l.length;n++){var h=l[n],N=h.startTime;if(N>r)break;var _=h.transferSize,w=h.initiatorType;_&&Rf(w)&&(h=h.responseEnd,c+=_*(h<r?1:(r-N)/(h-N)))}if(--n,t+=8*(i+c)/(a.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Zu=null,Vu=null;function Xs(e){return e.nodeType===9?e:e.ownerDocument}function Df(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Of(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Ku(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var $u=null;function cv(){var e=window.event;return e&&e.type==="popstate"?e===$u?!1:($u=e,!0):($u=null,!1)}var zf=typeof setTimeout=="function"?setTimeout:void 0,uv=typeof clearTimeout=="function"?clearTimeout:void 0,_f=typeof Promise=="function"?Promise:void 0,ov=typeof queueMicrotask=="function"?queueMicrotask:typeof _f<"u"?function(e){return _f.resolve(null).then(e).catch(rv)}:zf;function rv(e){setTimeout(function(){throw e})}function ta(e){return e==="head"}function Mf(e,t){var l=t,n=0;do{var a=l.nextSibling;if(e.removeChild(l),a&&a.nodeType===8)if(l=a.data,l==="/$"||l==="/&"){if(n===0){e.removeChild(a),ii(t);return}n--}else if(l==="$"||l==="$?"||l==="$~"||l==="$!"||l==="&")n++;else if(l==="html")qi(e.ownerDocument.documentElement);else if(l==="head"){l=e.ownerDocument.head,qi(l);for(var i=l.firstChild;i;){var c=i.nextSibling,r=i.nodeName;i[gl]||r==="SCRIPT"||r==="STYLE"||r==="LINK"&&i.rel.toLowerCase()==="stylesheet"||l.removeChild(i),i=c}}else l==="body"&&qi(e.ownerDocument.body);l=a}while(l);ii(t)}function kf(e,t){var l=e;e=0;do{var n=l.nextSibling;if(l.nodeType===1?t?(l._stashedDisplay=l.style.display,l.style.display="none"):(l.style.display=l._stashedDisplay||"",l.getAttribute("style")===""&&l.removeAttribute("style")):l.nodeType===3&&(t?(l._stashedText=l.nodeValue,l.nodeValue=""):l.nodeValue=l._stashedText||""),n&&n.nodeType===8)if(l=n.data,l==="/$"){if(e===0)break;e--}else l!=="$"&&l!=="$?"&&l!=="$~"&&l!=="$!"||e++;l=n}while(l)}function Ju(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var l=t;switch(t=t.nextSibling,l.nodeName){case"HTML":case"HEAD":case"BODY":Ju(l),bl(l);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(l.rel.toLowerCase()==="stylesheet")continue}e.removeChild(l)}}function dv(e,t,l,n){for(;e.nodeType===1;){var a=l;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[gl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==a.rel||e.getAttribute("href")!==(a.href==null||a.href===""?null:a.href)||e.getAttribute("crossorigin")!==(a.crossOrigin==null?null:a.crossOrigin)||e.getAttribute("title")!==(a.title==null?null:a.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(a.src==null?null:a.src)||e.getAttribute("type")!==(a.type==null?null:a.type)||e.getAttribute("crossorigin")!==(a.crossOrigin==null?null:a.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=a.name==null?null:""+a.name;if(a.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Hl(e.nextSibling),e===null)break}return null}function fv(e,t,l){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!l||(e=Hl(e.nextSibling),e===null))return null;return e}function wf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Hl(e.nextSibling),e===null))return null;return e}function Iu(e){return e.data==="$?"||e.data==="$~"}function Wu(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function mv(e,t){var l=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||l.readyState!=="loading")t();else{var n=function(){t(),l.removeEventListener("DOMContentLoaded",n)};l.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}function Hl(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Fu=null;function Uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var l=e.data;if(l==="/$"||l==="/&"){if(t===0)return Hl(e.nextSibling);t--}else l!=="$"&&l!=="$!"&&l!=="$?"&&l!=="$~"&&l!=="&"||t++}e=e.nextSibling}return null}function Hf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var l=e.data;if(l==="$"||l==="$!"||l==="$?"||l==="$~"||l==="&"){if(t===0)return e;t--}else l!=="/$"&&l!=="/&"||t++}e=e.previousSibling}return null}function qf(e,t,l){switch(t=Xs(l),e){case"html":if(e=t.documentElement,!e)throw Error(d(452));return e;case"head":if(e=t.head,!e)throw Error(d(453));return e;case"body":if(e=t.body,!e)throw Error(d(454));return e;default:throw Error(d(451))}}function qi(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);bl(e)}var ql=new Map,Lf=new Set;function Zs(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var An=Z.d;Z.d={f:hv,r:vv,D:pv,C:yv,L:gv,m:bv,X:xv,S:Sv,M:jv};function hv(){var e=An.f(),t=Us();return e||t}function vv(e){var t=Pt(e);t!==null&&t.tag===5&&t.type==="form"?td(t):An.r(e)}var li=typeof document>"u"?null:document;function Gf(e,t,l){var n=li;if(n&&typeof t=="string"&&t){var a=yt(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof l=="string"&&(a+='[crossorigin="'+l+'"]'),Lf.has(a)||(Lf.add(a),e={rel:e,crossOrigin:l,href:t},n.querySelector(a)===null&&(t=n.createElement("link"),kt(t,"link",e),Ue(t),n.head.appendChild(t)))}}function pv(e){An.D(e),Gf("dns-prefetch",e,null)}function yv(e,t){An.C(e,t),Gf("preconnect",e,t)}function gv(e,t,l){An.L(e,t,l);var n=li;if(n&&e&&t){var a='link[rel="preload"][as="'+yt(t)+'"]';t==="image"&&l&&l.imageSrcSet?(a+='[imagesrcset="'+yt(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(a+='[imagesizes="'+yt(l.imageSizes)+'"]')):a+='[href="'+yt(e)+'"]';var i=a;switch(t){case"style":i=ni(e);break;case"script":i=ai(e)}ql.has(i)||(e=Y({rel:"preload",href:t==="image"&&l&&l.imageSrcSet?void 0:e,as:t},l),ql.set(i,e),n.querySelector(a)!==null||t==="style"&&n.querySelector(Li(i))||t==="script"&&n.querySelector(Gi(i))||(t=n.createElement("link"),kt(t,"link",e),Ue(t),n.head.appendChild(t)))}}function bv(e,t){An.m(e,t);var l=li;if(l&&e){var n=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+yt(n)+'"][href="'+yt(e)+'"]',i=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=ai(e)}if(!ql.has(i)&&(e=Y({rel:"modulepreload",href:e},t),ql.set(i,e),l.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Gi(i)))return}n=l.createElement("link"),kt(n,"link",e),Ue(n),l.head.appendChild(n)}}}function Sv(e,t,l){An.S(e,t,l);var n=li;if(n&&e){var a=Vt(n).hoistableStyles,i=ni(e);t=t||"default";var c=a.get(i);if(!c){var r={loading:0,preload:null};if(c=n.querySelector(Li(i)))r.loading=5;else{e=Y({rel:"stylesheet",href:e,"data-precedence":t},l),(l=ql.get(i))&&Pu(e,l);var h=c=n.createElement("link");Ue(h),kt(h,"link",e),h._p=new Promise(function(N,_){h.onload=N,h.onerror=_}),h.addEventListener("load",function(){r.loading|=1}),h.addEventListener("error",function(){r.loading|=2}),r.loading|=4,Vs(c,t,n)}c={type:"stylesheet",instance:c,count:1,state:r},a.set(i,c)}}}function xv(e,t){An.X(e,t);var l=li;if(l&&e){var n=Vt(l).hoistableScripts,a=ai(e),i=n.get(a);i||(i=l.querySelector(Gi(a)),i||(e=Y({src:e,async:!0},t),(t=ql.get(a))&&eo(e,t),i=l.createElement("script"),Ue(i),kt(i,"link",e),l.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(a,i))}}function jv(e,t){An.M(e,t);var l=li;if(l&&e){var n=Vt(l).hoistableScripts,a=ai(e),i=n.get(a);i||(i=l.querySelector(Gi(a)),i||(e=Y({src:e,async:!0,type:"module"},t),(t=ql.get(a))&&eo(e,t),i=l.createElement("script"),Ue(i),kt(i,"link",e),l.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(a,i))}}function Bf(e,t,l,n){var a=(a=de.current)?Zs(a):null;if(!a)throw Error(d(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(t=ni(l.href),l=Vt(a).hoistableStyles,n=l.get(t),n||(n={type:"style",instance:null,count:0,state:null},l.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=ni(l.href);var i=Vt(a).hoistableStyles,c=i.get(e);if(c||(a=a.ownerDocument||a,c={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,c),(i=a.querySelector(Li(e)))&&!i._p&&(c.instance=i,c.state.loading=5),ql.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},ql.set(e,l),i||Nv(a,e,l,c.state))),t&&n===null)throw Error(d(528,""));return c}if(t&&n!==null)throw Error(d(529,""));return null;case"script":return t=l.async,l=l.src,typeof l=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=ai(l),l=Vt(a).hoistableScripts,n=l.get(t),n||(n={type:"script",instance:null,count:0,state:null},l.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(d(444,e))}}function ni(e){return'href="'+yt(e)+'"'}function Li(e){return'link[rel="stylesheet"]['+e+"]"}function Yf(e){return Y({},e,{"data-precedence":e.precedence,precedence:null})}function Nv(e,t,l,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),kt(t,"link",l),Ue(t),e.head.appendChild(t))}function ai(e){return'[src="'+yt(e)+'"]'}function Gi(e){return"script[async]"+e}function Qf(e,t,l){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+yt(l.href)+'"]');if(n)return t.instance=n,Ue(n),n;var a=Y({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),Ue(n),kt(n,"style",a),Vs(n,l.precedence,e),t.instance=n;case"stylesheet":a=ni(l.href);var i=e.querySelector(Li(a));if(i)return t.state.loading|=4,t.instance=i,Ue(i),i;n=Yf(l),(a=ql.get(a))&&Pu(n,a),i=(e.ownerDocument||e).createElement("link"),Ue(i);var c=i;return c._p=new Promise(function(r,h){c.onload=r,c.onerror=h}),kt(i,"link",n),t.state.loading|=4,Vs(i,l.precedence,e),t.instance=i;case"script":return i=ai(l.src),(a=e.querySelector(Gi(i)))?(t.instance=a,Ue(a),a):(n=l,(a=ql.get(i))&&(n=Y({},l),eo(n,a)),e=e.ownerDocument||e,a=e.createElement("script"),Ue(a),kt(a,"link",n),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(d(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Vs(n,l.precedence,e));return t.instance}function Vs(e,t,l){for(var n=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,i=a,c=0;c<n.length;c++){var r=n[c];if(r.dataset.precedence===t)i=r;else if(i!==a)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=l.nodeType===9?l.head:l,t.insertBefore(e,t.firstChild))}function Pu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function eo(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Ks=null;function Xf(e,t,l){if(Ks===null){var n=new Map,a=Ks=new Map;a.set(l,n)}else a=Ks,n=a.get(l),n||(n=new Map,a.set(l,n));if(n.has(e))return n;for(n.set(e,null),l=l.getElementsByTagName(e),a=0;a<l.length;a++){var i=l[a];if(!(i[gl]||i[Ie]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var c=i.getAttribute(t)||"";c=e+c;var r=n.get(c);r?r.push(i):n.set(c,[i])}}return n}function Zf(e,t,l){e=e.ownerDocument||e,e.head.insertBefore(l,t==="title"?e.querySelector("head > title"):null)}function Tv(e,t,l){if(l===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;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!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 Vf(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Ev(e,t,l,n){if(l.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var a=ni(n.href),i=t.querySelector(Li(a));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=$s.bind(e),t.then(e,e)),l.state.loading|=4,l.instance=i,Ue(i);return}i=t.ownerDocument||t,n=Yf(n),(a=ql.get(a))&&Pu(n,a),i=i.createElement("link"),Ue(i);var c=i;c._p=new Promise(function(r,h){c.onload=r,c.onerror=h}),kt(i,"link",n),l.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,t),(t=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=$s.bind(e),t.addEventListener("load",l),t.addEventListener("error",l))}}var to=0;function Cv(e,t){return e.stylesheets&&e.count===0&&Is(e,e.stylesheets),0<e.count||0<e.imgCount?function(l){var n=setTimeout(function(){if(e.stylesheets&&Is(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&to===0&&(to=62500*sv());var a=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Is(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>to?50:800)+t);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function $s(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Is(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Js=null;function Is(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Js=new Map,t.forEach(Av,e),Js=null,$s.call(e))}function Av(e,t){if(!(t.state.loading&4)){var l=Js.get(e);if(l)var n=l.get(null);else{l=new Map,Js.set(e,l);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<a.length;i++){var c=a[i];(c.nodeName==="LINK"||c.getAttribute("media")!=="not all")&&(l.set(c.dataset.precedence,c),n=c)}n&&l.set(null,n)}a=t.instance,c=a.getAttribute("data-precedence"),i=l.get(c)||n,i===n&&l.set(null,a),l.set(c,a),this.count++,n=$s.bind(this),a.addEventListener("load",n),a.addEventListener("error",n),i?i.parentNode.insertBefore(a,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(a,e.firstChild)),t.state.loading|=4}}var Bi={$$typeof:Me,Provider:null,Consumer:null,_currentValue:ne,_currentValue2:ne,_threadCount:0};function Rv(e,t,l,n,a,i,c,r,h){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Tt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tt(0),this.hiddenUpdates=Tt(null),this.identifierPrefix=n,this.onUncaughtError=a,this.onCaughtError=i,this.onRecoverableError=c,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=h,this.incompleteTransitions=new Map}function Kf(e,t,l,n,a,i,c,r,h,N,_,w){return e=new Rv(e,t,l,c,h,N,_,w,r),t=1,i===!0&&(t|=24),i=jl(3,null,null,t),e.current=i,i.stateNode=e,t=kc(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:n,isDehydrated:l,cache:t},qc(i),e}function $f(e){return e?(e=wa,e):wa}function Jf(e,t,l,n,a,i){a=$f(a),n.context===null?n.context=a:n.pendingContext=a,n=Xn(t),n.payload={element:l},i=i===void 0?null:i,i!==null&&(n.callback=i),l=Zn(e,n,t),l!==null&&(ol(l,e,t),bi(l,e,t))}function If(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var l=e.retryLane;e.retryLane=l!==0&&l<t?l:t}}function lo(e,t){If(e,t),(e=e.alternate)&&If(e,t)}function Wf(e){if(e.tag===13||e.tag===31){var t=pa(e,67108864);t!==null&&ol(t,e,67108864),lo(e,67108864)}}function Ff(e){if(e.tag===13||e.tag===31){var t=Al();t=st(t);var l=pa(e,t);l!==null&&ol(l,e,t),lo(e,t)}}var Ws=!0;function Dv(e,t,l,n){var a=D.T;D.T=null;var i=Z.p;try{Z.p=2,no(e,t,l,n)}finally{Z.p=i,D.T=a}}function Ov(e,t,l,n){var a=D.T;D.T=null;var i=Z.p;try{Z.p=8,no(e,t,l,n)}finally{Z.p=i,D.T=a}}function no(e,t,l,n){if(Ws){var a=ao(n);if(a===null)Qu(e,t,n,Fs,l),em(e,n);else if(_v(a,e,t,l,n))n.stopPropagation();else if(em(e,n),t&4&&-1<zv.indexOf(e)){for(;a!==null;){var i=Pt(a);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var c=At(i.pendingLanes);if(c!==0){var r=i;for(r.pendingLanes|=2,r.entangledLanes|=2;c;){var h=1<<31-be(c);r.entanglements[1]|=h,c&=~h}cn(i),(we&6)===0&&(ks=it()+500,wi(0))}}break;case 31:case 13:r=pa(i,2),r!==null&&ol(r,i,2),Us(),lo(i,2)}if(i=ao(n),i===null&&Qu(e,t,n,Fs,l),i===a)break;a=i}a!==null&&n.stopPropagation()}else Qu(e,t,n,null,l)}}function ao(e){return e=H(e),io(e)}var Fs=null;function io(e){if(Fs=null,e=Ft(e),e!==null){var t=R(e);if(t===null)e=null;else{var l=t.tag;if(l===13){if(e=O(t),e!==null)return e;e=null}else if(l===31){if(e=K(t),e!==null)return e;e=null}else if(l===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Fs=e,null}function Pf(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ke()){case ca:return 2;case Ge:return 8;case dl:case Yt:return 32;case ua:return 268435456;default:return 32}default:return 32}}var so=!1,la=null,na=null,aa=null,Yi=new Map,Qi=new Map,ia=[],zv="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function em(e,t){switch(e){case"focusin":case"focusout":la=null;break;case"dragenter":case"dragleave":na=null;break;case"mouseover":case"mouseout":aa=null;break;case"pointerover":case"pointerout":Yi.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Qi.delete(t.pointerId)}}function Xi(e,t,l,n,a,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:l,eventSystemFlags:n,nativeEvent:i,targetContainers:[a]},t!==null&&(t=Pt(t),t!==null&&Wf(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,a!==null&&t.indexOf(a)===-1&&t.push(a),e)}function _v(e,t,l,n,a){switch(t){case"focusin":return la=Xi(la,e,t,l,n,a),!0;case"dragenter":return na=Xi(na,e,t,l,n,a),!0;case"mouseover":return aa=Xi(aa,e,t,l,n,a),!0;case"pointerover":var i=a.pointerId;return Yi.set(i,Xi(Yi.get(i)||null,e,t,l,n,a)),!0;case"gotpointercapture":return i=a.pointerId,Qi.set(i,Xi(Qi.get(i)||null,e,t,l,n,a)),!0}return!1}function tm(e){var t=Ft(e.target);if(t!==null){var l=R(t);if(l!==null){if(t=l.tag,t===13){if(t=O(l),t!==null){e.blockedOn=t,Xl(e.priority,function(){Ff(l)});return}}else if(t===31){if(t=K(l),t!==null){e.blockedOn=t,Xl(e.priority,function(){Ff(l)});return}}else if(t===3&&l.stateNode.current.memoizedState.isDehydrated){e.blockedOn=l.tag===3?l.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ps(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var l=ao(e.nativeEvent);if(l===null){l=e.nativeEvent;var n=new l.constructor(l.type,l);T=n,l.target.dispatchEvent(n),T=null}else return t=Pt(l),t!==null&&Wf(t),e.blockedOn=l,!1;t.shift()}return!0}function lm(e,t,l){Ps(e)&&l.delete(t)}function Mv(){so=!1,la!==null&&Ps(la)&&(la=null),na!==null&&Ps(na)&&(na=null),aa!==null&&Ps(aa)&&(aa=null),Yi.forEach(lm),Qi.forEach(lm)}function ec(e,t){e.blockedOn===t&&(e.blockedOn=null,so||(so=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Mv)))}var tc=null;function nm(e){tc!==e&&(tc=e,o.unstable_scheduleCallback(o.unstable_NormalPriority,function(){tc===e&&(tc=null);for(var t=0;t<e.length;t+=3){var l=e[t],n=e[t+1],a=e[t+2];if(typeof n!="function"){if(io(n||l)===null)continue;break}var i=Pt(l);i!==null&&(e.splice(t,3),t-=3,au(i,{pending:!0,data:a,method:l.method,action:n},n,a))}}))}function ii(e){function t(h){return ec(h,e)}la!==null&&ec(la,e),na!==null&&ec(na,e),aa!==null&&ec(aa,e),Yi.forEach(t),Qi.forEach(t);for(var l=0;l<ia.length;l++){var n=ia[l];n.blockedOn===e&&(n.blockedOn=null)}for(;0<ia.length&&(l=ia[0],l.blockedOn===null);)tm(l),l.blockedOn===null&&ia.shift();if(l=(e.ownerDocument||e).$$reactFormReplay,l!=null)for(n=0;n<l.length;n+=3){var a=l[n],i=l[n+1],c=a[ft]||null;if(typeof i=="function")c||nm(l);else if(c){var r=null;if(i&&i.hasAttribute("formAction")){if(a=i,c=i[ft]||null)r=c.formAction;else if(io(a)!==null)continue}else r=c.action;typeof r=="function"?l[n+1]=r:(l.splice(n,3),n-=3),nm(l)}}}function am(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(c){return a=c})},focusReset:"manual",scroll:"manual"})}function t(){a!==null&&(a(),a=null),n||setTimeout(l,20)}function l(){if(!n&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,a=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(l,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),a!==null&&(a(),a=null)}}}function co(e){this._internalRoot=e}lc.prototype.render=co.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(d(409));var l=t.current,n=Al();Jf(l,n,e,t,null,null)},lc.prototype.unmount=co.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Jf(e.current,2,null,e,null,null),Us(),t[pe]=null}};function lc(e){this._internalRoot=e}lc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rt();e={blockedOn:null,target:e,priority:t};for(var l=0;l<ia.length&&t!==0&&t<ia[l].priority;l++);ia.splice(l,0,e),l===0&&tm(e)}};var im=u.version;if(im!=="19.2.8")throw Error(d(527,im,"19.2.8"));Z.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(d(188)):(e=Object.keys(e).join(","),Error(d(268,e)));return e=z(t),e=e!==null?$(e):null,e=e===null?null:e.stateNode,e};var kv={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:D,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var nc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!nc.isDisabled&&nc.supportsFiber)try{Qt=nc.inject(kv),ee=nc}catch{}}return Vi.createRoot=function(e,t){if(!x(e))throw Error(d(299));var l=!1,n="",a=dd,i=fd,c=md;return t!=null&&(t.unstable_strictMode===!0&&(l=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(a=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=Kf(e,1,!1,null,null,l,n,null,a,i,c,am),e[pe]=t.current,Yu(e),new co(t)},Vi.hydrateRoot=function(e,t,l){if(!x(e))throw Error(d(299));var n=!1,a="",i=dd,c=fd,r=md,h=null;return l!=null&&(l.unstable_strictMode===!0&&(n=!0),l.identifierPrefix!==void 0&&(a=l.identifierPrefix),l.onUncaughtError!==void 0&&(i=l.onUncaughtError),l.onCaughtError!==void 0&&(c=l.onCaughtError),l.onRecoverableError!==void 0&&(r=l.onRecoverableError),l.formState!==void 0&&(h=l.formState)),t=Kf(e,1,!0,t,l??null,n,a,h,i,c,r,am),t.context=$f(null),l=t.current,n=Al(),n=st(n),a=Xn(n),a.callback=null,Zn(l,a,n),l=n,t.current.lanes=l,vl(t,l),cn(t),e[pe]=t.current,Yu(e),new lc(t)},Vi.version="19.2.8",Vi}var vm;function Xv(){if(vm)return ro.exports;vm=1;function o(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(o)}catch(u){console.error(u)}}return o(),ro.exports=Qv(),ro.exports}var Zv=Xv();function Da(o){if(o==null)return null;if(typeof o=="string")return o.trim()||null;if(typeof o=="number"||typeof o=="boolean")return String(o);if(typeof o=="object"){const u=o;if(typeof u.text=="string"&&u.text.trim())return u.text.trim();if(typeof u.errorMessage=="string"&&u.errorMessage.trim())return u.errorMessage.trim();if(Array.isArray(u.content)){const m=u.content.map(d=>{if(typeof d=="string")return d;if(d&&typeof d=="object"){const x=d;if(typeof x.text=="string")return x.text}return""}).filter(Boolean);if(m.length)return m.join(`
|
|
10
|
+
`).slice(0,240)}if(typeof u.role=="string")return`${u.role} 消息`}return null}function Vv(o){const u=Da(o.at)??Da(o.timestamp)??Da(o.recordedAt)??"",m=Da(o.errorMessage)??Da(o.label)??Da(o.type)??Da(o.message)??"运行事件";return u?`${u} · ${m}`:m}function Ji(o){return String(o.nodeId??o.id??"").trim()}function vo(o){const u=Ji(o);return String(o.label??o.name??(u||"未命名节点"))}function pm(o,u){if(o.length===0)return;const m=u?.trim();if(m){const R=o.find(O=>Ji(O)===m);if(R)return R}const d=o.find(R=>{const O=String(R.status??"").toLowerCase();return O.includes("fail")||O.includes("error")||O==="blocked"});return d||(o.find(R=>{const O=String(R.status??"").toLowerCase();return O==="running"||O==="in_progress"||O==="active"})??o[0])}function Kv({dagRunId:o,nodeId:u,onClose:m,onOpenFull:d}){const x=v.useRef(null),[R,O]=v.useState(null),[K,B]=v.useState([]),[z,$]=v.useState(null),[Y,P]=v.useState(!0);v.useEffect(()=>{x.current?.focus();const ce=_e=>{_e.key==="Escape"&&m()};return document.addEventListener("keydown",ce),document.title=`检视 · DAG ${o} · Loop Operator`,()=>document.removeEventListener("keydown",ce)},[o,m]),v.useEffect(()=>{const ce=new AbortController;return P(!0),$(null),B([]),(async()=>{try{const _e=await fetch(`/api/dag-runs/${encodeURIComponent(o)}`,{signal:ce.signal,credentials:"same-origin"});if(!_e.ok)throw new Error(`DAG 查询失败(HTTP ${_e.status})`);const Me=await _e.json();if(ce.signal.aborted)return;O(Me);const pt=Array.isArray(Me.nodes)?Me.nodes:[],ot=pm(pt,u),We=ot?Ji(ot):u?.trim();if(We){const re=await fetch(`/api/dag-runs/${encodeURIComponent(o)}/nodes/${encodeURIComponent(We)}/session-events`,{signal:ce.signal,credentials:"same-origin"});if(re.ok){const Ee=await re.json();ce.signal.aborted||B((Ee.events??[]).slice(-20))}}}catch(_e){ce.signal.aborted||$(_e instanceof Error?_e.message:String(_e))}finally{ce.signal.aborted||P(!1)}})(),()=>ce.abort()},[o,u]);const G=v.useMemo(()=>Array.isArray(R?.nodes)?R.nodes:[],[R]),le=pm(G,u),ie=le?Ji(le):"",et=String(R?.effectiveStatus??R?.status??(Y?"加载中…":"未知"));return s.jsxs("aside",{className:"inspect-split-panel","aria-label":"DAG 紧凑检视",children:[s.jsxs("div",{className:"inspect-split-header",children:[s.jsxs("div",{children:[s.jsx("p",{className:"inspect-split-kicker",children:"Inspect"}),s.jsx("h2",{children:"检视 DAG"})]}),s.jsx("button",{ref:x,type:"button","aria-label":"关闭检视面板",onClick:m,children:"关闭"})]}),s.jsx("p",{className:"inspect-split-id",children:s.jsx("code",{children:o})}),z?s.jsx("p",{className:"error",children:z}):null,Y&&!R?s.jsx("p",{className:"muted",children:"正在加载 DAG…"}):null,s.jsxs("dl",{className:"inspect-split-facts",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"状态"}),s.jsx("dd",{children:et})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"当前节点"}),s.jsx("dd",{children:le?vo(le):"暂无节点"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"节点状态"}),s.jsx("dd",{children:le?.status??"—"})]}),le?.errorPreview?s.jsxs("div",{children:[s.jsx("dt",{children:"错误摘要"}),s.jsx("dd",{children:le.errorPreview})]}):null]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["节点(",G.length,")"]}),G.length?s.jsx("ul",{className:"inspect-split-nodes",children:G.slice(0,24).map(ce=>{const _e=Ji(ce)||vo(ce),Me=_e===ie;return s.jsxs("li",{"data-active":Me?"true":void 0,className:Me?"is-active":void 0,children:[s.jsx("span",{children:vo(ce)}),s.jsx("code",{children:ce.status??"—"})]},_e)})}):s.jsx("p",{className:"muted",children:Y?"加载节点中…":"该运行暂无节点。"})]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["最近事件",ie?` · ${ie}`:""]}),K.length?s.jsx("ul",{className:"inspect-split-events",children:K.map((ce,_e)=>s.jsx("li",{children:Vv(ce)},`${ce.at??_e}-${_e}`))}):s.jsx("p",{className:"muted",children:Y?"加载事件中…":"节点事件将在可用时显示。"})]}),s.jsx("button",{type:"button",className:"btn btn-secondary",onClick:d,children:"全屏观测"}),s.jsx("p",{className:"muted",children:"全屏后点顶栏「返回操作台」可回来。"})]})}function $v(o){const u=[],m=o.split(`
|
|
11
|
+
`);let d=0,x=[];const R=()=>{const O=x.join(`
|
|
12
|
+
`).trimEnd();O&&u.push({type:"text",text:O}),x=[]};for(;d<m.length;){const O=m[d],K=O.match(/^\s*(`{3,}|~{3,})\s*([^\s`~]*)\s*$/);if(K){R();const B=K[1][0],z=(K[2]??"").trim(),$=[];for(d+=1;d<m.length;){const Y=m[d];if(Y.trim()===B.repeat(K[1].length)){d+=1;break}if(new RegExp(`^\\s*${B}{3,}`).test(Y)){d+=1;break}$.push(Y),d+=1}u.push({type:"code",lang:z,text:$.join(`
|
|
13
|
+
`)});continue}x.push(O),d+=1}return R(),u}const Jv=/(`[^`]+`)|(\*\*[^*]+\*\*)|(\*[^*]+\*|_[^_]+_)|(~~[^~]+~~)|(\[[^\]]+\]\([^)\s]+\))/;function Ki(o,u){const m=[];let d=o,x=0;for(;d.length>0;){const R=Jv.exec(d);if(!R||R.index===void 0){m.push(d);break}R.index>0&&m.push(d.slice(0,R.index));const O=R[0],K=`${u}-i${x++}`;if(O.startsWith("`"))m.push(s.jsx("code",{children:O.slice(1,-1)},K));else if(O.startsWith("**"))m.push(s.jsx("strong",{children:O.slice(2,-2)},K));else if(O.startsWith("*")||O.startsWith("_"))m.push(s.jsx("em",{children:O.slice(1,-1)},K));else if(O.startsWith("~~"))m.push(s.jsx("s",{children:O.slice(2,-2)},K));else if(O.startsWith("[")){const B=O.match(/^\[([^\]]+)\]\(([^)\s]+)\)$/);B?m.push(s.jsx("a",{href:B[2],target:"_blank",rel:"noreferrer noopener",children:B[1]},K)):m.push(O)}d=d.slice(R.index+O.length)}return m}function Iv({lang:o,text:u}){const[m,d]=v.useState(!1),x=()=>{navigator.clipboard?.writeText(u).then(()=>{d(!0),window.setTimeout(()=>d(!1),1600)},()=>{})};return s.jsxs("div",{className:"oc-codeblock",children:[s.jsxs("div",{className:"oc-codeblock-head",children:[s.jsx("span",{className:"oc-codeblock-lang",children:o||"text"}),s.jsx("button",{type:"button",className:"oc-codeblock-copy",onClick:x,children:m?"已复制":"复制"})]}),s.jsx("pre",{children:s.jsx("code",{children:u})})]})}function Wv(o,u){const m=[],d=o.split(`
|
|
14
|
+
`);let x=0,R=0;for(;R<d.length;){const K=d[R].trim();if(K===""){R+=1;continue}const B=K.match(/^(#{1,4})\s+(.*)$/);if(B){const Y=`h${B[1].length}`;m.push(s.jsx(Y,{children:Ki(B[2],`${u}-h${x}`)},`${u}-h${x++}`)),R+=1;continue}if(/^(---|\*\*\*|___)\s*$/.test(K)){m.push(s.jsx("hr",{},`${u}-hr${x++}`)),R+=1;continue}if(K.startsWith(">")){const $=[];for(;R<d.length&&d[R].trim().startsWith(">");)$.push(d[R].trim().replace(/^>\s?/,"")),R+=1;m.push(s.jsx("blockquote",{children:$.map((Y,P)=>s.jsx("p",{children:Ki(Y,`${u}-bq${x}-${P}`)},P))},`${u}-bq${x++}`));continue}if(/^[-*+]\s+/.test(K)){const $=[];for(;R<d.length&&/^\s*[-*+]\s+/.test(d[R]);)$.push(d[R].trim().replace(/^[-*+]\s+/,"")),R+=1;m.push(s.jsx("ul",{children:$.map((Y,P)=>s.jsx("li",{children:Ki(Y,`${u}-ul${x}-${P}`)},P))},`${u}-ul${x++}`));continue}if(/^\d+\.\s+/.test(K)){const $=[];for(;R<d.length&&/^\s*\d+\.\s+/.test(d[R]);)$.push(d[R].trim().replace(/^\d+\.\s+/,"")),R+=1;m.push(s.jsx("ol",{children:$.map((Y,P)=>s.jsx("li",{children:Ki(Y,`${u}-ol${x}-${P}`)},P))},`${u}-ol${x++}`));continue}const z=[];for(;R<d.length&&d[R].trim()!==""&&!/^(#{1,4})\s+/.test(d[R].trim())&&!/^(---|\*\*\*|___)\s*$/.test(d[R].trim())&&!d[R].trim().startsWith(">")&&!/^[-*+]\s+/.test(d[R].trim())&&!/^\d+\.\s+/.test(d[R].trim());)z.push(d[R].trim()),R+=1;m.push(s.jsx("p",{children:Ki(z.join(" "),`${u}-p${x}`)},`${u}-p${x++}`))}return m}function Fv({text:o}){const u=$v(o);return s.jsx("div",{className:"oc-md",children:u.map((m,d)=>m.type==="code"?s.jsx(Iv,{lang:m.lang,text:m.text},`cb-${d}`):s.jsx("div",{children:Wv(m.text,`tx-${d}`)},`tx-${d}`))})}const po=()=>window.__CONSOLE_CONFIRMATION_TOKEN__??"";function Pv({origin:o}){const[u,m]=v.useState(null),[d,x]=v.useState(null),[R,O]=v.useState(null),[K,B]=v.useState(!1),z=async G=>{m(G),x(null),O(null);const le=G==="models"?"/api/operator/v1/pi/models-config":G==="skills"?"/api/operator/v1/chat/instruction-skills":"/api/operator/v1/pi/packages";try{const ie=await fetch(`${o}${le}`,{credentials:"include"}),et=await ie.json();if(!ie.ok)throw new Error(et.error?.message??"读取失败");x(et.data)}catch(ie){O(ie instanceof Error?ie.message:String(ie))}},$=async G=>{B(!0),O(null);try{const le=await fetch(`${o}/api/operator/v1/pi/models-config`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":po()},body:JSON.stringify(G)}),ie=await le.json();if(!le.ok)throw new Error(ie.error?.message??"模型配置保存失败");x(ie.data)}catch(le){O(le instanceof Error?le.message:String(le))}finally{B(!1)}},Y=async(G,le)=>{B(!0),O(null);try{const ie=await fetch(`${o}/api/operator/v1/pi/models-config/test`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":po()},body:JSON.stringify({provider:G,modelId:le})}),et=await ie.json();if(!ie.ok)throw new Error(et.error?.message??"模型测试失败");return et.data?.available===!0}catch(ie){return O(ie instanceof Error?ie.message:String(ie)),!1}finally{B(!1)}},P=async(G,le)=>{const ie=d,et=le?[...ie.disabledNames??[],G]:(ie.disabledNames??[]).filter(_e=>_e!==G);(await fetch(`${o}/api/operator/v1/chat/instruction-skills/preferences`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":po()},body:JSON.stringify({disabledNames:et})})).ok?x({...ie,disabledNames:[...new Set(et)]}):O("偏好保存失败")};return s.jsxs("div",{className:"oc-governance",children:[s.jsxs("div",{className:"oc-governance-links",children:[s.jsx("button",{type:"button",onClick:()=>{z("models")},children:"Models"}),s.jsx("button",{type:"button",onClick:()=>{z("skills")},children:"Skills"}),s.jsx("button",{type:"button",onClick:()=>{z("packages")},children:"Packages"})]}),u&&s.jsxs("section",{className:"oc-governance-panel",children:[s.jsxs("header",{children:[s.jsx("strong",{children:u==="models"?"Models":u==="skills"?"Skills":"Packages(只读)"}),s.jsx("button",{type:"button",onClick:()=>m(null),children:"关闭"})]}),R&&s.jsx("p",{className:"oc-governance-error",children:R}),u==="models"&&s.jsx(ep,{busy:K,data:d,onMutate:$,onTest:Y}),u==="skills"&&s.jsx(tp,{data:d,onToggle:P}),u==="packages"&&s.jsx(lp,{data:d})]})]})}function ep({busy:o,data:u,onMutate:m,onTest:d}){const[x,R]=v.useState(""),[O,K]=v.useState(""),[B,z]=v.useState(""),[$,Y]=v.useState(null),P=async G=>{G.preventDefault(),!(!u||!x.trim()||!O.trim())&&(await m({expectedRevision:u.revision,action:"upsert-model",provider:x.trim(),model:{id:O.trim(),...B.trim()?{name:B.trim()}:{}}}),K(""),z(""))};return u?s.jsxs("div",{className:"oc-models-config",children:[s.jsx("p",{children:"Console 不读取或写入 API key;credential 请通过 Pi CLI 配置。"}),u.providers.map(G=>s.jsxs("article",{className:"oc-model-provider",children:[s.jsxs("div",{children:[s.jsx("strong",{children:G.name}),s.jsx("span",{children:G.credential.configured?"credential configured":"credential 未配置"})]}),G.models.map(le=>s.jsxs("div",{className:"oc-model-row",children:[s.jsx("span",{children:le.name?`${le.name} (${le.id})`:le.id}),s.jsxs("div",{children:[s.jsx("button",{type:"button",disabled:o,onClick:()=>{d(G.name,le.id).then(ie=>Y(`${G.name}/${le.id}: ${ie?"可用":"不可用"}`))},children:"测试"}),s.jsx("button",{type:"button",disabled:o,onClick:()=>{window.confirm(`确认删除模型 ${G.name}/${le.id}?`)&&m({expectedRevision:u.revision,action:"remove-model",provider:G.name,model:{id:le.id}})},children:"删除"})]})]},le.id)),s.jsx("button",{type:"button",disabled:o,onClick:()=>{window.confirm(`确认删除 Provider ${G.name}?`)&&m({expectedRevision:u.revision,action:"remove-provider",provider:G.name})},children:"删除 Provider"})]},G.name)),$&&s.jsx("p",{className:"oc-model-test-result",children:$}),s.jsxs("form",{className:"oc-model-form",onSubmit:G=>{P(G)},children:[s.jsx("strong",{children:"新增或更新模型"}),s.jsx("input",{required:!0,placeholder:"Provider",value:x,onChange:G=>R(G.target.value)}),s.jsx("input",{required:!0,placeholder:"Model ID",value:O,onChange:G=>K(G.target.value)}),s.jsx("input",{placeholder:"显示名称(可选)",value:B,onChange:G=>z(G.target.value)}),s.jsx("button",{type:"submit",disabled:o,children:o?"保存中…":"保存模型"})]})]}):s.jsx("p",{children:"正在读取模型配置…"})}function tp({data:o,onToggle:u}){return s.jsxs("div",{children:[o?.allowed?.map(m=>{const d=typeof m=="string"?m:m.name,x=o.disabledNames?.includes(d)===!0;return s.jsxs("label",{children:[s.jsx("input",{type:"checkbox",checked:!x,onChange:R=>u(d,!R.target.checked)}),d,typeof m!="string"&&m.description?s.jsx("small",{children:m.description}):null]},d)}),s.jsx("small",{children:"偏好仅影响之后创建的新会话;denied/conditional 策略不可在此绕过。"})]})}function lp({data:o}){return s.jsxs("div",{children:[s.jsx("p",{children:"此处仅展示 Pi 配置;不会扩大 Operator Chat 工具面。"}),o?.packages?.map(u=>s.jsxs("article",{children:[s.jsx("strong",{children:u.spec}),s.jsx("span",{children:u.scope})]},`${u.scope}:${u.spec}`))]})}const To=10;function np(o){return[...o].sort((u,m)=>u.kind!==m.kind?u.kind==="directory"?-1:1:u.name.localeCompare(m.name,void 0,{sensitivity:"base"}))}function ap({open:o}){return s.jsx("svg",{className:`oc-tree-chevron${o?" is-open":""}`,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:s.jsx("path",{d:"M4.2 2.4 7.8 6 4.2 9.6",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function ip({open:o}){return o?s.jsxs("svg",{className:"oc-tree-glyph is-folder-open",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:[s.jsx("path",{d:"M1.5 4.2h3.1l1.1 1.2H12a.8.8 0 0 1 .8.8v5a.8.8 0 0 1-.8.8H2a.8.8 0 0 1-.8-.8V5a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.88"}),s.jsx("path",{d:"M1.8 5.8h10.4l-.7 5.2H2.5L1.8 5.8Z",fill:"currentColor",opacity:"0.55"})]}):s.jsx("svg",{className:"oc-tree-glyph is-folder",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M1.5 3.8h3.2l1 1.1H12a.8.8 0 0 1 .8.8v5.5a.8.8 0 0 1-.8.8H2a.8.8 0 0 1-.8-.8V4.6a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.78"})})}function sp(){return s.jsxs("svg",{className:"oc-tree-glyph is-file",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:[s.jsx("path",{d:"M3.2 1.6h5.1L10.8 4v8.4a.8.8 0 0 1-.8.8H3.2a.8.8 0 0 1-.8-.8V2.4a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.55"}),s.jsx("path",{d:"M8.3 1.7v2.5h2.4",fill:"none",stroke:"currentColor",strokeWidth:"1.1",strokeLinejoin:"round",opacity:"0.75"})]})}function cp(o){const u=o.sessions.slice(0,To);return s.jsx("aside",{className:`oc-sidebar${o.open?"":" is-collapsed"}`,"aria-label":"会话与仓库",children:o.open?s.jsxs(s.Fragment,{children:[s.jsxs("section",{className:"oc-sidebar-section oc-sessions",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"会话"}),s.jsxs("div",{className:"oc-sidebar-header-actions",children:[s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:o.onCreate,children:"新建"}),s.jsx("button",{type:"button",className:"oc-sidebar-toggle",onClick:o.onToggleOpen,"aria-expanded":!0,"aria-label":"收起侧栏",title:"收起侧栏",children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M8.8 2.6 5.2 7l3.6 4.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),s.jsxs("div",{className:"oc-session-scroll",children:[["active","archived"].map(m=>{const d=u.filter(x=>x.state===m);return d.length?s.jsxs("div",{className:"oc-session-group",children:[s.jsx("small",{children:m==="active"?"进行中":"已归档"}),d.map(x=>s.jsxs("div",{className:`oc-session-item${o.activeSessionId===x.sessionId?" is-active":""}`,children:[s.jsxs("button",{type:"button",className:"oc-session-main",onClick:()=>o.onActivate(x.sessionId),children:[s.jsxs("strong",{children:[x.title||"未命名对话",x.activeTurnId?" · 运行中":""]}),s.jsx("span",{children:new Date(x.updatedAt).toLocaleString()})]}),s.jsxs("div",{className:"oc-session-actions",children:[s.jsx("button",{type:"button",className:"oc-session-menu",onClick:()=>{const R=window.prompt("会话名称",x.title??"");R!==null&&o.onRename(x.sessionId,R)},children:"重命名"}),s.jsx("button",{type:"button",className:"oc-session-menu",onClick:()=>o.onSetState(x.sessionId,m==="active"?"archived":"active"),children:m==="active"?"归档":"恢复"}),s.jsx("button",{type:"button",className:"oc-session-menu oc-session-delete",onClick:()=>o.onDelete(x.sessionId),children:"删除"})]})]},x.sessionId))]},m):null}),u.length===0?s.jsx("p",{className:"oc-tree-empty",children:"暂无会话,点击上方新建。"}):null]})]}),s.jsxs("section",{className:"oc-sidebar-section oc-explorer",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"仓库"}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:o.onRefreshTree,children:"刷新"})]}),s.jsx("p",{className:"oc-explorer-hint",children:"单击插入 @路径 · 双击预览"}),o.treeError&&s.jsx("p",{className:"oc-sidebar-error",children:o.treeError}),s.jsx("div",{className:"oc-tree-scroll",children:s.jsx(Cm,{entries:o.tree[""]??[],tree:o.tree,expanded:o.expanded,depth:0,onToggle:o.onToggleDir,onInsert:o.onInsert,onPreview:o.onPreview})})]}),s.jsx(Pv,{origin:o.origin})]}):s.jsx("button",{type:"button",className:"oc-sidebar-toggle is-collapsed",onClick:o.onToggleOpen,"aria-expanded":!1,"aria-label":"展开侧栏",title:"展开侧栏",children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M5.2 2.6 8.8 7 5.2 11.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})})})}function Cm(o){const u=v.useMemo(()=>np(o.entries),[o.entries]);return u.length?s.jsx("ul",{className:"oc-tree",role:o.depth===0?"tree":"group",children:u.map(m=>{const d=m.name.startsWith(".");if(m.kind==="directory"){const x=o.expanded.has(m.path);return s.jsxs("li",{className:`oc-tree-node is-dir${x?" is-open":""}${d?" is-dot":""}`,role:"treeitem","aria-expanded":x,children:[s.jsxs("button",{type:"button",className:"oc-tree-row oc-tree-dir",onClick:()=>o.onToggle(m.path),style:{paddingLeft:`${8+o.depth*12}px`},children:[s.jsx(ap,{open:x}),s.jsx(ip,{open:x}),s.jsx("span",{className:"oc-tree-label",children:m.name})]}),x?s.jsx("div",{className:"oc-tree-children",style:{"--oc-tree-guide":`${14+o.depth*12}px`},children:s.jsx(Cm,{entries:o.tree[m.path]??[],tree:o.tree,expanded:o.expanded,depth:o.depth+1,onToggle:o.onToggle,onInsert:o.onInsert,onPreview:o.onPreview})}):null]},m.path)}return s.jsx("li",{className:`oc-tree-node is-file${d?" is-dot":""}`,role:"treeitem",children:s.jsx(up,{entry:m,depth:o.depth,onInsert:o.onInsert,onPreview:o.onPreview})},m.path)})}):s.jsx("p",{className:"oc-tree-empty",children:"此目录为空或没有可安全浏览的文件。"})}function up(o){const u=v.useRef(null);return v.useEffect(()=>()=>{u.current!==null&&window.clearTimeout(u.current)},[]),s.jsxs("button",{type:"button",className:"oc-tree-row oc-tree-file",style:{paddingLeft:`${8+o.depth*12}px`},title:"单击插入引用;双击预览",onClick:()=>{u.current!==null&&window.clearTimeout(u.current),u.current=window.setTimeout(()=>{o.onInsert(o.entry.path),u.current=null},220)},onDoubleClick:()=>{u.current!==null&&window.clearTimeout(u.current),u.current=null,o.onPreview(o.entry.path)},children:[s.jsx("span",{className:"oc-tree-chevron-spacer","aria-hidden":"true"}),s.jsx(sp,{}),s.jsx("span",{className:"oc-tree-label",children:o.entry.name})]})}function op(o){const u=o.previews.find(m=>m.path===o.activePath);return!u&&!o.loading?null:s.jsxs(s.Fragment,{children:[u&&s.jsxs("section",{className:"oc-file-preview","aria-label":`文件预览 ${u.path}`,children:[s.jsxs("header",{children:[s.jsx("div",{className:"oc-file-tabs",role:"tablist","aria-label":"文件预览 Tabs",children:o.previews.map(m=>s.jsx("button",{type:"button",role:"tab","aria-selected":m.path===u.path,className:m.path===u.path?"is-active":"",onClick:()=>o.onActivate(m.path),children:m.path},m.path))}),s.jsxs("span",{children:[u.bytes," bytes",u.truncated?" · 已截断":""]}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>o.onClose(u.path),children:"关闭预览"})]}),s.jsx("pre",{children:s.jsx("code",{children:u.content})})]}),o.loading&&s.jsx("div",{className:"oc-file-preview-loading",children:"正在读取文件…"})]})}function rp(o,u){const m=o.findIndex(d=>d.operationId===u.operationId);return m<0?[...o,u]:o.map((d,x)=>x===m?{...d,...u}:d)}function dp(o){const u=o.operation;if(!u||typeof u!="object")return;const m=u;if(!(m.schemaVersion!==1||typeof m.operationId!="string"||typeof m.action!="string"||typeof m.state!="string"||typeof m.inspectHref!="string"||typeof m.createdAt!="string"||typeof m.updatedAt!="string"||typeof m.previewHash!="string"))return m}function fp(o){if(!o||typeof o!="object")return;const u=o;if(!(u.schemaVersion!==1||typeof u.cardId!="string"||u.gateType!=="contract-apply"&&u.gateType!=="dag-run"||typeof u.taskId!="string"||typeof u.state!="string"||typeof u.expiresAt!="string"||typeof u.inspectHref!="string"||typeof u.previewHash!="string"))return u}function mp(o,u){const m=o.findIndex(x=>x.cardId===u.cardId);if(m<0)return[...o,u];const d=[...o];return d[m]=u,d}const hp=["operation","contract","dag","report","html"];function vp(o){const u=o.artifact;if(!u||typeof u!="object")return;const m=u;if(!(m.schemaVersion!==1||typeof m.artifactId!="string"||!m.artifactId||typeof m.kind!="string"||!hp.includes(m.kind)||typeof m.previewHash!="string")){for(const d of["title","summary","htmlPreview","reportText","inspectHref"])if(m[d]!==void 0&&typeof m[d]!="string")return;return m}}function pp(o,u){const m=o.findIndex(d=>d.artifactId===u.artifactId);return m<0?[...o,u]:o.map((d,x)=>x===m?{...d,...u}:d)}function Oa(o,u){return`${o}/${u}`}function yo(o){return{...o.modelProvider&&o.modelId?{model:{provider:o.modelProvider,modelId:o.modelId}}:{},...o.thinkingLevel?{thinkingLevel:o.thinkingLevel}:{}}}function Eo(o,u){return{...o,model:u.model??o.model,thinkingLevel:u.thinkingLevel??o.thinkingLevel}}function ym(o,u){const m=Eo(o,u);return m.model?.provider===o.model?.provider&&m.model?.modelId===o.model?.modelId&&m.thinkingLevel===o.thinkingLevel}const Co=[{command:"/task",label:"Task context",description:"查看当前任务、Draft 与 assessment",action:"focus-panel:task"},{command:"/contract",label:"Contract",description:"查看 contract diff 与 apply gate",action:"focus-panel:contract"},{command:"/dag",label:"DAG",description:"查看 DAG spine、确认与运行状态",action:"focus-panel:dag"},{command:"/interview",label:"Interview",description:"打开 Requirement Interview",action:"focus:interview"},{command:"/help",label:"Shortcuts",description:"显示可用 shortcut",action:"show-help"}];function yp(o){const u=o.trim().split(/\s+/,1)[0]?.toLowerCase();if(!u?.startsWith("/"))return;const m=Co.find(d=>d.command===u);return m?{command:m.command,action:m.action}:{command:u,action:"unknown"}}const Ll="loop-console.operator-chat.active-session.v1",gp="loop-console.operator-chat.default-landing.v1";function cc(o){const u=o?.trim().toLowerCase();if(u==="chat")return"chat";if(u==="tasks")return"tasks"}function bp(o){const u=o?.trim().toLowerCase();if(u==="chat"||u==="tasks"||u==="recovery")return u}function Sp(o){if(!o)return;const u=new URLSearchParams(o.search),m=cc(u.get("landing")??u.get("workspace"));if(m)return m;const d=o.hash.startsWith("#")?o.hash.slice(1):o.hash;return cc(new URLSearchParams(d).get("workspace"))}function xp(o){return Sp(o.location)??cc(o.storage?.getItem(gp))??cc(o.env)??"tasks"}function jp(o,u={}){const m=new URLSearchParams({workspace:o});for(const[d,x]of Object.entries(u))x?.trim()&&m.set(d,x.trim());return`/?${m.toString()}`}function Np(o){const u=new URLSearchParams(o.search),m=o.hash.startsWith("#")?o.hash.slice(1):o.hash,d=new URLSearchParams(m),x=bp(u.get("workspace")??u.get("landing")??d.get("workspace"));if(!x)return null;const R=O=>u.get(O)?.trim()||void 0;return{workspace:x,...R("taskId")?{taskId:R("taskId")}:{},...R("dagRunId")?{dagRunId:R("dagRunId")}:{},...R("fromNodeId")?{fromNodeId:R("fromNodeId")}:{},...R("featureId")?{featureId:R("featureId")}:{}}}const Tp=[{toolId:"safe-read",kind:"explore",description:"安全读取仓库相对路径文件;拒绝敏感文件并自动脱敏 secret。"},{toolId:"safe-grep",kind:"explore",description:"安全搜索仓库内容;跳过敏感文件并自动脱敏搜索结果。"},{toolId:"git-status",kind:"explore",description:"固定参数执行 git status --porcelain(无 shell)。"},{toolId:"git-diff",kind:"explore",description:"固定参数查看 git diff;敏感路径不可查看且结果自动脱敏。"},{toolId:"find",kind:"explore",description:"按名称查找文件路径。"},{toolId:"ls",kind:"explore",description:"列出目录内容。"}];function gm(o){switch(o){case"mutation":return"变更";case"long-running":return"长任务";case"explore":return"探查";default:return"只读"}}function Jt(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function $i(o){return`${o}-${Math.random().toString(36).slice(2,10)}`}function go(o,u){return new Promise((m,d)=>{if(u?.aborted){d(new DOMException("Aborted","AbortError"));return}const x=setTimeout(()=>{u?.removeEventListener("abort",R),m()},o),R=()=>{clearTimeout(x),d(new DOMException("Aborted","AbortError"))};u?.addEventListener("abort",R)})}function Am(o){return new Date(o).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function bo(o){const u=new Date(o),m=new Date;return u.getFullYear()===m.getFullYear()&&u.getMonth()===m.getMonth()&&u.getDate()===m.getDate()?"今天":u.toLocaleDateString([],{month:"long",day:"numeric"})}function Ep(o){if(o==null)return"";try{const u=typeof o=="string"?o:JSON.stringify(o);return u?u.length>120?`${u.slice(0,120)}…`:u:""}catch{return String(o)}}const Cp=[{label:"新建任务",hint:"从需求描述导入并创建任务",prompt:"帮我新建一个任务:我描述需求,你引导我用 PRD/需求描述导入(bootstrapFromPrd),并给出建议的 taskKind(如后端研发 backend-feature / 后端测试 backend-test)。"},{label:"查看任务状态",hint:"列出任务与就绪/阻塞状态",prompt:"列出当前所有 task 及其状态,重点说明哪些是 Ready 可以推进、哪些 Blocked 及阻塞原因。"},{label:"诊断 DAG 运行",hint:"对失败运行跑 Doctor",prompt:"帮我诊断最近失败或异常的 DAG 运行:先列出最近的 DAG 运行,对有问题的运行执行 doctor,总结根因和可执行的恢复方案。"},{label:"恢复或重跑任务",hint:"从节点重跑 / 完整重跑",prompt:"我要恢复一个卡住或失败的 DAG 运行。请先列出最近的 DAG 运行和可选节点,说明「从节点重跑 dagRerun」「完整重跑任务 standaloneTaskRerun」「Worker Task 重排队 workerTaskRetry」分别适用于什么情况,确定后直接帮我发起重跑。"}];function Ap(o,u){return o?o.taskId===u.taskId&&o.updatedAt===u.updatedAt&&o.lastEventId===u.lastEventId&&o.operations.length===u.operations.length:!1}function Rp(o){const{origin:u,surface:m="standalone"}=o,d=m==="workspace",[x,R]=v.useState(null),[O,K]=v.useState(null),[B,z]=v.useState([]),[$,Y]=v.useState(!0),[P,G]=v.useState({}),[le,ie]=v.useState(new Set),[et,ce]=v.useState(null),[_e,Me]=v.useState([]),[pt,ot]=v.useState(null),[We,re]=v.useState(!1),[Ee,wt]=v.useState("mainline"),[Ut,nt]=v.useState([]),[Ze,Gt]=v.useState([]),[tt,Nt]=v.useState([]),[D,Z]=v.useState([]),[ne,Ce]=v.useState(50),[Ae,g]=v.useState(0),[M,X]=v.useState([]),[L,F]=v.useState(null),[de,ge]=v.useState(null),[rt,Re]=v.useState(!1),[Gl,rl]=v.useState(!1),[Wl,Fl]=v.useState(0),Bl=v.useRef(null),[Pl,Yl]=v.useState(""),[$e,It]=v.useState(""),[Ql,fe]=v.useState([]),[Bt,Rn]=v.useState([]),[Dn,it]=v.useState([]),[ke,ca]=v.useState([]),[Ge,dl]=v.useState(null),[Yt,ua]=v.useState({inputTokens:0,outputTokens:0,totalTokens:0}),[dt,fl]=v.useState(!1),[Qt,ee]=v.useState(null),[Ct,be]=v.useState(null),[On,zn]=v.useState(!0),[_n]=v.useState(!1),[ml,hl]=v.useState(!1),[Wt,At]=v.useState(!1),[Be,Ht]=v.useState(!1),un=v.useRef(null),Mn=v.useRef(null),Tt=v.useRef(null),vl=v.useRef(null),en=v.useRef(null),Rl=v.useRef(null),at=v.useRef(new Map),pl=v.useRef(new Set),st=v.useRef(null),Xt=v.useRef(null),Rt=v.useRef(new Set),Xl=v.useRef(new Map),Je=v.useRef(null),Ie=v.useRef(!1),ft=v.useRef(0),pe=v.useRef(null),yl=v.useRef(!1),oa=v.useCallback(async()=>{try{const f=await fetch(`${u}/api/operator/v1/chat/capabilities`);if(!f.ok)return;const b=await f.json();R(b)}catch{}},[u]),tn=v.useCallback(async f=>{try{const b=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}`,{credentials:"include"}),C=await b.json();if(!b.ok||!C.session)throw new Error(C.error?.message??"会话不可用");const U={sessionId:C.session.sessionId,...yo(C.session)};pe.current=U,yl.current=!!C.session.activeTurnId,Rt.current=new Set,Xl.current=new Map,Xt.current=null,K(U),fl(!!C.session.activeTurnId),ee(null),st.current=null,Rl.current=at.current.get(f)??null,Rn([]),Me([]),It(C.session.composerDraft??""),nt((C.session.messages??[]).filter(J=>J.role==="user"||J.role==="assistant").map(J=>({id:J.id,role:J.role,text:J.text,createdAt:Date.parse(J.at)||Date.now()}))),Gt([]),Nt([]),X([]),Z([]),ge(null),F(null),ua({inputTokens:0,outputTokens:0,totalTokens:0}),window.localStorage.setItem(Ll,f),ot(null)}catch(b){be(b instanceof Error?b.message:String(b))}},[u]);v.useEffect(()=>{oa()},[oa]);const Zt=v.useCallback(async()=>{try{const f=await fetch(`${u}/api/operator/v1/chat/sessions`,{credentials:"include"});if(!f.ok)return;const b=(await f.json()).sessions??[],C=b.slice(0,To),U=b.slice(To);if(z(C),U.length===0)return;await Promise.all(U.map(q=>fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(q.sessionId)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":Jt()}}).catch(()=>{})));const J=pe.current?.sessionId;J&&U.some(q=>q.sessionId===J)&&(pe.current=null,K(null),window.localStorage.removeItem(Ll))}catch{}},[u]),gl=v.useCallback(async f=>{if(window.confirm("确定删除该会话?删除后不可恢复。"))try{if(!(await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":Jt()}})).ok){be("删除会话失败");return}pe.current?.sessionId===f&&(pe.current=null,K(null),nt([]),Gt([]),Nt([]),X([]),Z([]),ge(null),F(null),It(""),hl(!1),window.localStorage.removeItem(Ll)),await Zt()}catch(b){be(b instanceof Error?b.message:String(b))}},[u,Zt]);v.useEffect(()=>{Zt()},[Zt]);const bl=v.useCallback(async(f="")=>{try{ce(null);const b=await fetch(`${u}/api/operator/v1/chat/repo/tree?path=${encodeURIComponent(f)}`,{credentials:"include"}),C=await b.json();if(!b.ok)throw new Error(C.error?.message??"无法读取仓库目录");G(U=>({...U,[f]:C.data?.entries??[]}))}catch(b){ce(b instanceof Error?b.message:String(b))}},[u]);v.useEffect(()=>{bl()},[bl]);const Ft=v.useCallback(async f=>{re(!0);try{const b=await fetch(`${u}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(f)}`,{credentials:"include"}),C=await b.json();if(!b.ok||!C.data)throw new Error(C.error?.message??"无法预览文件");Me(U=>{const J=[...U.filter(De=>De.path!==C.data.path),C.data],q=pe.current?.sessionId;return q&&window.localStorage.setItem(`${Ll}.previews.${q}`,JSON.stringify(J.map(De=>De.path))),J}),ot(C.data.path)}catch(b){be(b instanceof Error?b.message:String(b))}finally{re(!1)}},[u]);v.useEffect(()=>{if(!O)return;const f=O.sessionId;let b=[];try{const C=JSON.parse(window.localStorage.getItem(`${Ll}.previews.${f}`)??"[]");Array.isArray(C)&&(b=C.filter(U=>typeof U=="string").slice(0,10))}catch{}b.length&&Promise.all(b.map(async C=>{const U=await fetch(`${u}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(C)}`,{credentials:"include"});if(U.ok)return(await U.json()).data})).then(C=>{if(pe.current?.sessionId!==f)return;const U=C.filter(J=>!!J);Me(U),ot(U.at(-1)?.path??null)})},[u,O?.sessionId]),v.useEffect(()=>{let f=!1;const b=window.localStorage.getItem(Ll);if(b)return(async()=>{try{const C=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(b)}`,{credentials:"include"});if(!C.ok){window.localStorage.removeItem(Ll);return}const U=await C.json();if(f||!U.session)return;const J={sessionId:U.session.sessionId,...yo(U.session)};pe.current=J,Rt.current=new Set,Xl.current=new Map,Xt.current=null,K(J),It(U.session.composerDraft??""),nt((U.session.messages??[]).filter(q=>q.role==="user"||q.role==="assistant").map(q=>({id:q.id,role:q.role,text:q.text,createdAt:Date.parse(q.at)||Date.now()})))}catch{}})(),()=>{f=!0}},[u]),v.useEffect(()=>{if(!O)return;const f=window.setTimeout(()=>{fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(O.sessionId)}/draft`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Jt()},body:JSON.stringify({text:$e})})},400);return()=>window.clearTimeout(f)},[u,O,$e]),v.useEffect(()=>{if(!O){it([]),dl(null);return}const f=O.sessionId,b=`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}`;fetch(`${b}/models`,{credentials:"include"}).then(C=>C.ok?C.json():null).then(C=>{!C||pe.current?.sessionId!==f||(it(C.models??[]),ca(C.thinkingLevels??[]))}),fetch(`${b}/runtime-context`,{credentials:"include"}).then(C=>C.ok?C.json():null).then(C=>{if(!C?.context||pe.current?.sessionId!==f)return;dl(C.context);const U=C.context,J={model:U.model,thinkingLevel:U.thinkingLevel};K(q=>{if(!q||q.sessionId!==f||ym(q,J))return q;const De=Eo(q,J);return pe.current=De,De})})},[u,O?.sessionId]),v.useEffect(()=>{if(!O)return;const f=$e.slice(0,Tt.current?.selectionStart??$e.length).match(/(?:^|\s)@([^\s@]*)$/);if(!f){fe([]);return}const b=window.setTimeout(()=>{fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(O.sessionId)}/files?q=${encodeURIComponent(f[1]??"")}`).then(C=>C.ok?C.json():null).then(C=>fe((C?.files??[]).map(U=>U.path)))},150);return()=>window.clearTimeout(b)},[u,O,$e]);const Pt=v.useCallback(f=>{const b=Tt.current?.selectionStart??$e.length,U=$e.slice(0,b).search(/@[^\s@]*$/);U<0||(It(`${$e.slice(0,U)}@${f} ${$e.slice(b)}`),fe([]))},[$e]),Dt=v.useCallback(async f=>{if(!O)return;const b=O.sessionId,C=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(O.sessionId)}/model`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Jt()},body:JSON.stringify(f)});if(!C.ok){pe.current?.sessionId===b&&be("模型或思考等级切换失败");return}const U=await C.json().catch(()=>({}));U.session&&pe.current?.sessionId===b&&(K(J=>{if(!J||J.sessionId!==b)return J;const q=yo(U.session);if(ym(J,q))return J;const De=Eo(J,q);return pe.current=De,De}),dl(J=>J&&{...J,...U.session.modelProvider&&U.session.modelId?{model:{provider:U.session.modelProvider,modelId:U.session.modelId}}:{},...U.session.thinkingLevel?{thinkingLevel:U.session.thinkingLevel}:f.thinkingLevel?{thinkingLevel:f.thinkingLevel}:{}}))},[u,O]);v.useEffect(()=>{if(!Wt)return;const f=C=>{const U=vl.current;U&&C.target instanceof Node&&!U.contains(C.target)&&At(!1)},b=C=>{C.key==="Escape"&&At(!1)};return document.addEventListener("mousedown",f),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",b)}},[Wt]),v.useEffect(()=>{if(!Be)return;const f=C=>{const U=en.current;U&&C.target instanceof Node&&!U.contains(C.target)&&Ht(!1)},b=C=>{C.key==="Escape"&&Ht(!1)};return document.addEventListener("mousedown",f),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",b)}},[Be]),v.useLayoutEffect(()=>{const f=Tt.current;f&&(f.style.height="auto",f.style.height=`${Math.min(f.scrollHeight,280)}px`)},[$e]);const Vt=v.useCallback(()=>{const f=Mn.current;if(!f)return;const b=f.scrollHeight-f.scrollTop-f.clientHeight<80;zn(b)},[]);v.useEffect(()=>{On&&un.current?.scrollIntoView({behavior:"smooth",block:"end"})},[Ut,On,dt]);const Ue=v.useCallback(async(f,b)=>{const C=b?.background===!0;C||Re(!0);try{const U=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}/context`,{credentials:"include"});if(!U.ok)return;const J=await U.json();J.context&&pe.current?.sessionId===f&&ge(q=>Ap(q,J.context)?q:J.context)}finally{C||Re(!1)}},[u]),Dl=v.useCallback(async f=>{be(null),nt([]),Gt([]),Nt([]),X([]),F(null),ge(null),hl(!1),zn(!0);try{const b=await fetch(`${u}/api/operator/v1/chat/sessions`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Jt()},credentials:"include",body:JSON.stringify(f??{})});if(!b.ok){const J=await b.json().catch(()=>({}));throw new Error(J.error?.message??`HTTP ${b.status}`)}const C=await b.json(),U={sessionId:C.sessionId,...C.model?{model:C.model}:{}};return pe.current=U,window.localStorage.setItem(Ll,U.sessionId),K(U),Zt(),U}catch(b){return be(b instanceof Error?b.message:String(b)),null}},[u,Zt]),kn=v.useCallback(async()=>{const f=pe.current;if(f)try{const b=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f.sessionId)}/fork`,{method:"POST",credentials:"include",headers:{"x-loop-console-confirmation":Jt()}}),C=await b.json();if(!b.ok||!C.sessionId)throw new Error(C.error?.message??`HTTP ${b.status}`);const U={sessionId:C.sessionId};pe.current=U,K(U),wt("mainline"),window.localStorage.setItem(Ll,C.sessionId)}catch(b){be(b instanceof Error?b.message:String(b))}},[u]),el=v.useCallback(async()=>{const f=pe.current;if(f)try{const b=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f.sessionId)}/branch`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Jt()},body:"{}"});if(!b.ok)throw new Error(`HTTP ${b.status}`);wt("branch")}catch(b){be(b instanceof Error?b.message:String(b))}},[u]),Zl=v.useCallback(async()=>{const f=pe.current;if(f)try{const b=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f.sessionId)}/branch/mainline`,{method:"POST",credentials:"include",headers:{"x-loop-console-confirmation":Jt()}});if(!b.ok)throw new Error(`HTTP ${b.status}`);wt("mainline")}catch(b){be(b instanceof Error?b.message:String(b))}},[u]),ra=v.useCallback((f,b,C,U)=>{const J=U?.replay===!0;if(f==="reconcile"){const T=typeof b.reason=="string"?b.reason:"cursor_expired";be(`会话事件窗口已过期(${T}),建议刷新历史或新建会话。`);return}const q=b.data&&typeof b.data=="object"?b.data:b,De=typeof b.turnId=="string"?b.turnId:void 0;let p=C;if(De){const T=Xl.current.get(De);T?p=T:Xl.current.set(De,C)}if(f==="interview-turn"){F(T=>({...T??{},interviewSessionId:typeof q.interviewSessionId=="string"?q.interviewSessionId:T?.interviewSessionId,taskId:typeof q.taskId=="string"?q.taskId:T?.taskId,state:typeof q.state=="string"?q.state:T?.state,question:q.question&&typeof q.question=="object"?q.question:void 0}));return}if(f==="draft"){F(T=>({...T??{},taskId:typeof q.taskId=="string"?q.taskId:T?.taskId,draft:q.draft&&typeof q.draft=="object"?q.draft:T?.draft,draftSha256:typeof q.draftSha256=="string"?q.draftSha256:T?.draftSha256,taskKindRecommendation:typeof q.taskKindRecommendation=="string"?q.taskKindRecommendation:T?.taskKindRecommendation}));return}if(f==="assessment"){F(T=>({...T??{},assessment:q}));return}if(f==="taskKind-confirmed"){F(T=>({...T??{},confirmedTaskKind:typeof q.taskKind=="string"?q.taskKind:T?.confirmedTaskKind,taskKindRecommendation:void 0}));return}if(f==="human-gate-card"){const T=fp(q);T&&X(H=>mp(H,T));return}if(f==="artifact-ref"){const T=vp(q);T&&Z(H=>pp(H,T));return}if(f==="agent_start"){fl(!0),ee(p);return}if(f==="agent_settled"){fl(!1),ee(null),!J&&document.hidden&&g(T=>T+1);return}if(f==="operation-ref"||f==="operation-status"){const T=dp(q);T&&Nt(H=>rp(H,T));return}if(f==="usage"){if(J)return;const T=q;ua(H=>({inputTokens:H.inputTokens+(T.inputTokens??0),outputTokens:H.outputTokens+(T.outputTokens??0),totalTokens:H.totalTokens+(T.totalTokens??0),cost:T.cost===void 0?H.cost:(H.cost??0)+T.cost}));return}if(f==="message_update"||f==="message_end"){if(J)return;const T=typeof q.text=="string"?q.text:"";nt(H=>H.some(Q=>Q.id===p)?H.map(Q=>Q.id===p?{...Q,text:T}:Q):[...H,{id:p,role:"assistant",text:T,createdAt:Date.now()}])}else if(f==="tool_call"){const T=typeof q.toolCallId=="string"?q.toolCallId:$i("t"),H=typeof q.toolName=="string"?q.toolName:"tool",V=typeof q.argsPreview=="string"?q.argsPreview:"{}";Gt(Q=>Q.some(ue=>ue.id===T)?Q.map(ue=>ue.id===T?{...ue,args:V,status:"running"}:ue):[...Q,{id:T,toolName:H,args:V,status:"running",createdAt:Date.now()}])}else if(f==="tool_result"){const T=typeof q.toolCallId=="string"?q.toolCallId:$i("r"),H=typeof q.toolName=="string"?q.toolName:"tool",V=q.isError===!0,Q=typeof q.resultPreview=="string"?q.resultPreview:"{}";V&&hl(!0),Gt(ue=>ue.find(Ve=>Ve.id===T)?ue.map(Ve=>Ve.id===T?{...Ve,result:Q,resultText:Q,status:V?"error":"ok"}:Ve):[...ue,{id:T,toolName:H,result:Q,resultText:Q,status:V?"error":"ok",createdAt:Date.now()}])}else f==="error"&&be(typeof q.message=="string"?q.message:"chat error")},[]),on=v.useCallback((f,b,C)=>{if(C?.targetSessionId&&pe.current?.sessionId!==C.targetSessionId)return null;const U=f.split(`
|
|
15
|
+
`);let J="message",q="",De=null;for(const H of U)H.startsWith("event: ")?J=H.slice(7).trim():H.startsWith("data: ")?q+=H.slice(6):H.startsWith("id: ")&&(De=H.slice(4).trim());if(!q)return De;let p;try{p=JSON.parse(q)}catch{return De}const T=De??(typeof p.eventId=="string"?p.eventId:null);if(T){if(Rt.current.has(T))return T;Rt.current.add(T)}return ra(J,p,b,C),De??T},[ra]),he=v.useCallback(async f=>{const b=pe.current;if(!b||!f.trim()&&Bt.length===0||yl.current)return;const C={id:$i("u"),role:"user",text:f.trim(),createdAt:Date.now()};nt(q=>[...q,C]),It(""),Je.current?.abort(),Je.current=null,yl.current=!0,fl(!0),zn(!0),be(null);const U=$i("a");st.current=U,ee(U),nt(q=>[...q,{id:U,role:"assistant",text:"",createdAt:Date.now()}]);const J=new AbortController;Rl.current=J,at.current.set(b.sessionId,J),pl.current.add(b.sessionId);try{const q=await fetch(`${u}/api/operator/v1/chat/sessions/${b.sessionId}/prompt`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Jt(),Accept:"text/event-stream"},credentials:"include",body:JSON.stringify({text:f.trim()||"请查看附件图片。",images:Bt.map(({type:H,mimeType:V,data:Q})=>({type:H,mimeType:V,data:Q}))}),signal:J.signal});if(!q.ok||!q.body){const H=await q.json().catch(()=>({}));throw new Error(H.error?.message??`HTTP ${q.status}`)}const De=q.body.getReader(),p=new TextDecoder;let T="";for(;;){const{done:H,value:V}=await De.read();if(H)break;T+=p.decode(V,{stream:!0});const Q=T.split(`
|
|
16
|
+
|
|
17
|
+
`);T=Q.pop()??"";for(const ue of Q){const ye=on(ue,U,{targetSessionId:b.sessionId});ye&&(Xt.current=ye)}}}catch(q){q?.name==="AbortError"||pe.current?.sessionId===b.sessionId&&be(q instanceof Error?q.message:String(q))}finally{pe.current?.sessionId===b.sessionId&&(yl.current=!1,fl(!1),ee(null),Rl.current=null,st.current=null,Rn([])),pl.current.delete(b.sessionId),at.current.delete(b.sessionId)}},[u,Bt]),da=v.useCallback(()=>{Rl.current?.abort(),yl.current=!1,fl(!1),ee(null)},[]),mt=v.useCallback(async(f,b)=>{for(;!b.aborted;)try{const C={Accept:"text/event-stream"},U=Xt.current;U&&(C["Last-Event-ID"]=U);const J=await fetch(`${u}/api/operator/v1/chat/sessions/${f}/events`,{headers:C,credentials:"include",signal:b});if(!J.ok||!J.body){if(J.status===404)return;await go(2e3,b);continue}const q=J.body.getReader(),De=new TextDecoder;let p="",T=st.current;for(T||(T=$i("a"),st.current=T);;){const{done:H,value:V}=await q.read();if(H)break;p+=De.decode(V,{stream:!0});const Q=p.split(`
|
|
18
|
+
|
|
19
|
+
`);p=Q.pop()??"";for(const ue of Q){const ye=on(ue,T,{replay:!0,targetSessionId:f});ye&&(Xt.current=ye)}}await go(1e3,b)}catch{if(b.aborted)return;await go(2e3,b)}},[u,on]);v.useEffect(()=>{if(!O||dt&&pl.current.has(O.sessionId))return;const f=new AbortController;return Je.current=f,mt(O.sessionId,f.signal),()=>{f.abort(),Je.current===f&&(Je.current=null)}},[O,dt,mt]);const Vl=v.useCallback(async()=>{const f=pe.current;if(!f)return;const b=window.prompt("Task ID(例如 2026-07-26-my-task)")?.trim();if(!b)return;const C=await fetch(`${u}/api/operator/v1/chat/sessions/${f.sessionId}/interviews`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Jt()},credentials:"include",body:JSON.stringify({taskId:b})}),U=await C.json();if(!C.ok){be(U.error?.message??`HTTP ${C.status}`);return}F({interviewSessionId:U.interview?.sessionId,taskId:b,state:U.interview?.state,question:U.question,draft:U.draft?.draft,draftSha256:U.draft?.draftSha256,assessment:U.assessment})},[u]),tl=v.useCallback(async f=>{const b=pe.current;if(!b||!L?.interviewSessionId||!L.question)return;const C=await fetch(`${u}/api/operator/v1/chat/sessions/${b.sessionId}/interviews/${L.interviewSessionId}/answers`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Jt()},credentials:"include",body:JSON.stringify({questionId:L.question.id,response:f,...f==="override"?{text:Pl}:{}})}),U=await C.json();if(!C.ok){be(U.error?.message??`HTTP ${C.status}`);return}F(J=>({...J??{},state:U.interview?.state,question:U.question,draft:U.draft?.draft,draftSha256:U.draft?.draftSha256,assessment:U.assessment,taskKindRecommendation:U.taskKindRecommendation??J?.taskKindRecommendation})),Yl("")},[u,L,Pl]),qt=v.useCallback(async()=>{const f=pe.current;if(!f||!L?.interviewSessionId||!L.taskKindRecommendation)return;const b=await fetch(`${u}/api/operator/v1/chat/sessions/${f.sessionId}/interviews/${L.interviewSessionId}/task-kind/confirm`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Jt()},credentials:"include",body:JSON.stringify({taskKind:L.taskKindRecommendation})}),C=await b.json();if(!b.ok){be(C.error?.message??`HTTP ${b.status}`);return}F(U=>({...U??{},confirmedTaskKind:U?.taskKindRecommendation,taskKindRecommendation:void 0,draft:C.draft?.draft,draftSha256:C.draft?.draftSha256,assessment:C.assessment}))},[u,L]);v.useEffect(()=>{O?.sessionId&&Ue(O.sessionId)},[O?.sessionId,Ue]),v.useEffect(()=>{const f=O?.sessionId;if(!f)return;const b=window.setTimeout(()=>{Ue(f,{background:!0})},350);return()=>window.clearTimeout(b)},[O?.sessionId,tt,M,L,Ue]);const wn=v.useCallback(f=>{const b=yp(f);It(""),rl(!1),b&&(b.action==="focus:interview"?Vl():b.action==="show-help"?be(`可用 shortcuts:${Co.map(C=>C.command).join("、")}`):b.action.startsWith("focus-panel:")?Bl.current?.scrollIntoView({behavior:"smooth",block:"nearest"}):be(`未知 shortcut:${b.command}`))},[Vl]),Sl=v.useMemo(()=>$e.startsWith("/")?Co.filter(f=>f.command.startsWith($e.trim().split(/\s+/,1)[0].toLowerCase())):[],[$e]),Un=v.useCallback(f=>{if(Gl&&Sl.length>0&&!f.nativeEvent.isComposing){if(f.key==="ArrowDown"||f.key==="ArrowUp"){f.preventDefault(),Fl(U=>(U+(f.key==="ArrowDown"?1:Sl.length-1))%Sl.length);return}if(f.key==="Escape"){f.preventDefault(),rl(!1);return}if(f.key==="Enter"){f.preventDefault(),wn(Sl[Wl]?.command??Sl[0].command);return}}const b=Date.now()-ft.current<100,C=Ie.current||f.nativeEvent.isComposing;if(f.key==="Enter"&&!f.shiftKey&&(C||b)){b&&f.preventDefault();return}if(f.key==="Enter"&&!f.shiftKey){f.preventDefault(),he($e);return}},[$e,he,Gl,Sl,Wl,wn]),rn=v.useMemo(()=>Ut.filter(f=>f.role!=="system"||_n).slice(-ne),[Ut,_n,ne]);v.useEffect(()=>{const f=()=>{document.hidden||g(0)};return document.addEventListener("visibilitychange",f),()=>document.removeEventListener("visibilitychange",f)},[]);const Kl=v.useCallback(async()=>{const f=pe.current;if(!f||yl.current)return;(await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f.sessionId)}/compact`,{method:"POST",credentials:"include",headers:{"x-loop-console-confirmation":Jt()}})).ok||be("上下文压缩失败")},[u]),Hn=v.useMemo(()=>{if(Ze.length===0)return null;const f=Ze.filter(q=>q.status==="running"),b=Ze.filter(q=>q.status==="error"),C=f[f.length-1];let U="完成",J="ok";return b.length>0?(U=`${b.length} 出错`,J="error"):f.length>0&&(U=C?`正在调用 ${C.toolName}`:"运行中",J="running"),{count:Ze.length,statusLabel:U,statusKind:J}},[Ze]),yt=O?.model??Ge?.model,ll=yt?Oa(yt.provider,yt.modelId):"",qn=O?.thinkingLevel??Ge?.thinkingLevel??"",nl=!ll||Dn.some(f=>Oa(f.provider,f.id)===ll),Ot=v.useMemo(()=>{if(!x)return null;const f=(x.tools??[]).map(C=>({toolId:C.toolId,action:C.action,description:C.description,kind:C.kind??"read",cli:C.cli})),b=[...Tp];return{explore:b,operator:f,total:b.length+f.length}},[x]),dn=o.readiness==="setup-required"?"⚠ Pi 未就绪(setup-required):Chat 需要先完成 Pi 认证 / 模型配置。":o.readiness==="degraded"?"⚠ Pi 降级(degraded):可继续对话,但部分能力不可用。":null,fn=async(f,b)=>{if(!(await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Jt()},body:JSON.stringify(b)})).ok){be("会话更新失败");return}await Zt(),b.state==="archived"&&pe.current?.sessionId===f&&(pe.current=null,K(null),window.localStorage.removeItem(Ll))},Kt=s.jsx(cp,{origin:u,open:$,activeSessionId:O?.sessionId,sessions:B,tree:P,expanded:le,treeError:et,onToggleOpen:()=>Y(f=>!f),onCreate:()=>{Dl()},onActivate:f=>{tn(f)},onRename:(f,b)=>{fn(f,{title:b})},onSetState:(f,b)=>{fn(f,{state:b})},onDelete:f=>{gl(f)},onRefreshTree:()=>{bl()},onToggleDir:f=>{ie(b=>{const C=new Set(b);return C.has(f)?C.delete(f):C.add(f),C}),P[f]||bl(f)},onInsert:f=>It(b=>`${b}${b&&!b.endsWith(" ")?" ":""}@${f} `),onPreview:f=>{Ft(f)}});return s.jsxs("div",{className:"oc-shell",children:[d?null:s.jsxs("div",{className:"oc-banner",children:[s.jsxs("span",{className:"oc-banner-title",children:[s.jsx("span",{className:"oc-banner-dot","aria-hidden":"true"}),"对话"]}),s.jsxs("span",{className:"oc-banner-body",children:["用自然语言编排 loop-agent / agent-worker 的",s.jsx("strong",{children:"全部能力"}),"。这是 ",s.jsx("strong",{children:"Operator"})," ","面:可通过 safe-read/safe-grep/git-status/git-diff/find/ls 探查仓库、调用受策略约束的 operator action;",s.jsx("strong",{children:"无 bash 或直接写文件工具"}),"(业务写入仍应经受治理 DAG 的 implement-pi / repair-pi)。"]})]}),dn&&s.jsx("div",{className:"oc-alert oc-alert-warning",children:dn}),Ct&&s.jsxs("div",{className:"oc-alert oc-alert-error",children:[s.jsx("strong",{children:"出错了:"}),Ct]}),O?s.jsxs("div",{className:`oc-workspace${ml?" has-process":""}`,children:[Kt,s.jsxs("div",{className:"oc-main",children:[s.jsx(op,{previews:_e,activePath:pt,loading:We,onActivate:ot,onClose:f=>{Me(b=>{const C=b.filter(U=>U.path!==f);return O&&window.localStorage.setItem(`${Ll}.previews.${O.sessionId}`,JSON.stringify(C.map(U=>U.path))),C}),ot(b=>b===f?_e.find(C=>C.path!==f)?.path??null:b)}}),s.jsxs("div",{ref:Mn,className:`oc-messages${rn.length>0||tt.length>0||M.length>0||D.length>0||L?" has-thread":""}`,onScroll:Vt,children:[Ut.length>rn.length&&s.jsx("button",{type:"button",className:"btn btn-ghost oc-load-history",onClick:()=>Ce(f=>f+50),children:"加载更早消息"}),rn.map((f,b)=>{const C=rn[b-1],U=!C||bo(C.createdAt)!==bo(f.createdAt);return s.jsxs("div",{children:[U&&s.jsx("div",{className:"oc-day-sep",children:bo(f.createdAt)}),f.role==="system"?s.jsx("div",{className:"oc-row is-tool",children:s.jsx("div",{className:"oc-bubble oc-bubble-tool",children:f.text})}):s.jsx(_p,{message:f,streaming:dt,activeAssistantId:Qt})]},`row-${f.id}`)}),L&&s.jsxs("section",{className:"oc-draft-card","aria-label":"Requirement Interview",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"Requirement Interview"}),s.jsx("span",{children:L.state})]}),L.question&&s.jsxs("div",{className:"oc-interview-bubble",children:[s.jsx("strong",{children:L.question.text}),s.jsxs("p",{children:["建议:",L.question.recommendation]}),s.jsx("textarea",{value:Pl,onChange:f=>Yl(f.target.value),placeholder:"输入答案"}),s.jsxs("div",{children:[s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>{tl("override")},disabled:!Pl.trim(),children:"提交答案"}),s.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>{tl("accept-recommendation")},children:"接受建议"})]})]}),L.draft&&s.jsxs("details",{open:!0,children:[s.jsxs("summary",{children:["TaskContractDraftV1 ·"," ",L.draftSha256?.slice(0,12)]}),s.jsx("pre",{children:JSON.stringify(L.draft,null,2)})]}),L.assessment&&s.jsxs("div",{className:`oc-assessment${L.assessment.fresh?" is-fresh":""}`,children:[s.jsxs("strong",{children:["完整性:",L.assessment.outcome]}),(L.assessment.missingFields??[]).length>0&&s.jsxs("p",{children:["缺失:",L.assessment.missingFields?.join("、")]})]}),L.taskKindRecommendation&&s.jsxs("div",{className:"oc-task-kind-card",children:[s.jsx("span",{children:"taskKind 建议"}),s.jsx("strong",{children:L.taskKindRecommendation}),s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>{qt()},children:"由我确认"}),s.jsx("small",{children:"模型不能代替人类确认。"})]}),L.confirmedTaskKind&&s.jsxs("div",{className:"oc-task-kind-card is-confirmed",children:["已由人类确认:",s.jsx("strong",{children:L.confirmedTaskKind})]})]}),M.map(f=>s.jsx(Dp,{card:f,origin:u,sessionId:O.sessionId},f.cardId)),tt.map(f=>s.jsx(Op,{operation:f,origin:u,onNavigateWorkspace:o.onNavigateWorkspace},f.operationId)),D.map(f=>s.jsx(zp,{artifact:f},f.artifactId)),s.jsx("div",{ref:un})]}),s.jsx("div",{className:"oc-composer",children:s.jsxs("div",{className:"oc-composer-inner",children:[Ql.length>0&&s.jsx("div",{className:"oc-file-palette",role:"listbox","aria-label":"Repository files",children:Ql.map(f=>s.jsx("button",{type:"button",role:"option",onMouseDown:b=>b.preventDefault(),onClick:()=>Pt(f),children:s.jsxs("code",{children:["@",f]})},f))}),Bt.length>0&&s.jsx("div",{className:"oc-attachment-list",children:Bt.map(f=>s.jsxs("span",{children:[f.name,s.jsx("button",{type:"button","aria-label":`移除 ${f.name}`,onClick:()=>Rn(b=>b.filter(C=>C!==f)),children:"×"})]},f.name))}),s.jsxs("label",{className:"oc-attach-button",children:["添加图片",s.jsx("input",{type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,hidden:!0,onChange:f=>{const b=Array.from(f.target.files??[]).slice(0,4);for(const C of b){if(!C.type.startsWith("image/")||C.size>5*1024*1024){be("图片仅支持 PNG/JPEG/GIF/WebP,单张不超过 5 MiB");continue}const U=new FileReader;U.onload=()=>{const J=String(U.result??""),q=J.slice(J.indexOf(",")+1);Rn(De=>[...De,{name:C.name,type:"image",mimeType:C.type,data:q}].slice(0,4))},U.readAsDataURL(C)}f.target.value=""}})]}),Gl&&Sl.length>0&&s.jsx("div",{className:"oc-shortcut-palette",role:"listbox","aria-label":"Chat shortcuts",children:Sl.map((f,b)=>s.jsxs("button",{type:"button",role:"option","aria-selected":b===Wl,className:b===Wl?"is-active":"",onMouseDown:C=>C.preventDefault(),onClick:()=>wn(f.command),children:[s.jsx("code",{children:f.command}),s.jsxs("span",{children:[s.jsx("strong",{children:f.label}),s.jsx("small",{children:f.description})]})]},f.command))}),s.jsxs("div",{className:`oc-composer-shell${dt?" is-busy":""}`,children:[s.jsx("textarea",{ref:Tt,className:"oc-textarea",value:$e,rows:3,placeholder:dt?"正在生成回复…(可直接发起新问题)":"输入消息… Enter 发送 · Shift+Enter 换行",onChange:f=>{It(f.target.value),rl(f.target.value.startsWith("/")),Fl(0)},onKeyDown:Un,onCompositionStart:()=>{Ie.current=!0},onCompositionEnd:()=>{Ie.current=!1,ft.current=Date.now()},disabled:dt}),dt?s.jsx("button",{type:"button",className:"oc-stop",title:"停止生成","aria-label":"停止生成",onClick:da,children:s.jsx(Lp,{})}):s.jsx("button",{type:"button",className:"oc-send",title:"发送","aria-label":"发送",onClick:()=>{he($e)},disabled:!$e.trim()&&Bt.length===0,children:s.jsx(qp,{})})]}),s.jsxs("div",{className:"oc-runtime-controls",children:[s.jsxs("select",{className:"oc-model-select","aria-label":"Model",value:ll,onChange:f=>{const b=Dn.find(C=>Oa(C.provider,C.id)===f.target.value);b&&Dt({provider:b.provider,modelId:b.id})},children:[s.jsx("option",{value:"",children:"选择模型"}),yt&&!nl?s.jsx("option",{value:ll,children:ll}):null,Dn.filter(f=>f.hasCredentials!==!1).map(f=>s.jsx("option",{value:Oa(f.provider,f.id),children:Oa(f.provider,f.id)},Oa(f.provider,f.id)))]}),s.jsxs("select",{className:"oc-thinking-select","aria-label":"Thinking level",value:qn,onChange:f=>{Dt({thinkingLevel:f.target.value})},children:[s.jsx("option",{value:"",children:"思考等级"}),ke.map(f=>s.jsx("option",{value:f,children:f},f))]}),s.jsxs("span",{className:"oc-usage",children:[dt?"运行中":"空闲",Ae>0?` · ${Ae} 未读`:""," ·"," ",Yt.inputTokens," in · ",Yt.outputTokens," out ·"," ",Yt.totalTokens," tokens ·"," ",Yt.cost===void 0?"—":`$${Yt.cost.toFixed(4)}`]}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Kl()},disabled:dt,children:"Compact"}),s.jsxs("div",{className:"oc-branch-actions",children:[s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{kn()},disabled:dt,children:"Fork 新会话"}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{el()},disabled:dt,children:"会话内分支"}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Dl({snapshot:{schemaVersion:1,summary:JSON.stringify(de??{})}})},disabled:dt||!de,children:"从 context snapshot 新建"}),Ee==="branch"&&s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Zl()},children:"切回主线"}),Ot?s.jsxs("div",{className:"oc-tools-menu oc-tools-menu--composer",ref:vl,children:[s.jsxs("button",{type:"button",className:`oc-cap-chip oc-tools-toggle${Wt?" is-active":""}`,"aria-pressed":Wt,"aria-expanded":Wt,"aria-controls":"oc-tools-catalog",onClick:()=>{At(f=>!f),Wt||hl(!1)},children:[Ot.total," 工具"]}),Wt&&s.jsxs("div",{id:"oc-tools-catalog",className:"oc-tools-catalog",role:"dialog","aria-label":"可用工具列表",children:[s.jsxs("header",{className:"oc-tools-catalog-head",children:[s.jsx("strong",{children:"可用工具"}),s.jsxs("span",{className:"oc-tools-catalog-meta",children:[Ot.total," 个 · 点选了解简介"]}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-tools-catalog-close","aria-label":"关闭工具列表",onClick:()=>At(!1),children:"关闭"})]}),s.jsxs("div",{className:"oc-tools-catalog-body",children:[Ot.explore.length>0&&s.jsxs("section",{className:"oc-tools-group",children:[s.jsx("h4",{className:"oc-tools-group-title",children:"仓库探查"}),s.jsx("ul",{className:"oc-tools-list",children:Ot.explore.map(f=>s.jsxs("li",{className:"oc-tools-item",children:[s.jsxs("div",{className:"oc-tools-item-head",children:[s.jsx("code",{className:"oc-tools-name",children:f.toolId}),s.jsx("span",{className:"oc-tools-kind is-explore",children:gm(f.kind)})]}),s.jsx("p",{className:"oc-tools-desc",children:f.description})]},f.toolId))})]}),s.jsxs("section",{className:"oc-tools-group",children:[s.jsx("h4",{className:"oc-tools-group-title",children:"Operator 动作"}),s.jsx("ul",{className:"oc-tools-list",children:Ot.operator.map(f=>s.jsxs("li",{className:"oc-tools-item",children:[s.jsxs("div",{className:"oc-tools-item-head",children:[s.jsx("code",{className:"oc-tools-name",children:f.toolId}),s.jsx("span",{className:`oc-tools-kind is-${f.kind??"read"}`,children:gm(f.kind)})]}),s.jsx("p",{className:"oc-tools-desc",children:f.description}),f.cli&&s.jsxs("p",{className:"oc-tools-cli",children:["CLI: ",s.jsx("code",{children:f.cli})]})]},f.toolId))})]})]})]})]}):null,s.jsx("span",{className:`oc-branch-badge is-${Ee}`,children:Ee==="branch"?"分支上下文":"主线"})]}),Ge&&s.jsx(Mp,{ref:en,open:Be,onToggle:()=>Ht(f=>!f),onClose:()=>Ht(!1),context:Ge})]}),s.jsxs("div",{className:"oc-composer-foot",children:[s.jsxs("span",{className:"oc-composer-hint",children:[s.jsx("span",{className:"oc-kbd",children:"Enter"})," 发送"]}),s.jsxs("span",{className:"oc-composer-hint",children:[s.jsx("span",{className:"oc-kbd",children:"Shift"}),"+",s.jsx("span",{className:"oc-kbd",children:"Enter"})," 换行"]}),Hn&&s.jsxs("button",{type:"button",className:`oc-process-summary is-${Hn.statusKind}${ml?" is-open":""}`,"aria-pressed":ml,"aria-controls":"oc-process-panel",onClick:()=>hl(f=>!f),children:["执行过程 · ",Hn.count," 工具 ·"," ",Hn.statusLabel]})]})]})})]}),ml&&s.jsxs("aside",{id:"oc-process-panel",className:"oc-process","aria-label":"执行过程",children:[s.jsxs("header",{className:"oc-process-head",children:[s.jsxs("div",{className:"oc-process-title",children:[s.jsx("span",{className:"oc-process-title-mark","aria-hidden":"true"}),"执行过程",s.jsx("span",{className:"oc-process-count",children:Ze.length})]}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-process-close","aria-label":"关闭执行过程",onClick:()=>hl(!1),children:"关闭"})]}),s.jsx("div",{className:"oc-process-timeline",children:Ze.length===0?s.jsx("div",{className:"oc-process-empty",children:"本轮对话尚无工具调用。诊断细节会在这里按时间线展示。"}):Ze.map((f,b)=>s.jsxs("div",{className:`oc-process-item${b===0?" is-first":""}${b===Ze.length-1?" is-last":""}${f.status==="error"?" is-error":""}${f.status==="running"?" is-running":""}`,children:[s.jsx("div",{className:"oc-process-rail","aria-hidden":"true",children:s.jsx("span",{className:"oc-process-dot"})}),s.jsx("div",{className:"oc-process-time",children:Am(f.createdAt)}),s.jsx("div",{className:"oc-process-body",children:s.jsx(wp,{entry:f})})]},f.id))})]})]}):s.jsxs("div",{className:"oc-workspace",children:[Kt,s.jsxs("div",{className:"oc-main oc-empty",children:[s.jsx("div",{className:"oc-empty-icon","aria-hidden":"true",children:"π"}),s.jsx("h3",{children:"开始一段新的对话"}),s.jsx("p",{children:"在自然语言里编排你的 loop-agent runtime:查询状态、诊断问题、生成报告。 也可以从下面的建议开始。"}),s.jsx("div",{className:"oc-suggestions",children:Cp.map(f=>s.jsxs("button",{type:"button",className:"oc-suggestion",onClick:async()=>{await Dl()&&await he(f.prompt)},disabled:o.readiness==="setup-required",children:[s.jsx("strong",{children:f.label}),s.jsx("span",{children:f.hint})]},f.label))}),s.jsx("button",{type:"button",className:"btn btn-primary",onClick:()=>{Dl()},disabled:o.readiness==="setup-required",style:{marginTop:"var(--space-3)"},children:o.readiness==="setup-required"?"需先完成 Pi setup":"新建对话"})]})]})]})}v.memo(v.forwardRef(function({context:u,loading:m},d){return s.jsxs("section",{ref:d,className:"oc-task-context","aria-label":"Task context",children:[s.jsxs("header",{children:[s.jsxs("div",{children:[s.jsx("small",{children:"Durable task context"}),s.jsx("strong",{children:u?.taskId??"当前任务"})]}),s.jsx("span",{children:m&&!u?"同步中…":u?.updatedAt?"已恢复":"等待事件"})]}),u?.taskId?s.jsxs("div",{className:"oc-task-context-grid",children:[s.jsxs("div",{children:[s.jsx("b",{children:"Draft"}),s.jsx("span",{children:u.draft?u.draft.draftSha256.slice(0,12):"未生成"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Assessment"}),s.jsx("span",{children:u.assessment?`${u.assessment.outcome}${u.assessment.fresh?" · fresh":""}`:"未评估"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Task kind"}),s.jsx("span",{children:u.taskKind?.value??u.draft?.taskKindRecommendation??"待确认"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Contract"}),s.jsx("span",{children:u.contract?.confirmationState??"待准备"}),u.contract?.diffSummary&&s.jsx("small",{children:u.contract.diffSummary})]}),s.jsxs("div",{children:[s.jsx("b",{children:"DAG"}),s.jsx("span",{children:u.dag?.confirmationState??"待生成"}),u.dag?.spine&&s.jsx("small",{children:u.dag.spine.join(" → ")})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Operations"}),s.jsx("span",{children:u.operations.length?u.operations.map(x=>`${x.action}: ${x.state}`).join(" · "):"无"})]})]}):s.jsx("p",{className:"oc-task-context-empty",children:"Draft、assessment、Contract 与 DAG 状态会在此实时聚合。"})]})}));function Dp({card:o,origin:u,sessionId:m}){const[d,x]=v.useState(!1),[R,O]=v.useState(),K=async()=>{x(!0),O(void 0);try{const Y=o.gateType==="dag-run"?o.state==="prepared"?"dag-confirm":"dag-run":o.gateType==="mutation"?"mutation-apply":"contract-apply",P=o.gateType==="dag-run"?{confirmationId:o.confirmationId,...o.state==="prepared"?{humanGateToken:o.humanGateToken}:{}}:{receiptId:o.receiptId,humanGateToken:o.humanGateToken},G=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(m)}/human-gate/${Y}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Jt()},body:JSON.stringify(P)}),le=await G.json();if(!G.ok)throw new Error(le.error?.message??`HTTP ${G.status}`)}catch(Y){O(Y instanceof Error?Y.message:String(Y))}finally{x(!1)}},B=o.state==="prepared"||o.gateType==="dag-run"&&o.state==="confirmed",z=o.gateType==="contract-apply"?"Contract apply":o.gateType==="mutation"?"Mutation":"DAG run",$=o.gateType==="contract-apply"?"Apply":o.gateType==="mutation"?"Execute":o.state==="prepared"?"Confirm":"Run";return s.jsxs("section",{className:`oc-human-gate-card is-${o.state}`,"aria-label":`Human gate ${o.cardId}`,children:[s.jsxs("header",{children:[s.jsxs("div",{children:[s.jsx("small",{children:"HumanGateCard · 仅人类可确认"}),s.jsx("strong",{children:z})]}),s.jsx("span",{children:o.state})]}),o.contractDiffSummary&&s.jsx("p",{children:o.contractDiffSummary}),o.displayOnlyChallenges&&s.jsxs("div",{className:"oc-human-gate-challenges",children:[s.jsx("b",{children:"Challenge(仅展示,不是确认信号)"}),s.jsx("ul",{children:o.displayOnlyChallenges.map(Y=>s.jsx("li",{children:Y},Y))})]}),o.dagSpine&&o.dagSpine.length>0&&s.jsxs("div",{children:[s.jsx("b",{children:"DAG spine"}),s.jsx("ol",{children:o.dagSpine.map(Y=>s.jsx("li",{children:s.jsx("code",{children:Y})},Y))})]}),s.jsxs("footer",{children:[s.jsx("a",{href:o.inspectHref,children:"Inspect"}),s.jsx("button",{className:"btn btn-primary",type:"button",disabled:!B||d,onClick:()=>{K()},children:d?"提交中…":$})]}),R&&s.jsx("div",{className:"oc-human-gate-error",children:R})]})}function Op(o){const{operation:u}=o,m=u.inspectHref.startsWith("/")?`${o.origin}${u.inspectHref}`:u.inspectHref,d=u.state==="failed"||u.state==="timed-out"||u.state==="needs-reconcile",x=(O,K)=>{o.onNavigateWorkspace?o.onNavigateWorkspace(O,K):window.location.assign(jp(O,K))},R=[u.taskId?["task",u.taskId]:void 0,u.dagRunId?["dag",u.dagRunId]:void 0,u.featureId?["feature",u.featureId]:void 0,u.workerRunId?["worker",u.workerRunId]:void 0].filter(O=>!!O);return s.jsxs("section",{className:`oc-operation-card is-${u.state}`,"aria-label":`Operation ${u.operationId}`,children:[s.jsxs("header",{className:"oc-operation-head",children:[s.jsxs("div",{children:[s.jsx("div",{className:"oc-operation-kicker",children:"Operation"}),s.jsx("strong",{children:u.action})]}),s.jsx("span",{className:`oc-operation-state is-${u.state}`,children:u.state})]}),s.jsx("div",{className:"oc-operation-id",children:s.jsx("code",{children:u.operationId})}),R.length>0&&s.jsx("div",{className:"oc-operation-identities",children:R.map(([O,K])=>s.jsxs("span",{children:[s.jsx("b",{children:O})," ",K]},`${O}:${K}`))}),u.controller&&s.jsxs("div",{className:"oc-operation-controller",children:["controller: ",u.controller]}),u.summaryPreview&&s.jsx("pre",{className:"oc-operation-preview",children:u.summaryPreview}),u.stderrPreview&&s.jsx("pre",{className:"oc-operation-preview is-error",children:u.stderrPreview}),u.stdoutPreview&&s.jsx("pre",{className:"oc-operation-preview",children:u.stdoutPreview}),s.jsxs("footer",{className:"oc-operation-actions",children:[s.jsx("a",{className:"btn btn-ghost",href:m,target:"_blank",rel:"noreferrer",children:"Inspect"}),u.taskId&&s.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>x("tasks",{taskId:u.taskId}),children:"打开 Task Ops"}),u.dagRunId&&s.jsx("a",{className:"btn btn-ghost",href:`${o.origin}/inspect/#/dag/${encodeURIComponent(u.dagRunId)}`,target:"_blank",rel:"noreferrer",children:"打开 Run / Inspect"}),d&&(u.dagRunId||u.taskId)&&s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>x("recovery",{taskId:u.taskId,dagRunId:u.dagRunId}),children:"打开 Recovery"}),s.jsx("time",{dateTime:u.updatedAt,children:new Date(u.updatedAt).toLocaleString()})]})]})}function zp(o){const{artifact:u}=o;return s.jsxs("section",{className:"oc-artifact-card","aria-label":`${u.kind} artifact`,children:[s.jsxs("header",{children:[s.jsx("strong",{children:u.title??u.artifactId}),s.jsx("span",{children:u.kind})]}),u.summary&&s.jsx("p",{children:u.summary}),u.reportText&&s.jsx("pre",{children:u.reportText}),u.htmlPreview&&s.jsx("iframe",{title:`${u.title??u.artifactId} preview`,sandbox:"",srcDoc:u.htmlPreview}),u.inspectHref&&s.jsx("a",{href:u.inspectHref,children:"查看详情"})]})}function _p(o){const{message:u,streaming:m,activeAssistantId:d}=o,x=u.role==="user",R=x?"你":"π",O=x?"你":"助手",K=!x&&m&&d!==null&&u.id===d,B=K&&u.text.length===0,z=u.text.trim().length>0;return s.jsxs("div",{className:`oc-row ${x?"is-user":"is-assistant"}`,children:[s.jsxs("div",{className:"oc-meta",children:[s.jsx("span",{className:`oc-avatar ${x?"oc-avatar-user":"oc-avatar-assistant"}`,"aria-hidden":"true",children:R}),s.jsx("span",{className:"oc-role",children:O}),s.jsx("span",{className:"oc-time",children:Am(u.createdAt)}),z&&s.jsx(kp,{text:u.text})]}),s.jsxs("div",{className:`oc-bubble ${x?"oc-bubble-user":"oc-bubble-assistant"}`,children:[z?x?s.jsx("div",{style:{whiteSpace:"pre-wrap"},children:u.text}):s.jsx(Fv,{text:u.text}):B?s.jsx("span",{className:"oc-cursor","aria-hidden":"true"}):s.jsx("span",{style:{color:"var(--muted-soft)"},children:"…"}),K&&z&&s.jsx("span",{className:"oc-cursor","aria-hidden":"true"})]})]})}const Mp=v.forwardRef(function({open:u,onToggle:m,onClose:d,context:x},R){const O=Object.keys(x.resources??{}).length;return s.jsxs("div",{className:"oc-runtime-context-menu",ref:R,children:[s.jsx("button",{type:"button",className:`btn btn-ghost oc-runtime-context-toggle${u?" is-active":""}`,"aria-expanded":u,"aria-controls":"oc-runtime-context-panel",onClick:m,children:"注入上下文"}),u&&s.jsxs("div",{id:"oc-runtime-context-panel",className:"oc-runtime-context-panel",role:"dialog","aria-label":"注入上下文",children:[s.jsxs("header",{className:"oc-runtime-context-head",children:[s.jsx("strong",{children:"注入上下文"}),s.jsx("span",{className:"oc-runtime-context-meta",children:"只读 · 本轮请求实际注入"}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-runtime-context-close","aria-label":"关闭",onClick:d,children:"关闭"})]}),s.jsxs("div",{className:"oc-runtime-context-body",children:[s.jsxs("dl",{className:"oc-runtime-context-dl",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"System prompt"}),s.jsxs("dd",{children:[x.systemPrompt.summary??"—",s.jsxs("code",{className:"oc-runtime-context-hash",children:[x.systemPrompt.hash.slice(0,12),"…"]})]})]}),x.model&&s.jsxs("div",{children:[s.jsx("dt",{children:"Model"}),s.jsx("dd",{children:s.jsx("code",{children:Oa(x.model.provider,x.model.modelId)})})]}),x.thinkingLevel&&s.jsxs("div",{children:[s.jsx("dt",{children:"Thinking"}),s.jsx("dd",{children:x.thinkingLevel})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Skills"}),s.jsx("dd",{children:x.skills.length===0?"无":s.jsx("ul",{className:"oc-runtime-context-skills",children:x.skills.map(K=>s.jsxs("li",{children:[s.jsx("code",{children:K.name}),s.jsxs("span",{children:[K.charCount.toLocaleString()," 字"]})]},K.name))})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Suffix"}),s.jsx("dd",{children:x.suffix.present?x.suffix.summary??"已注入":"未注入"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Resources"}),s.jsx("dd",{children:O>0?`${O} 项`:"无"})]})]}),s.jsxs("details",{className:"oc-runtime-context-raw",children:[s.jsx("summary",{children:"原始 JSON"}),s.jsx("pre",{children:JSON.stringify(x,null,2)})]})]})]})]})});function kp(o){const[u,m]=v.useState(!1),d=()=>{navigator.clipboard?.writeText(o.text).then(()=>{m(!0),window.setTimeout(()=>m(!1),1600)},()=>{})};return s.jsx("button",{type:"button",className:`oc-message-copy${u?" is-copied":""}`,"aria-label":u?"已复制":"复制消息",title:u?"已复制":"复制",onClick:d,children:u?s.jsx(Hp,{}):s.jsx(Up,{})})}function wp(o){const{entry:u}=o,[m,d]=v.useState(u.status==="error"),x=u.status==="running"?"运行中":u.status==="error"?"出错":"完成",R=`is-${u.status}`,O=Ep(u.args);return s.jsxs("div",{className:`oc-tool ${u.status==="error"?"is-error":""} ${u.status==="running"?"is-running":""}`,children:[s.jsxs("button",{type:"button",className:"oc-tool-head","aria-expanded":m,onClick:()=>d(K=>!K),children:[s.jsx(Gp,{}),s.jsx("span",{className:"oc-tool-icon","aria-hidden":"true",children:s.jsx(Bp,{})}),s.jsx("span",{className:"oc-tool-name",children:u.toolName}),O&&s.jsx("span",{className:"oc-tool-args",children:O}),s.jsx("span",{className:`oc-tool-status ${R}`,children:x})]}),m&&s.jsxs("div",{className:"oc-tool-body",children:[u.args!==void 0&&s.jsxs("div",{className:"oc-tool-section",children:[s.jsx("div",{className:"oc-tool-label",children:"入参"}),s.jsx("pre",{className:"oc-tool-code",children:typeof u.args=="string"?u.args:JSON.stringify(u.args,null,2)})]}),u.resultText!==void 0&&s.jsxs("div",{className:"oc-tool-section",children:[s.jsx("div",{className:"oc-tool-label",children:u.status==="error"?"错误":"结果"}),s.jsx("pre",{className:"oc-tool-code",children:u.resultText})]}),u.status==="running"&&u.resultText===void 0&&u.args===void 0&&s.jsx("div",{className:"oc-tool-section",children:s.jsx("div",{className:"oc-tool-waiting",children:"等待结果…"})})]})]})}function Up(){return s.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[s.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),s.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function Hp(){return s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("polyline",{points:"20 6 9 17 4 12"})})}function qp(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[s.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),s.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})}function Lp(){return s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:s.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function Gp(){return s.jsx("svg",{className:"oc-tool-chevron",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("polyline",{points:"4 2.5 7.5 6 4 9.5"})})}function Bp(){return s.jsx("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"})})}function ac(o){const u=(o??"").trim();return u?/controller identity changed|package fingerprint changed|entry binary sha256 changed/i.test(u)?"控制器版本已变更(Console 启动后代码被重新编译)。请重启 Console 后再试,一次会话中途不要升级/重建控制器。":u:"操作失败"}const Yp={report:{id:"report",label:"查看报告",action:"dagReport",lane:"dag",guide:"看失败分类与建议动作(交接报告摘要)",commandHint:"loop-agent dag report --run-id <run-id> --json"},doctor:{id:"doctor",label:"Doctor 诊断",action:"doctor",lane:"dag",guide:"只读诊断:检查 Console / Pi / 仓库就绪,不是重跑前置",commandHint:"agent-worker console doctor --repo ."},decision:{id:"decision",label:"人工决策",lane:"dag",guide:"暂停等人时:先看 doctor 输出再做决策(经 CLI)",commandHint:"loop-agent dag doctor --run-id <run-id> --markdown"},resume:{id:"resume",label:"恢复运行",lane:"dag",guide:"仅当运行可安全 resume 时使用(经 CLI)",commandHint:"loop-agent run-dag --resume --run-id <run-id>"},reconcile:{id:"reconcile",label:"对账 / reconcile",requiresReason:!0,lane:"dag",guide:"状态不一致时先对账,再决定是否重跑(需原因)",commandHint:"loop-agent dag reconcile-run --run-id <run-id> --reason <structured-reason>"},regenerate:{id:"regenerate",label:"重新生成契约/计划",lane:"dag",guide:"契约/计划过期时:回任务页或经 CLI 重新 run-task(本页仅提示)",commandHint:"loop-agent dag run-task <task-id> --profile auto"},observeLink:{id:"observeLink",label:"全屏观测",action:"observeLink",lane:"dag",guide:"打开完整 Inspect 画布;顶栏可返回操作台",commandHint:"agent-worker console serve --repo . --port 8790"},dagRerun:{id:"dagRerun",label:"从节点重跑",requiresReason:!0,action:"dagRerun",lane:"dag",guide:"子图重跑:需选起点且 plan 合格;含 writer 的早期节点常不可用",commandHint:"loop-agent dag rerun --run-id <run-id> --from-node <node-id> --plan"},standaloneTaskRerun:{id:"standaloneTaskRerun",label:"完整重跑任务",requiresReason:!0,action:"standaloneTaskRerun",lane:"dag",guide:"整单重跑:失败类默认首选;需确认原因后提交",commandHint:"loop-agent dag rerun-task --run-id <run-id> --reason <reason> --request-id <key>"},workerTaskRetry:{id:"workerTaskRetry",label:"重新排队 Worker Task",requiresReason:!0,action:"workerTaskRetry",lane:"worker",guide:"仅 Worker 队列任务失败时使用,不要与 DAG 重跑混用",commandHint:"agent-worker task retry <task-id> --feature-id <feature-id> --repo . --reason <reason>"}},bm={"validation-failed":["report","doctor","regenerate"],"contract-drift":["report","doctor","decision","reconcile","regenerate"],"runtime-mismatch":["report","doctor","reconcile","regenerate"],"pause-on-human":["decision","resume","report","doctor"],"verification-failed":["report","doctor","standaloneTaskRerun","dagRerun","resume","regenerate"],"orphan-unknown":["report","doctor","reconcile"],"terminal-failed":["report","doctor","dagRerun","standaloneTaskRerun","workerTaskRetry","regenerate"],"terminal-succeeded":["report","observeLink"],"needs-reconcile":["report","doctor","reconcile","regenerate"]};function Qp(o){return(bm[o]??bm["orphan-unknown"]).map(m=>Yp[m])}function Xp(o){const u=[],m=[];for(const d of o)d.lane==="worker"?m.push(d):u.push(d);return{dag:u,worker:m}}function Zp(o){return typeof o.action=="string"&&o.action.trim().length>0}function Rm(o){return Qp(o).filter(Zp)}function Vp(o){const u=new Set(Rm(o).map(d=>d.id)),m=(...d)=>{for(const x of d)if(u.has(x))return x;return null};switch(o){case"terminal-failed":case"verification-failed":return m("standaloneTaskRerun","dagRerun","doctor","report");case"pause-on-human":return m("doctor","report");case"needs-reconcile":case"runtime-mismatch":case"contract-drift":return m("doctor","report");case"validation-failed":return m("doctor","report");case"terminal-succeeded":return m("observeLink","report");default:return m("doctor","report")}}function Kp(o){if(o.needsReconcile)return"needs-reconcile";const u=(o.errorCode??"").toLowerCase(),m=(o.operationState??"").toLowerCase(),d=(o.dagStatus??"").toLowerCase();return u.includes("validation")||u.includes("invalid")||m.includes("validation")?"validation-failed":u.includes("contract")||u.includes("drift")||u.includes("binding")?"contract-drift":u.includes("runtime")||u.includes("mismatch")||u.includes("fingerprint")?"runtime-mismatch":u.includes("human")||m.includes("paused")||d.includes("paused")||m.includes("awaiting")?"pause-on-human":u.includes("verif")||m.includes("verif")?"verification-failed":m==="succeeded"||m==="completed"||d==="succeeded"||d==="completed"?"terminal-succeeded":m==="failed"||m.includes("fail")||d==="failed"||u.includes("fail")?"terminal-failed":u.includes("reconcil")||m.includes("reconcil")?"needs-reconcile":"orphan-unknown"}const Ro=new Set(["failed","error","partial_failed"]),Dm=new Set(["blocked","paused","awaiting_human"]);function uc(o){return(o??"").trim().toLowerCase()}function $p(o){return Ro.has(uc(o))}function Sm(o){const u=uc(o.status);return Ro.has(u)||u.includes("fail")?0:o.lifecycle==="paused"||u==="paused"?1:o.lifecycle==="active"?2:3}function Jp(o){return[...o].sort((u,m)=>{const d=Sm(u)-Sm(m);return d!==0?d:m.mtimeMs-u.mtimeMs})}function Ip(o){return Jp(o)[0]?.dagRunId}function xm(o){const u=uc(o.status);return Ro.has(u)?0:Dm.has(u)?1:2}function Om(o){return[...o].sort((u,m)=>{const d=xm(u)-xm(m);return d!==0?d:u.nodeId.localeCompare(m.nodeId)})}function Wp(o){const u=Om(o);return u.find(d=>$p(d.status)||Dm.has(uc(d.status)))?.nodeId??u[0]?.nodeId}function Fp(o){const u=o.status?.trim()||o.lifecycle;return`${o.dagRunId.length>36?`${o.dagRunId.slice(0,18)}…${o.dagRunId.slice(-8)}`:o.dagRunId} · ${u}`}function Pp(o){const u=o.status?.trim()||"unknown",m=o.label?.trim();return m&&m!==o.nodeId?`${o.nodeId} · ${u} · ${m}`:`${o.nodeId} · ${u}`}function ey(o){const m=[`operator-recovery: ${o.actionLabel?.trim()||"恢复"}`],d=o.dagRunId?.trim();if(d){const K=o.runStatus?.trim();m.push(K?`run=${d} (${K})`:`run=${d}`)}const x=o.fromNodeId?.trim();if(x){const K=o.nodeStatus?.trim();m.push(K?`from-node=${x} (${K})`:`from-node=${x}`)}const R=o.factClassLabel?.trim();R&&m.push(`fact=${R}`);const O=o.nodeError?.trim()||o.errorMessage?.trim()||(o.errorCode?.trim()?`code=${o.errorCode.trim()}`:"");return O&&m.push(`detail=${O.replace(/\s+/g," ").slice(0,280)}`),m.join(`
|
|
20
|
+
`).slice(0,500)}function jm(o){const u=o.trim();return u?u==="operator-recovery"||u.startsWith("operator-recovery:")||u.startsWith("recovery:"):!0}function ty(o){return o==="validate"||o==="apply"||o==="spine"?"contract":o}const zm="X-Loop-Console-Confirmation",ly="agent-worker console doctor --repo .",So=[{kind:"standard",label:"后端研发(默认 DAG)",hint:"生成标准 hybrid DAG(contract → implement → verify)"},{kind:"frontend-implementation",label:"前端研发",hint:"生成 frontend-implementation 专用节点链"},{kind:"backend-test",label:"后端测试",hint:"生成 backend-test-dag(分析 / 用例 / pytest)"},{kind:"frontend-test",label:"前端测试",hint:"生成 frontend-test-dag(RAG 用例 + Playwright CLI)"}],xo={"setup-required":"需要设置",ready:"已就绪",degraded:"降级可用",unknown:"未知"},ny={idle:"未探测",match:"匹配",mismatch:"仓库不匹配",unavailable:"不可用"},Nm={low:"低",medium:"中",high:"高"},Tm={"validation-failed":"校验失败","contract-drift":"契约漂移","runtime-mismatch":"运行时不匹配","pause-on-human":"等待人工","verification-failed":"验证失败","orphan-unknown":"孤立/未知","terminal-failed":"已终止(失败)","terminal-succeeded":"已终止(成功)","needs-reconcile":"需要对账"},ay={idle:"空闲","not-started":"未开始","not-run":"未运行","n/a (MVP)":"不适用(MVP)",accepted:"已接受",succeeded:"已成功",running:"运行中",ran:"已执行"};function ic(o){return ay[o]??o}function _m(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function sc(o){return`${o}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}async function jo(o,u={},m){const d={"Content-Type":"application/json",[zm]:_m()},x=await fetch("/api/operator/v1/operations",{method:"POST",credentials:"same-origin",headers:d,body:JSON.stringify({action:o,actionParams:u,...m?{clientRequestId:m}:{}})});let R={};try{R=await x.json()}catch{R={ok:!1,error:{code:"INVALID_INPUT",message:"操作响应不是合法 JSON"}}}return{status:x.status,body:R}}const iy=new Set(["runDag","dagRerun","standaloneTaskRerun"]);function No(o){const u=(o.blockedReasons??[]).map(String),m=(o.blockingNodes??[]).map(x=>[x.nodeId,x.reasonCode].filter(Boolean).join(":")),d=[...u,...m].filter(Boolean);return d.length===0?"从节点重跑不具备安全资格(子图含 writer / unsafe shell / decision-gate 等)。可改用「完整重跑任务」,或另选只读安全子图的起始节点。":`从节点重跑不具备安全资格:${d.slice(0,6).join("; ")}${d.length>6?"…":""}。可改用「完整重跑任务」。`}async function Em(o,u=9e4){const m=Date.now();for(;Date.now()-m<u;){const d=await fetch(`/api/operator/v1/operations/${encodeURIComponent(o)}`,{credentials:"same-origin"});if(!d.ok)return null;const x=await d.json(),R=x.operation??x,O=R.state??"";if(O==="succeeded"||O==="failed"||O==="needs-reconcile"||O==="timed-out")return R;await new Promise(K=>setTimeout(K,250))}return{state:"needs-reconcile",errorMessage:"等待操作结果超时"}}function sy(){const[o,u]=v.useState(()=>xp({env:void 0,storage:window.localStorage,location:window.location})),[m,d]=v.useState(null),[x,R]=v.useState("setup-required"),[O,K]=v.useState(null),[B,z]=v.useState(null),[$,Y]=v.useState("setup"),P=v.useCallback(p=>{Y(T=>ty(typeof p=="function"?p(T):p))},[]),[G,le]=v.useState(""),[ie,et]=v.useState(""),[ce,_e]=v.useState("standard"),Me=So.find(p=>p.kind===ce)??So[0],[pt,ot]=v.useState(`# 需求
|
|
21
|
+
|
|
22
|
+
实现 Loop Operator Console Happy Path:Interview → 契约落地 → DAG confirm → run。
|
|
23
|
+
`),[We,re]=v.useState(null),[Ee,wt]=v.useState(null),[Ut,nt]=v.useState(""),[Ze,Gt]=v.useState(null),[tt,Nt]=v.useState(null),[D,Z]=v.useState(null),[ne,Ce]=v.useState(null),[Ae,g]=v.useState(null),[M,X]=v.useState(!1),[L,F]=v.useState(null),[de,ge]=v.useState(null),rt=v.useRef(!1),[Re,Gl]=v.useState(null),[rl,Wl]=v.useState(null),[Fl,Bl]=v.useState(null),[Pl,Yl]=v.useState([]),[$e,It]=v.useState(!0),Ql=v.useRef(null),[fe,Bt]=v.useState(!1),[Rn,Dn]=v.useState(!1),[it,ke]=v.useState(null),[ca,Ge]=v.useState(null),[dl,Yt]=v.useState(null),[ua,dt]=v.useState(null),[fl,Qt]=v.useState({command:"idle",dag:"not-started",verification:"not-run",promote:"n/a (MVP)"}),[ee,Ct]=v.useState(""),[be,On]=v.useState("idle"),[zn,_n]=v.useState(null),[ml,hl]=v.useState(null),[Wt,At]=v.useState(!1),[Be,Ht]=v.useState(""),[un,Mn]=v.useState(""),[Tt,vl]=v.useState(""),[en,Rl]=v.useState(!1),[at,pl]=v.useState(null),[st,Xt]=v.useState(null),[Rt,Xl]=v.useState([]),[Je,Ie]=v.useState([]),[ft,pe]=v.useState(!1),[yl,oa]=v.useState(!1),[tn,Zt]=v.useState(null),[gl,bl]=v.useState(!1),[Ft,Pt]=v.useState(!1),[Dt,Vt]=v.useState(null),Ue=x==="setup-required",Dl=x==="degraded",kn=v.useCallback((p,T={})=>{u(p),T.taskId&&le(T.taskId),T.dagRunId&&Ct(T.dagRunId),T.fromNodeId&&Ht(T.fromNodeId),T.featureId&&Mn(T.featureId)},[]);v.useEffect(()=>{const p=Np(window.location);p&&kn(p.workspace,p)},[kn]);const el=v.useCallback(async()=>{try{const T=await(await fetch("/api/health")).json();d(T);const H=T.piReadiness??"setup-required";R(H),z(null),P(H==="ready"||H==="degraded"?V=>V==="setup"?"import-prd":V:"setup")}catch(p){z(p instanceof Error?p.message:String(p))}try{const T=await(await fetch("/api/operator/v1/readiness")).json();K(T),T.state&&R(T.state)}catch{}},[]);v.useEffect(()=>{el()},[el]);const Zl=v.useCallback(()=>{Z(null),Ce(null),g(null),X(!1),F(null),ge(null),rt.current=!1},[]),ra=v.useCallback(()=>{Zl(),P("contract")},[Zl,P]),on=v.useCallback(p=>{const T=p.session;T?.sessionId&&re(T.sessionId);const H=p.question;wt(H),Gt(p.summary??null);const V=p.assessmentId;typeof V=="string"&&V&&Nt(V),(p.complete===!0||typeof V=="string"&&V)&&(ra(),Ge(p.skipped===!0?"已跳过访谈:已按推荐补齐草稿并签发评估":"访谈已完成:草稿已绑定完整评估结果"))},[ra]),he=v.useCallback(async(p,T={},H)=>{Bt(!0),ke(null),Yt(null),Ge(null);try{const{status:V,body:Q}=await jo(p,T,H?.clientRequestId);if(V===412||Q.error?.code==="PI_SETUP_REQUIRED")return ke(ac(Q.error?.message??"Pi 未就绪或已降级:该操作暂不可用")),Yt(Q.error?.code??"PI_SETUP_REQUIRED"),R("setup-required"),P("setup"),u("models"),Q;if(V>=400||Q.ok===!1)return ke(ac(Q.error?.message??Q.message??`操作失败(HTTP ${V})`)),Yt(Q.error?.code??String(V)),dt(Q.state??`failed:${V}`),Qt(Ve=>({...Ve,command:Q.error?.message??`failed:${Q.error?.code??V}`})),Q;if(Q.operationId){const Ve=window.localStorage.getItem(Ll)?.trim();if(Ve&&fetch(`/api/operator/v1/chat/sessions/${encodeURIComponent(Ve)}/operation-links`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",[zm]:_m()},body:JSON.stringify({operationId:Q.operationId})}).then(se=>{se.ok||console.warn("Operator Chat operation link failed",se.status)}).catch(se=>console.warn("Operator Chat operation link failed",se)),Bl(Q.operationId),dt(Q.state??"accepted"),Qt(se=>({...se,command:Q.state??"accepted",dag:p==="runDag"?"running":se.dag})),iy.has(p)){It(!0),Ge(`操作已接受,后台运行中:${Q.operationId}(请看事件流;可同时打开 Observe)`);const se=Q.operationId;Em(se,30*6e4).then(He=>{if(He){if(dt(He.state??null),He.state==="failed"||He.state==="needs-reconcile"||He.state==="timed-out"){ke(ac(He.errorMessage??He.stderrPreview??`操作失败:${He.state}`)),Yt(He.errorCode??He.state??null),Qt(ln=>({...ln,command:`failed:${He.errorCode??He.state}`}));return}He.state==="succeeded"&&(Ge(`${p} 已成功`),Qt(ln=>({...ln,command:"succeeded"})))}})}else{Ge(`操作已接受:${Q.operationId}`);const se=await Em(Q.operationId);if(se){if(dt(se.state??null),se.state==="failed"||se.state==="needs-reconcile"||se.state==="timed-out")return ke(ac(se.errorMessage??se.stderrPreview??`操作失败:${se.state}`)),Yt(se.errorCode??se.state??null),Qt(He=>({...He,command:`failed:${se.errorCode??se.state}`})),{ok:!1,operationId:Q.operationId,state:se.state,error:{code:se.errorCode??se.state??"INTERNAL_ERROR",message:se.errorMessage??se.stderrPreview??`操作失败:${se.state}`}};Ge(se.errorMessage?`${p}:${se.errorMessage}`:`${p} 已成功`),Qt(He=>({...He,command:se.state??"succeeded"}))}}}else Ge(`${p} 已完成`),dt(Q.state??"succeeded"),Qt(Ve=>({...Ve,command:"succeeded",verification:p==="contractValidate"||p==="spineCheck"?"ran":Ve.verification}));const ue=Q.result??{};(p==="interviewStart"||p==="interviewTurn"||p==="interviewSkip")&&on(ue);const ye=ue.confirmation;return ye?.confirmationId&&(Gl(ye.confirmationId),Wl(ue)),H?.advanceTo&&P(H.advanceTo),Q}catch(V){ke(V instanceof Error?V.message:String(V));return}finally{Bt(!1)}},[on]),da=v.useCallback(p=>{if(!p)return"无响应";if(p.error?.message)return p.error.message;if(p.message)return p.message;const T=p.result;if(T&&typeof T=="object")try{return JSON.stringify(T).slice(0,1200)}catch{return"已返回结果"}return p.ok===!1?"失败":"成功"},[]),mt=v.useCallback(p=>{if(!p||p.ok===!1||p.error)return!1;const T=p.result;if(!T)return!0;if(typeof T.valid=="boolean")return T.valid;const H=T.result;return H&&typeof H.valid=="boolean"?H.valid:!0},[]),Vl=v.useCallback(async(p=!1)=>{const T=G.trim();if(!T)return;const H=`${T}:${tt??""}`;if(!(!p&&de===H&&D!==null)&&!rt.current){rt.current=!0,Z(null),Ce(null),g(null),F(null),X(!1);try{const V=await he("contractValidate",{taskId:T}),Q=mt(V);if(Z(Q),Ce(da(V)),!Q){ge(H),Ge("契约校验未通过:请先修正草稿后再应用");return}const ue=await he("contractDiff",{taskId:T});g(da(ue)),ge(H),Ge(mt(ue)?"校验与差异已就绪:确认后可应用契约":"校验通过,但差异查询失败(仍可查看下方摘要)")}finally{rt.current=!1}}},[tt,de,D,mt,he,da,G]),tl=v.useCallback(async()=>{const p=G.trim();if(!p||!tt)return;const T=await he("contractApply",{taskId:p,assessmentId:tt},{clientRequestId:sc("apply")});if(!mt(T)){X(!1);return}X(!0);const H=await he("spineCheck",{taskId:p});if(mt(H)){F(!0),P("dag-confirm"),Ge("契约已应用并通过 Spine 审计,可生成并运行 DAG");return}F(!1),Ge("契约已应用,但 Spine 审计未通过:可重试 Spine")},[tt,mt,he,P,G]),qt=v.useCallback(async()=>{const p=G.trim();if(!p)return;const T=await he("spineCheck",{taskId:p});if(mt(T)){F(!0),P("dag-confirm"),Ge("Spine 审计已通过,可生成并运行 DAG");return}F(!1)},[mt,he,P,G]),wn=v.useCallback(async()=>{const p=Re?.trim();if(!p)return;const T=rl?.confirmation?.humanGateToken,H=await he("confirmDagConfirmation",{confirmationId:p,humanGateToken:T});mt(H)&&(P("run"),await he("runDag",{confirmationId:p},{clientRequestId:sc("run")}))},[Re,rl,mt,he,P]);v.useEffect(()=>{$==="contract"&&G.trim()&&Vl(!1)},[$,G,tt,Vl]);const Sl=v.useCallback(async p=>{Ql.current?.abort();const T=new AbortController;Ql.current=T,Yl(H=>[...H,`开始跟随事件流 ${p}`]);try{const H=await fetch(`/api/operator/v1/operations/${encodeURIComponent(p)}/events`,{credentials:"same-origin",signal:T.signal});if(!H.ok||!H.body){Yl(ye=>[...ye,`事件流 HTTP ${H.status}`]);return}const V=H.body.getReader(),Q=new TextDecoder;let ue="";for(;$e;){const{done:ye,value:Ve}=await V.read();if(ye)break;ue+=Q.decode(Ve,{stream:!0});const se=ue.split(`
|
|
24
|
+
|
|
25
|
+
`);ue=se.pop()??"";for(const He of se){const ln=He.split(`
|
|
26
|
+
`).find(Ol=>Ol.startsWith("data:"));if(!ln)continue;const fa=ln.slice(5).trim();Yl(Ol=>[...Ol.slice(-80),fa.slice(0,240)])}}}catch(H){H.name!=="AbortError"&&Yl(V=>[...V,`事件流错误:${H instanceof Error?H.message:String(H)}`])}},[$e]);v.useEffect(()=>(Fl&&$e&&($==="run"||o==="recovery")&&Sl(Fl),()=>Ql.current?.abort()),[Fl,$e,$,o,Sl]);const Un=v.useCallback(()=>ee.trim()?`/inspect/#/dag/${encodeURIComponent(ee.trim())}`:"/inspect/#/",[ee]),rn=v.useCallback(()=>{window.location.assign(Un())},[Un]),Kl=v.useCallback(async()=>{if(ee.trim())return ee.trim();const p=G.trim();if(!p)return ke("打开 DAG 检视需要任务 ID 或 DAG 运行 ID"),null;Dn(!0),ke(null);try{const{status:T,body:H}=await jo("observeLink",{taskId:p}),V=H.result??{};if(T>=400||H.ok===!1)return ke(H.error?.message??"无法解析 DAG 画布地址"),On("unavailable"),_n(H.error?.message??null),null;const Q=typeof V.dagRunId=="string"?V.dagRunId.trim():"";return Q?(Ct(Q),On("match"),_n(null),hl(`/inspect/#/dag/${encodeURIComponent(Q)}`),Q):(ke("尚未找到该任务的 DAG 运行,请稍后再打开检视"),On("unavailable"),_n(V.message??"未解析到 DAG run"),null)}catch(T){return ke(T instanceof Error?T.message:String(T)),null}finally{Dn(!1)}},[ee,G]),Hn=v.useCallback(async()=>{await Kl()&&At(!0)},[Kl]),yt=v.useCallback(async()=>{const p=await Kl();p&&window.location.assign(`/inspect/#/dag/${encodeURIComponent(p)}`)},[Kl]),ll=v.useCallback(async()=>{pe(!0);try{const p=G.trim(),T=new URLSearchParams;p&&T.set("taskId",p),T.set("limit","40");const H=await fetch(`/api/operator/v1/recovery/candidates?${T.toString()}`,{credentials:"same-origin"});if(!H.ok){Xl([]);return}const V=await H.json();Xl(Array.isArray(V.runs)?V.runs:[])}catch{Xl([])}finally{pe(!1)}},[G]),qn=v.useCallback(async p=>{const T=p.trim();if(!T){Ie([]),Zt(null);return}oa(!0);try{const H=await fetch(`/api/dag-runs/${encodeURIComponent(T)}`,{credentials:"same-origin"});if(!H.ok){Ie([]),Zt(null);return}const V=await H.json();Zt(typeof V.status=="string"?V.status:null);const Q=Array.isArray(V.nodes)?V.nodes:[],ue=Om(Q.map(ye=>{const Ve=(ye.nodeId??ye.id??"").trim();return Ve?{nodeId:Ve,status:ye.status,label:ye.label??ye.name,errorPreview:ye.errorPreview}:null}).filter(ye=>ye!==null));Ie(ue)}catch{Ie([]),Zt(null)}finally{oa(!1)}},[]);v.useEffect(()=>{o==="recovery"&&ll()},[o,G,ll]),v.useEffect(()=>{if(o!=="recovery"||gl||Rt.length===0)return;const p=ee.trim(),T=p?Rt.some(H=>H.dagRunId===p):!1;if(!p||!T){const H=Ip(Rt);H&&H!==p&&Ct(H)}},[o,Rt,ee,gl]),v.useEffect(()=>{o==="recovery"&&qn(ee)},[o,ee,qn]),v.useEffect(()=>{if(o!=="recovery"||Ft||Je.length===0)return;const p=Be.trim(),T=p?Je.some(H=>H.nodeId===p):!1;if(!p||!T){const H=Wp(Je);H&&H!==p&&Ht(H)}},[o,Je,Be,Ft]);const nl=Kp({operationState:tn?null:ua,errorCode:tn?null:dl,dagStatus:tn}),Ot=v.useMemo(()=>Rm(nl),[nl]),dn=v.useMemo(()=>Xp(Ot),[Ot]),fn=v.useMemo(()=>Vp(nl),[nl]),Kt=v.useMemo(()=>Je.find(p=>p.nodeId===Be.trim()),[Je,Be]),f=v.useRef(null);v.useEffect(()=>{st&&f.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[st?.id]);const b=v.useCallback(p=>ey({actionLabel:p,dagRunId:ee.trim()||void 0,fromNodeId:Be.trim()||void 0,runStatus:tn,nodeStatus:Kt?.status,nodeError:Kt?.errorPreview,factClassLabel:Tm[nl],errorMessage:it,errorCode:dl}),[ee,Be,it,dl,nl,tn,Kt?.errorPreview,Kt?.status]);v.useEffect(()=>{if(o!=="recovery"||en&&!jm(Tt))return;const p=b(st?.label);p&&p!==Tt&&vl(p)},[o,ee,Be,tn,Kt,nl,it,dl,st?.label,en,Tt,b]);const C=v.useCallback(async p=>{if(p.requiresReason||(Xt(null),pl(null)),p.action==="doctor"){Vt(null),he("doctor",{});return}if(p.action==="dagReport"||p.id==="report"){const T=ee.trim();if(T){Xt(null),pl(null);const H=await he("dagReport",{runId:T}),V=H?.result??{},Q=(V.raw?.runs??V.runs)?.[0];H&&H.ok!==!1&&!H.error&&Q&&(Vt({runId:Q.runId??T,title:Q.title,status:Q.status,category:Q.productLineFailureCategory,recommendation:Q.recoveryRecommendation?.summary??Q.recommendedFollowUp??void 0}),Ge(null));return}if(G.trim()){Vt(null),he("status",{taskId:G});return}ke("查看报告需要先选择 DAG 运行 ID(或填写任务 ID)");return}if(p.action==="observeLink"){Vt(null),yt();return}if(p.requiresReason){if(Vt(null),Xt(p),pl(null),p.id!=="dagRerun"&&(ke(null),Yt(null)),(!en||jm(Tt))&&(vl(b(p.label)),Rl(!1)),p.id==="dagRerun"&&ee.trim()&&Be.trim()){Bt(!0);try{const{status:T,body:H}=await jo("dagRerunPlan",{runId:ee.trim(),fromNode:Be.trim()}),V=H.result??{};V&&typeof V=="object"&&("eligible"in V||V.planHash)&&pl(V),T<400&&H.ok!==!1&&V.eligible!==!1?Ge(null):V.eligible===!1?ke(H.error?.message??No(V)):Ge(H.error?.message??"无法预检重跑计划;确认后仍将尝试提交(CLI 可能尚未就绪)")}finally{Bt(!1)}}return}ke(null),Yt(null),Ge(`${p.label}:请经 CLI — ${p.commandHint??""}`)},[b,ee,Be,yt,Tt,en,he,G]),U=v.useCallback(async()=>{const p=st;if(!p)return;const T=Tt.trim();if(!T){ke("恢复操作需要结构化原因");return}const H=sc(`recovery-${p.id}`);if(Xt(null),p.id==="dagRerun"){const V=ee.trim(),Q=Be.trim();if(!V||!Q){ke("从节点重跑需要 DAG 运行 ID 与起始节点 ID");return}let ue=at?.planHash?.trim(),ye=at?.eligible;if(!ue||ye===void 0){const Ve=await he("dagRerunPlan",{runId:V,fromNode:Q}),se=Ve?.result??{};if((se.planHash||se.eligible!==void 0)&&pl(se),ue=se.planHash?.trim()||ue,ye=se.eligible,se.eligible===!1){ke(Ve?.error?.message??No(se));return}if(Ve&&Ve.ok===!1&&!ue){ke(Ve.error?.message??"无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}}if(ye===!1){ke(No(at??{}));return}if(!ue){ke("无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}await he("dagRerun",{runId:V,fromNode:Q,planHash:ue,reason:T},{clientRequestId:H});return}if(p.id==="standaloneTaskRerun"){const V=ee.trim();if(!V){ke("完整重跑任务需要 DAG 运行 ID");return}const Q={runId:V,reason:T,...G.trim()?{taskId:G.trim()}:{}},ue=await he("prepareMutationGate",{action:"standaloneTaskRerun",actionParams:Q});if(!mt(ue))return;const ye=ue?.result??ue;if(!ye.receiptId||!ye.humanGateToken){ke("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await he("standaloneTaskRerun",{...Q,confirmationId:ye.receiptId,humanGateToken:ye.humanGateToken},{clientRequestId:H});return}if(p.id==="workerTaskRetry"){const V=G.trim();if(!V){ke("重新排队 Worker Task 需要任务 ID");return}const Q={taskId:V,reason:T,...un.trim()?{featureId:un.trim()}:{}},ue=await he("prepareMutationGate",{action:"workerTaskRetry",actionParams:Q});if(!mt(ue))return;const ye=ue?.result??ue;if(!ye.receiptId||!ye.humanGateToken){ke("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await he("workerTaskRetry",{...Q,confirmationId:ye.receiptId,humanGateToken:ye.humanGateToken},{clientRequestId:H});return}if(p.id==="reconcile"){if(!ee.trim()){ke("对账恢复需要 DAG 运行 ID");return}Ge(`${p.label}:请经 CLI — ${p.commandHint??""}`);return}Ge(`${p.label}:请经 CLI — ${p.commandHint??""}`)},[ee,un,Be,st,at?.planHash,Tt,he,mt,G]),J=[{id:"setup",label:"就绪检查"},{id:"import-prd",label:"导入需求"},{id:"interview",label:"需求访谈(可跳过)"},{id:"contract",label:"契约落地"},{id:"dag-confirm",label:"确认 DAG"},{id:"run",label:"运行"}],q=J.findIndex(p=>p.id===$),De=p=>!st||st.lane!==p?null:s.jsxs("div",{ref:f,className:"recovery-confirm","data-testid":"recovery-confirm",children:[s.jsxs("h3",{children:["待确认:",st.label]}),s.jsx("p",{className:"muted",children:"请核对上方运行 / 节点与恢复原因,再点「确定」执行。"}),at?s.jsxs("div",{className:"recovery-plan-summary",children:[s.jsxs("p",{className:"muted",children:["计划 eligible=",String(at.eligible??"—")," · 风险=",Nm[at.risk??""]??at.risk??"—"]}),at.effectiveFromNodeId?s.jsxs("p",{className:"muted",children:["有效起点:",at.effectiveFromNodeId]}):null,at.estimatedExecution?s.jsxs("p",{className:"muted",children:["将执行 ",at.estimatedExecution.nodeCount??"?"," ","个节点 / ",at.estimatedExecution.piCallCount??"?"," ","次 Pi;预计避免"," ",at.estimatedExecution.avoidedNodeCount??"?"," ","个节点"]}):null,at.planHash?s.jsxs("p",{className:"muted",children:["planHash: ",s.jsxs("code",{children:[at.planHash.slice(0,16),"…"]})]}):null]}):st.id==="dagRerun"?s.jsx("p",{className:"muted",children:"未加载计划摘要;点「确定」前将再次尝试资格检查。"}):null,s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe||!Tt.trim(),"data-testid":"recovery-confirm-submit",onClick:()=>{U()},children:"确定"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:fe,"data-testid":"recovery-confirm-cancel",onClick:()=>{Xt(null),pl(null)},children:"取消"})]})]});return s.jsx(s.Fragment,{children:s.jsxs("div",{className:"console-app",children:[s.jsxs("nav",{className:"embedded-operator-nav","aria-label":"Operator 导航",children:[s.jsx("span",{"aria-current":"page",children:"操作"}),s.jsx("a",{href:"/inspect/#/",children:"观测"})]}),s.jsxs("div",{className:`console-shell${o==="chat"?" is-chat-focus":""}`,children:[s.jsxs("nav",{className:"top-nav","aria-label":"控制台导航",children:[[["tasks","任务"],["recovery","恢复"],["chat","对话"],["models","模型与认证"],["settings","设置"]].map(([p,T])=>s.jsx("button",{type:"button",className:o===p?"nav-link nav-link-active":"nav-link",onClick:()=>u(p),children:T},p)),s.jsxs("button",{type:"button",className:"readiness","data-state":x,"data-testid":"readiness-state",title:Ue?"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。点击前往模型与认证。":Dl?"Pi 暂时降级:仍可恢复草稿与需求访谈。点击查看详情。":"Pi 已就绪。点击打开设置查看详情。","aria-label":`Pi 就绪:${xo[x]??x}`,onClick:()=>u(Ue||Dl?"models":"settings"),children:[s.jsx("span",{className:"readiness-label",children:"Pi"}),s.jsx("strong",{children:xo[x]??x})]})]}),it?s.jsxs("div",{className:"flash flash-error","data-testid":"op-error",children:[s.jsx("span",{className:"flash-label",children:"错误"}),s.jsx("p",{className:"flash-body",children:it})]}):null,ca?s.jsxs("div",{className:"flash flash-info","data-testid":"op-message",children:[s.jsx("span",{className:"flash-label",children:"状态"}),s.jsx("p",{className:"flash-body",children:ca})]}):null,s.jsxs("main",{className:`console-main${o==="chat"?" console-main--fill":""}`,children:[o==="tasks"?s.jsxs("section",{className:"panel task-ops","aria-labelledby":"task-ops-title",children:[s.jsx("h2",{id:"task-ops-title",children:"任务操作"}),s.jsx("p",{className:"panel-lead",children:"按 Happy Path 推进;契约落地一步内自动校验,人工确认写入。"}),s.jsx("ol",{className:"wizard-steps","data-testid":"wizard-steps",children:J.map((p,T)=>s.jsxs("li",{"data-active":$===p.id,"data-done":T<q,children:[s.jsx("span",{className:"step-index",children:String(T+1).padStart(2,"0")}),s.jsx("span",{className:"step-label",children:p.label})]},p.id))}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"任务 ID"}),s.jsx("input",{"data-testid":"task-id-input",value:G,disabled:fe||Ue||$==="import-prd",placeholder:$==="import-prd"?"导入需求后自动生成":"task-id",onChange:p=>le(p.target.value.trim())})]}),ie?s.jsxs("p",{className:"workflow-hint","data-testid":"task-title-chip",children:["任务名称:",ie]}):null,$!=="import-prd"&&!Ue?s.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-chip",children:["当前流程:",Me.label," · ",s.jsx("code",{children:ce})]}):null,Ue||$==="setup"?s.jsxs("div",{className:"empty-state","data-testid":"setup-gate",children:[s.jsx("p",{className:"empty-title",children:"需要先完成设置"}),s.jsx("p",{className:"muted",children:"请先在「模型与认证」完成 Pi 就绪,再导入需求与访谈。"}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe,onClick:()=>{u("models"),he("refreshReadiness",{}).then(()=>el())},children:"刷新就绪状态"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe,onClick:()=>{he("doctor",{})},children:"运行诊断"}),s.jsx("pre",{className:"cmd",children:ly})]})]}):s.jsxs("div",{className:"wizard-body","data-testid":"wizard-body",children:[$==="import-prd"&&s.jsxs("div",{"data-testid":"panel-import-prd",children:[s.jsx("h3",{children:"导入需求"}),s.jsx("p",{className:"muted",children:"粘贴 PRD / 需求 Markdown。系统会根据正文自动生成任务名称与 taskId,并创建任务、写入不可变引用。"}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"流程类型"}),s.jsx("select",{"data-testid":"workflow-kind-select",value:ce,disabled:fe,onChange:p=>_e(p.target.value),children:So.map(p=>s.jsx("option",{value:p.kind,children:p.label},p.kind))})]}),s.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-hint",children:[Me.hint," · taskKind=",s.jsx("code",{children:ce})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"PRD Markdown"}),s.jsx("textarea",{rows:10,value:pt,disabled:fe,onChange:p=>ot(p.target.value)})]}),s.jsx("div",{className:"cta-row",children:s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe||!pt.trim(),onClick:()=>{(async()=>{const p=await he("bootstrapFromPrd",{content:pt,taskKind:ce});if(!p||p.ok===!1)return;const T=p.result??{};T.taskId&&le(T.taskId),T.title&&et(T.title),Ge(`已创建任务「${T.title??""}」(${T.taskId??""}),来源:${T.identitySource??"prd"}`),P("interview")})()},children:"导入并创建任务"})})]}),$==="interview"&&s.jsxs("div",{"data-testid":"panel-interview",children:[s.jsx("h3",{children:"需求访谈(grill-me)"}),s.jsx("p",{className:"muted",children:"一次一问;也可跳过:系统会按推荐补齐草稿并签发评估,随后进入校验。 访谈中不可应用契约 / 运行 DAG / 对账。"}),Ze?s.jsx("pre",{className:"cmd","data-testid":"draft-summary",children:JSON.stringify(Ze,null,2)}):null,s.jsxs("div",{className:"cta-row",style:{marginBottom:"0.75rem"},children:[!We||!Ee?s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe||!G.trim(),onClick:()=>{he("interviewStart",{taskId:G,title:ie,taskKind:ce})},children:"开始 / 继续访谈"}):null,s.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"interview-skip",disabled:fe||!G.trim(),onClick:()=>{he("interviewSkip",{taskId:G,title:ie,taskKind:ce})},children:"跳过访谈"})]}),We&&Ee?s.jsxs("div",{className:"interview-card",children:[s.jsxs("p",{className:"interview-q",children:[s.jsx("strong",{children:Ee.id})," · 风险=",Nm[Ee.risk??""]??Ee.risk??"—"]}),s.jsx("p",{children:Ee.text}),Ee.recommendation?s.jsxs("p",{className:"muted",children:["推荐:",Ee.recommendation]}):null,s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"你的回答(覆盖推荐)"}),s.jsx("textarea",{rows:3,value:Ut,disabled:fe,onChange:p=>nt(p.target.value)})]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe,onClick:()=>{he("interviewTurn",{sessionId:We,questionId:Ee.id,response:"accept-recommendation"}).then(()=>nt(""))},children:"接受推荐"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe||!Ut.trim(),onClick:()=>{he("interviewTurn",{sessionId:We,questionId:Ee.id,response:"override",text:Ut}).then(()=>nt(""))},children:"提交自定义回答"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:fe||Ee.risk==="high",onClick:()=>{he("interviewTurn",{sessionId:We,questionId:Ee.id,response:"defer",text:Ut||Ee.recommendation}).then(()=>nt(""))},children:"暂缓(非高风险)"})]})]}):null,tt?s.jsxs("p",{className:"muted",children:["评估 ID: ",s.jsx("code",{children:tt})]}):null]}),$==="contract"&&s.jsxs("div",{"data-testid":"panel-contract",children:[s.jsx("h3",{children:"契约落地"}),s.jsx("p",{className:"muted",children:"进入本步后自动跑确定性校验与差异(非 AI 代判)。写入仓库仍需你人工确认一次;应用成功后会自动跑 Spine 审计。"}),s.jsxs("p",{className:"muted",children:["评估 ID: ",s.jsx("code",{children:tt??"—"})]}),s.jsxs("div",{className:"contract-checks",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"校验"}),":"," ",D===null?fe?"进行中…":"等待开始":D?"通过":"未通过"]}),ne?s.jsx("pre",{className:"cmd","data-testid":"contract-validate-summary",children:ne}):null,s.jsxs("p",{children:[s.jsx("strong",{children:"差异"}),Ae?"":":尚未拉取"]}),Ae?s.jsx("pre",{className:"cmd","data-testid":"contract-diff-summary",children:Ae}):null,M?s.jsxs("p",{children:[s.jsx("strong",{children:"Spine"}),":"," ",L===null?"待检查":L?"通过":"未通过"]}):null]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:fe||!G.trim(),onClick:()=>{Vl(!0)},children:"重新校验"}),s.jsx("button",{type:"button",className:"btn btn-primary","data-testid":"contract-apply",disabled:fe||Dl||!tt||D!==!0||M,onClick:()=>{tl()},children:"确认并应用契约"}),M&&L===!1?s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe,onClick:()=>{qt()},children:"重试 Spine"}):null]})]}),$==="dag-confirm"&&s.jsxs("div",{"data-testid":"panel-dag-confirm",children:[s.jsx("h3",{children:"DAG 确认(§5.5)"}),s.jsxs("ul",{className:"checklist",children:[s.jsx("li",{children:"源绑定(source)"}),s.jsx("li",{children:"Writer 写集范围(writer-scope)"}),s.jsx("li",{children:"验证命令(verification)"}),s.jsx("li",{children:"人工门禁(human-gates)"})]}),rl?s.jsx("pre",{className:"cmd",children:JSON.stringify(rl,null,2).slice(0,4e3)}):null,s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe,onClick:()=>{he("prepareDagConfirmation",{taskId:G,dagHandle:`${G}.dag.json`,profile:"auto"})},children:"生成 DAG 并准备确认"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe||!Re,onClick:()=>{wn()},children:"开始运行"})]}),Re?s.jsxs("p",{className:"muted",children:["确认 ID: ",s.jsx("code",{children:Re})]}):null]}),$==="run"&&s.jsxs("div",{"data-testid":"panel-run",children:[s.jsx("h3",{children:"运行详情"}),s.jsxs("div",{className:"meta-row",children:[s.jsxs("div",{children:["操作 ID: ",s.jsx("code",{children:Fl??"—"})]}),s.jsxs("div",{children:["确认 ID: ",s.jsx("code",{children:Re??"—"})]})]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe||!Re,onClick:()=>{he("runDag",{confirmationId:Re},{clientRequestId:sc("run")})},children:"重新运行"}),s.jsx("button",{type:"button",className:"btn btn-secondary",onClick:()=>{It(!1),Ql.current?.abort(),Ge("已停止跟随日志(未取消子进程)")},children:"停止跟随日志"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!ee.trim(),onClick:()=>At(!0),children:"打开检视"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:Rn||!ee.trim()&&!G.trim(),title:"在本页侧栏预览,可关闭返回",onClick:()=>{Hn()},children:"侧栏预览"})]}),s.jsx("pre",{className:"cmd","data-testid":"sse-log",children:Pl.join(`
|
|
27
|
+
`)||"(尚无事件)"})]})]})]}):null,o==="recovery"?s.jsxs("section",{className:"panel","aria-labelledby":"recovery-title",children:[s.jsx("h2",{id:"recovery-title",children:"恢复"}),s.jsxs("p",{className:"muted",children:["事实分类:",Tm[nl]," · 无 Cancel · 无「直接改代码」"]}),s.jsxs("ol",{className:"muted recovery-steps",children:[s.jsx("li",{children:"上方选 DAG 运行 / 节点,用「DAG 运行恢复」动作"}),s.jsx("li",{children:"Worker 队列失败才用下方「Worker Task 重排队」(二者不要混用)"}),s.jsx("li",{children:"带 * 的动作:核对预填原因 → 点下方「确定」"})]}),s.jsxs("p",{className:"muted",children:[G.trim()?`按任务 ${G.trim()} 拉取候选。`:"未填任务 ID 时列出最近 DAG 运行。","Doctor 诊断可选,不是重跑前置。"," ",s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:fe||ft,"data-testid":"recovery-refresh-candidates",onClick:()=>{ll()},children:ft?"刷新中…":"刷新候选"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"DAG 运行 ID"}),!gl&&Rt.length>0?s.jsxs("select",{"data-testid":"recovery-run-select",value:ee,disabled:fe||ft,onChange:p=>{bl(!1),Pt(!1),Ht(""),Ct(p.target.value),en||Rl(!1)},children:[Rt.some(p=>p.dagRunId===ee)?null:s.jsx("option",{value:ee||"",children:ee?`${ee}(当前)`:"— 请选择 —"}),Rt.map(p=>s.jsx("option",{value:p.dagRunId,children:Fp(p)},p.dagRunId))]}):s.jsx("input",{"data-testid":"recovery-run-input",value:ee,disabled:fe,onChange:p=>{bl(!0),Ct(p.target.value.trim())},placeholder:"dag-run-id(子图/完整重跑)"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:fe,"data-testid":"recovery-run-manual-toggle",onClick:()=>{if(!gl&&Rt.length>0){bl(!0);return}bl(!1),ll()},children:!gl&&Rt.length>0?"手动输入运行 ID":"刷新并改用下拉"})]}),s.jsxs("label",{className:"field",children:[s.jsxs("span",{className:"muted",children:["起始节点 ID(从节点重跑)",yl?" · 加载节点…":""]}),!Ft&&Je.length>0?s.jsxs("select",{"data-testid":"recovery-node-select",value:Be,disabled:fe||yl,onChange:p=>{Pt(!1),Ht(p.target.value)},children:[Je.some(p=>p.nodeId===Be)?null:s.jsx("option",{value:Be||"",children:Be?`${Be}(当前)`:"— 请选择 —"}),Je.map(p=>s.jsx("option",{value:p.nodeId,children:Pp(p)},p.nodeId))]}):s.jsx("input",{"data-testid":"recovery-node-input",value:Be,disabled:fe,onChange:p=>{Pt(!0),Ht(p.target.value.trim())},placeholder:"例如 review-verdict-recovery-pi"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:fe,"data-testid":"recovery-node-manual-toggle",onClick:()=>{if(!Ft&&Je.length>0){Pt(!0);return}Pt(!1),qn(ee)},children:!Ft&&Je.length>0?"手动输入节点 ID":"刷新并改用下拉"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"恢复原因(已按 run/节点失败事实自动预填,可编辑)"}),s.jsx("textarea",{"data-testid":"recovery-reason",value:Tt,disabled:fe,rows:4,onChange:p=>{Rl(!0),vl(p.target.value)},placeholder:"将自动预填 operator-recovery / run / from-node / detail"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:fe,"data-testid":"recovery-reason-refresh",onClick:()=>{Rl(!1),vl(b(st?.label))},children:"重新预填原因"})]}),s.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-dag",children:[s.jsx("h3",{children:"DAG 运行恢复"}),s.jsx("p",{className:"muted",children:"针对 `.harness/dag-runs` 的 Agent DAG 运行。橙色为当前建议;带 * 需确认原因。"}),s.jsxs("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-dag",children:[dn.dag.map(p=>{const T=p.id===fn;return s.jsxs("button",{type:"button",className:T?"btn btn-primary":"btn btn-secondary",disabled:fe,title:p.guide,"aria-pressed":st?.id===p.id?!0:void 0,"data-testid":`recovery-cta-${p.id}`,"data-recommended":T?"true":void 0,onClick:()=>{C(p)},children:[p.label,p.requiresReason?" *":""]},p.id)}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!ee.trim(),"data-testid":"recovery-dag-preview",title:"在本页侧栏预览,可关闭返回",onClick:()=>{if(!ee.trim()){ke("侧栏预览需要先选择 DAG 运行 ID");return}At(!0)},children:"侧栏预览"})]}),Dt?s.jsxs("div",{className:"recovery-report","data-testid":"recovery-report",children:[s.jsxs("div",{className:"recovery-report-header",children:[s.jsx("h3",{children:"交接报告摘要"}),s.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"recovery-report-close",onClick:()=>Vt(null),children:"关闭"})]}),s.jsxs("dl",{className:"recovery-report-facts",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"运行"}),s.jsx("dd",{children:s.jsx("code",{children:Dt.runId})})]}),Dt.title?s.jsxs("div",{children:[s.jsx("dt",{children:"标题"}),s.jsx("dd",{children:Dt.title})]}):null,s.jsxs("div",{children:[s.jsx("dt",{children:"状态"}),s.jsx("dd",{children:Dt.status??"—"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"失败分类"}),s.jsx("dd",{children:Dt.category??"—"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"建议"}),s.jsx("dd",{children:Dt.recommendation??"暂无结构化建议"})]})]}),s.jsxs("p",{className:"muted",children:["完整 Markdown 可用 CLI:",s.jsxs("code",{children:["loop-agent dag report --run-id ",Dt.runId," ","--markdown"]})]})]}):null,De("dag")]}),s.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-worker",children:[s.jsx("h3",{children:"Worker Task 重排队"}),s.jsx("p",{className:"muted",children:"针对 agent-worker Task Pool,不是 DAG run。需要 Task ID;Feature ID 可选。"}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Task ID(Worker 重排队必填)"}),s.jsx("input",{"data-testid":"recovery-worker-task-id",value:G,disabled:fe,onChange:p=>le(p.target.value.trim()),placeholder:"harness / worker task-id"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Feature ID(可选)"}),s.jsx("input",{"data-testid":"recovery-feature-id",value:un,disabled:fe,onChange:p=>Mn(p.target.value.trim()),placeholder:"feature-id"})]}),s.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-worker",children:dn.worker.length>0?dn.worker.map(p=>s.jsxs("button",{type:"button",className:p.id===fn?"btn btn-primary":"btn btn-secondary",disabled:fe,title:p.guide,"data-testid":`recovery-cta-${p.id}`,"data-recommended":p.id===fn?"true":void 0,onClick:()=>{C(p)},children:[p.label,p.requiresReason?" *":""]},p.id)):s.jsx("p",{className:"muted","data-testid":"recovery-worker-unavailable",children:"当前事实分类下不提供 Worker 重排队。"})}),De("worker")]}),s.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row",hidden:!0,children:Ot.map(p=>s.jsx("span",{children:p.id},p.id))}),zn?s.jsxs("p",{className:"muted",children:["[",ny[be],"] ",zn]}):null,ml?s.jsx("p",{className:"muted",children:s.jsx("a",{className:"external-link",href:ml,children:ml})}):null]}):null,o==="models"?s.jsxs("section",{className:"panel","aria-labelledby":"models-title",children:[s.jsx("h2",{id:"models-title",children:"模型与认证"}),s.jsxs("p",{className:"muted",children:["复用 Pi ModelRuntime 凭据平面;密钥不会回传到页面。请用"," ",s.jsx("code",{children:"pi"})," / Pi 认证存储完成配置,然后刷新就绪探测。"]}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:fe,onClick:()=>{he("refreshReadiness",{}).then(()=>el())},children:"刷新就绪探测"}),s.jsx("pre",{className:"cmd","data-testid":"readiness-details",children:JSON.stringify(O??{state:x,health:m},null,2)})]}):null,o==="chat"?s.jsxs("section",{className:"panel panel--chat","aria-labelledby":"chat-title",children:[s.jsx("h2",{id:"chat-title",className:"sr-only",children:"对话"}),s.jsx(Rp,{origin:"",readiness:x,surface:"workspace",onNavigateWorkspace:kn})]}):null,o==="settings"?s.jsxs("section",{className:"panel","aria-labelledby":"settings-title",children:[s.jsx("h2",{id:"settings-title",children:"设置"}),s.jsxs("dl",{className:"kv",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"产品"}),s.jsx("dd",{children:m?.productName??"Loop Operator Console"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"仓库根目录"}),s.jsx("dd",{children:s.jsx("code",{children:m?.repoRoot??"—"})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"仓库指纹"}),s.jsx("dd",{children:s.jsx("code",{children:m?.repoFingerprint??"—"})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Pi 就绪"}),s.jsxs("dd",{children:[s.jsxs("code",{children:[xo[x]??x,"(",x,")"]}),Ue?s.jsx("p",{className:"muted",children:"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。请前往「模型与认证」。"}):Dl?s.jsx("p",{className:"muted",children:"Pi 暂时降级:仍可恢复草稿与需求访谈。"}):null]})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Inspect"}),s.jsxs("dd",{children:[s.jsx("code",{children:"/inspect/"}),"(同一 Console 进程)"]})]})]}),B?s.jsx("p",{className:"error",children:B}):null]}):null,o==="settings"?s.jsxs("section",{className:"panel","aria-labelledby":"layers-title",children:[s.jsx("h2",{id:"layers-title",children:"完成语义分层"}),s.jsx("p",{className:"muted",children:"MVP 不执行收尾提交;不显示「任务已关闭/已交付」。"}),s.jsxs("dl",{className:"kv","data-testid":"completion-layers",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"命令"}),s.jsx("dd",{children:ic(fl.command)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"DAG 生命周期"}),s.jsx("dd",{children:ic(fl.dag)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"最终验证"}),s.jsx("dd",{children:ic(fl.verification)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"晋升"}),s.jsx("dd",{children:ic(fl.promote)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"任务关闭"}),s.jsx("dd",{children:"不可用(MVP)"})]})]})]}):null]}),Wt&&ee.trim()?s.jsx(Kv,{dagRunId:ee.trim(),nodeId:Be.trim()||void 0,onClose:()=>At(!1),onOpenFull:rn}):null]})]})})}const Mm=document.getElementById("root");if(!Mm)throw new Error("Loop Operator Console: #root missing");Zv.createRoot(Mm).render(s.jsx(v.StrictMode,{children:s.jsx(sy,{})}));
|