From 1c0cea8bebb4cd57adf2f97f9257f6260cf57444 Mon Sep 17 00:00:00 2001 From: Barret Schloerke Date: Fri, 28 Aug 2026 17:03:42 -0400 Subject: [PATCH] feat: expose an erroring output's message with useShinyOutputError (#257) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A `reactive_output` that errored told the client only *that* it errored: `useShinyOutputStatus(id)` returned `"error"` and the message stopped at the registry. Apps being ported to the ui.tsx pattern could not reproduce their own original error UI, which vanilla Shiny paints from the sanitized condition text. The output registry already cached and fanned out the error, so this is a new read-only hook over an existing channel: - `useShinyOutputError(id, options?)` → `{message, call, type} | null`, subscribing to the error channel only and resetting on id/namespace change. - No server-side change in either package: `reactive_output` is an ordinary renderer, so the message arrives already sanitized by shiny itself (`shiny.sanitize.errors` / `sanitize_errors`). Silent errors are now the same shape in both languages. R sends `req()` as an error with an empty message (vanilla Shiny blanks the output element); py-shiny sends a `null` value. `setError` with an empty message is now handled as `setValue(null)`, so one React component sees the same thing from either server and no message is surfaced. Tests: a JS hook suite plus registry coverage of the empty-message mapping, and a Playwright fixture that drives an erroring output end to end (error text, recovery, and a silent `req()`). R has no e2e suite yet (#194). Docs: FEATURES.md leaves, CLAUDE.md, both READMEs, and the shipped shinyreact-build-app skill. --- .claude/skills/shinyreact-build-app/SKILL.md | 15 +++ .../references/debugging.md | 4 +- .../references/modules.md | 2 +- CLAUDE.md | 3 +- FEATURES.md | 27 +++- README.md | 1 + pkg-js/dist/shinyreact.js | 18 +-- pkg-js/src/__tests__/global.test.ts | 1 + pkg-js/src/global.ts | 3 + .../__tests__/output-registry.test.ts | 21 +++ .../__tests__/use-shiny-output-error.test.tsx | 124 ++++++++++++++++++ pkg-js/src/shiny-react/index.ts | 1 + pkg-js/src/shiny-react/output-registry.ts | 9 ++ pkg-js/src/shiny-react/use-shiny.ts | 57 ++++++++ pkg-py/README.md | 1 + .../skills/shinyreact-build-app/SKILL.md | 15 +++ .../references/debugging.md | 4 +- .../references/modules.md | 2 +- pkg-py/src/shinyreact/www/shinyreact.js | 18 +-- .../tests/playwright/apps/output-error/app.py | 15 +++ .../playwright/apps/output-error/www/app.js | 33 +++++ .../apps/output-error/www/index.html | 16 +++ pkg-py/tests/playwright/test_output_error.py | 47 +++++++ pkg-r/inst/lib/shiny/shinyreact.js | 18 +-- .../inst/skills/shinyreact-build-app/SKILL.md | 15 +++ .../references/debugging.md | 4 +- .../references/modules.md | 2 +- 27 files changed, 436 insertions(+), 40 deletions(-) create mode 100644 pkg-js/src/shiny-react/__tests__/use-shiny-output-error.test.tsx create mode 100644 pkg-py/tests/playwright/apps/output-error/app.py create mode 100644 pkg-py/tests/playwright/apps/output-error/www/app.js create mode 100644 pkg-py/tests/playwright/apps/output-error/www/index.html create mode 100644 pkg-py/tests/playwright/test_output_error.py diff --git a/.claude/skills/shinyreact-build-app/SKILL.md b/.claude/skills/shinyreact-build-app/SKILL.md index 66d93a76..f41ba8a9 100644 --- a/.claude/skills/shinyreact-build-app/SKILL.md +++ b/.claude/skills/shinyreact-build-app/SKILL.md @@ -244,6 +244,7 @@ an npm-tier build). | **Input** | `useShinyInput(id, default)` → `[value, setValue]` | `useShinyInputValue(id)` | `useSetShinyInput(id, default)` | | **Output** | — | `useShinyOutputValue(id, default?)` | — | | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | +| **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. @@ -304,6 +305,20 @@ with `.recalculating { opacity: .6; transition: opacity 200ms }`. `"pending"` is the only state where you have no data yet; `"recalculating"` means the previous result is still valid, so show it. +**Showing the server's error text** — `useShinyOutputError(id)` returns the +same (sanitized) condition/exception message vanilla Shiny would paint into the +output element, or `null` when the output is fine: + +```jsx +const error = useShinyOutputError("foo"); +if (error) return
{error.message}
; +``` + +`req()` / `validate()` with no message are silent — they never produce an +error here, matching Shiny. With `shiny.sanitize.errors` / `sanitize_errors` +on, the server sends its generic message, so the client never has to decide +what is safe to show. + **Gate the first paint** on `useShinyInitialized()` (`if (!initialized) return null`) so the UI does not flash empty defaults during connection setup. diff --git a/.claude/skills/shinyreact-build-app/references/debugging.md b/.claude/skills/shinyreact-build-app/references/debugging.md index 71b8441b..cb5d93d0 100644 --- a/.claude/skills/shinyreact-build-app/references/debugging.md +++ b/.claude/skills/shinyreact-build-app/references/debugging.md @@ -1,13 +1,14 @@ # Debugging a shinyreact app The client is a normal React app, so React DevTools works. What is specific to -shinyreact is the wire, and these four hooks are the instruments — reach for +shinyreact is the wire, and these five hooks are the instruments — reach for them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | | `useShinyOutputStatus(id)` | `"pending"` / `"ready"` / `"recalculating"` / `"error"` for one output | +| `useShinyOutputError(id)` | the server's sanitized error message for one output, or `null` | | `useShinyBusy()` | whether the server is processing *anything* right now | | `useShinyInputValue(id)` | what a channel currently holds, read from any component | @@ -26,4 +27,3 @@ Symptoms, in the order they actually come up: On the server, `reactive_output` is an ordinary Shiny output — print inside it, and its errors surface in the Shiny console exactly as usual. - diff --git a/.claude/skills/shinyreact-build-app/references/modules.md b/.claude/skills/shinyreact-build-app/references/modules.md index 3a88da78..f4372af9 100644 --- a/.claude/skills/shinyreact-build-app/references/modules.md +++ b/.claude/skills/shinyreact-build-app/references/modules.md @@ -66,7 +66,7 @@ the `useShinyMessageHandler("ping", ...)` inside the matching provider. Every id-taking hook and component goes through one shared resolver, so the behavior is identical for `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, -`useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. +`useShinyOutputError`, `useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. Each of them takes an optional `namespace`: diff --git a/CLAUDE.md b/CLAUDE.md index 0cfc4732..3c8f3171 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -82,7 +82,7 @@ Run `make help` to see all targets. The JS output (`pkg-js/dist/shinyreact.js`) is a self-contained IIFE that bundles React 19 and vendored `@posit/shiny-react`, and installs the public API at `window.shinyreact`. **Global API exposed at `window.shinyreact`:** -- `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyMessageHandler`, `useShinyInitialized`, `useShinyBusy` — re-exported shiny-react hooks +- `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyOutputError`, `useShinyMessageHandler`, `useShinyInitialized`, `useShinyBusy` — re-exported shiny-react hooks - `ImageOutput`, `ShinyModuleProvider`, `ShinyReactComponentElement`, `ShinyOutput`, `MISSING` — components/utilities - `React`, `ReactDOM` — shared instances (downstream ESM builds should externalize to these to avoid duplicate React) @@ -204,6 +204,7 @@ The hook surface follows the Jotai/Recoil cadence — each hook has one responsi | **Input** | `useShinyInput(id, default)` → `[value, setValue]` | `useShinyInputValue(id)` → `value` | `useSetShinyInput(id, default)` → `setValue` | | **Output** | — (no compound) | `useShinyOutputValue(id, default?)` → `value` | — | | **Output status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | +| **Output error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | Pick the narrowest hook that fits the call site. A button that pushes events but never reads its own state should use `useSetShinyInput`, not `useShinyInput` with a discarded `[value]`. A display card that just reads should use `useShinyInputValue` / `useShinyOutputValue`. Narrow hooks make data-flow direction visible at the call site, prevent accidental writes from read-only components, and avoid spurious re-renders from subscribing to channels you don't observe. diff --git a/FEATURES.md b/FEATURES.md index 55b7f1c8..f1c42cc4 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -207,8 +207,8 @@ R has no e2e suite, so no `(e2e)` leaf covers R (issue #194). - `null` is deliberately not conflated with `undefined` — a `??` would silently fall through to the context, so the check is `!== undefined` - applies to `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, - `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyMessageHandler`, - `ShinyOutput`, and `ImageOutput` + `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyOutputError`, + `useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput` - `[js]` the prefix is joined with a single hyphen: `${namespace}-${id}` - an empty-string namespace yields the bare id, same as `null` - `[js]` nesting `ShinyModuleProvider`s **overrides** rather than concatenates — @@ -294,6 +294,20 @@ existing registry value at render time. - `useShinyOutputStatus(id, options?)` → status - exactly four values: `"pending"`, `"ready"`, `"recalculating"`, `"error"` - it starts at `"pending"` and subscribes to the status channel only +- `useShinyOutputError(id, options?)` → `{message, call, type}` or `null` + - it starts at `null` and subscribes to the error channel only — value and + status changes do not re-render it + - `message` is the server's already-sanitized condition/exception text, the + same text vanilla Shiny paints into the output element; sanitization is + shiny's (`shiny.sanitize.errors` / `sanitize_errors`), not shinyreact's + - `[r]` `call` / `type` carry the condition's call and extra classes; + `[py]` both are `null` + - it returns `null` whenever the output is not in the `"error"` state: + initially, after a value arrives, and while recalculating + - the held error **is** reset to `null` when the id or namespace changes + - a late-mounting subscriber is synced to the cached error on attach + - an erroring `reactive_output` delivers its message end to end, and the + message clears when the output recovers (e2e) - `useShinyMessageHandler(id, handler, options?)` - the effect re-runs only when the resolved id changes, never on handler identity @@ -425,6 +439,12 @@ registries are exposed on `window.Shiny.reactRegistry`; the message registry on - `setRecalculating(false)` → back to `"ready"` only from `"recalculating"`; `"pending"` and `"error"` are left alone - `setError` → `"error"`, fanning the error out + - `setError` with an **empty message** is a *silent* error (`req()`, and + `validate()` with no message) and is handled as `setValue(null)` instead: + status `"ready"`, error left `null` + - only `[r]` sends this shape — py-shiny already sends a `null` value for + `req()` — so the two servers look identical to the same component (e2e, + Python side) - a value arriving in the `"error"` state clears the error and returns to `"ready"` - entering `"recalculating"` from `"error"` clears the error, so status and @@ -1109,7 +1129,8 @@ initial page. - a missing `#shinyreact-config` tag is a hard error, opted into at import - `window.shinyreact` contains exactly: `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, - `useShinyMessageHandler`, `useShinyInitialized`, `useShinyBusy`, + `useShinyOutputError`, `useShinyMessageHandler`, `useShinyInitialized`, + `useShinyBusy`, `ImageOutput`, `MISSING`, `ShinyModuleProvider`, `ShinyReactComponentElement`, `ShinyOutput`, `React`, `ReactDOM` - `React` / `ReactDOM` are exposed so downstream ESM builds can externalize diff --git a/README.md b/README.md index 91b4e519..00f15754 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ The bundle re-exports these hooks from `@posit/shiny-react`: | `useSetShinyInput(id, default, opts)` | Write-only producer — registers an input and returns just the setter | | `useShinyOutputValue(id, default?)` | Consume arbitrary data sent by `reactive_output` | | `useShinyOutputStatus(id)` | Output lifecycle status — `"pending" \| "ready" \| "recalculating" \| "error"` | +| `useShinyOutputError(id)` | The server's sanitized error message for an output, or `null` | | `useShinyMessageHandler(type, fn)` | Handle server-to-client custom messages | | `useShinyInitialized()` | Check whether Shiny is connected | | `useShinyBusy()` | Whether the Shiny server is currently processing a request | diff --git a/pkg-js/dist/shinyreact.js b/pkg-js/dist/shinyreact.js index 2acd5f19..a6b94cfc 100644 --- a/pkg-js/dist/shinyreact.js +++ b/pkg-js/dist/shinyreact.js @@ -1,4 +1,4 @@ -var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0,configurable:!0,writable:!0,value:ue}):ee[nt]=ue;var K=(ee,nt,ue)=>am(ee,typeof nt!="symbol"?nt+"":nt,ue);(function(){"use strict";function ee(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ue=!1;function jh(){if(typeof document>"u"||ue)return;ue=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** +var am=Object.defineProperty;var nm=(ue,nt,ae)=>nt in ue?am(ue,nt,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[nt]=ae;var K=(ue,nt,ae)=>nm(ue,typeof nt!="symbol"?nt+"":nt,ae);(function(){"use strict";function ue(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ae=!1;function jh(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wn=Symbol.for("react.transitional.element"),Gh=Symbol.for("react.portal"),Xh=Symbol.for("react.fragment"),Qh=Symbol.for("react.strict_mode"),Zh=Symbol.for("react.profiler"),Lh=Symbol.for("react.consumer"),xh=Symbol.for("react.context"),Kh=Symbol.for("react.forward_ref"),Jh=Symbol.for("react.suspense"),wh=Symbol.for("react.memo"),Gf=Symbol.for("react.lazy"),$h=Symbol.for("react.activity"),Xf=Symbol.iterator;function Wh(t){return t===null||typeof t!="object"?null:(t=Xf&&t[Xf]||t["@@iterator"],typeof t=="function"?t:null)}var Qf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Zf=Object.assign,Lf={};function Me(t,l,e){this.props=t,this.context=l,this.refs=Lf,this.updater=e||Qf}Me.prototype.isReactComponent={},Me.prototype.setState=function(t,l){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,l,"setState")},Me.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function xf(){}xf.prototype=Me.prototype;function Fn(t,l,e){this.props=t,this.context=l,this.refs=Lf,this.updater=e||Qf}var kn=Fn.prototype=new xf;kn.constructor=Fn,Zf(kn,Me.prototype),kn.isPureReactComponent=!0;var Kf=Array.isArray;function In(){}var W={H:null,A:null,T:null,S:null},Jf=Object.prototype.hasOwnProperty;function Pn(t,l,e){var u=e.ref;return{$$typeof:Wn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function Fh(t,l){return Pn(t.type,l,t.props)}function ti(t){return typeof t=="object"&&t!==null&&t.$$typeof===Wn}function kh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var wf=/\/+/g;function li(t,l){return typeof t=="object"&&t!==null&&t.key!=null?kh(""+t.key):l.toString(36)}function Ih(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(In,In):(t.status="pending",t.then(function(l){t.status==="pending"&&(t.status="fulfilled",t.value=l)},function(l){t.status==="pending"&&(t.status="rejected",t.reason=l)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function De(t,l,e,u,a){var n=typeof t;(n==="undefined"||n==="boolean")&&(t=null);var i=!1;if(t===null)i=!0;else switch(n){case"bigint":case"string":case"number":i=!0;break;case"object":switch(t.$$typeof){case Wn:case Gh:i=!0;break;case Gf:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+li(t,0):u,Kf(a)?(e="",i!=null&&(e=i.replace(wf,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(ti(a)&&(a=Fh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace(wf,"$&/")+"/")+i)),l.push(a)),1;i=0;var c=u===""?".":u+":";if(Kf(t))for(var f=0;fnt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,rt=T[at];if(0>>1;ata(qf,N))_ea($n,qf)?(T[at]=$n,T[_e]=N,at=_e):(T[at]=qf,T[wn]=N,at=wn);else if(_ea($n,N))T[at]=$n,T[_e]=N,at=_e;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],v=1,m=null,y=3,r=!1,b=!1,A=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(A=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,le());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,p=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var rt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof rt=="function"){m.callback=rt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,r=!1}Y=void 0}}finally{Y?le():_=!1}}}var le;if(typeof h=="function")le=function(){h(kt)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,em=Vh.port2;Vh.port1.onmessage=kt,le=function(){em.postMessage(null)}}else le=function(){o(kt,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(A?(s(z),z=-1):A=!0,Yf(E,N-at))):(T.sortIndex=rt,l(f,T),b||r||(b=!0,_||(_=!0,le()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** + */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,rt=T[at];if(0>>1;ata(qf,N))Mea($n,qf)?(T[at]=$n,T[Me]=N,at=Me):(T[at]=qf,T[wn]=N,at=wn);else if(Mea($n,N))T[at]=$n,T[Me]=N,at=Me;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],v=1,m=null,y=3,r=!1,b=!1,A=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(A=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,ee());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,p=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var rt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof rt=="function"){m.callback=rt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,r=!1}Y=void 0}}finally{Y?ee():_=!1}}}var ee;if(typeof h=="function")ee=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,um=Vh.port2;Vh.port1.onmessage=It,ee=function(){um.postMessage(null)}}else ee=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(A?(s(z),z=-1):A=!0,Yf(E,N-at))):(T.sortIndex=rt,l(f,T),b||r||(b=!0,_||(_=!0,ee()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var e0=j;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** + */var e0=V;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ot=l0,es=j,i0=n0;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=si[He],si[He]=null,He--)}function w(t,l){He++,si[He]=t.current,t.current=l}var ul=el(null),Au=el(null),Ul=el(null),za=el(null);function Ta(t,l){switch(w(Ul,l),w(Au,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Re(){yt(ul),yt(Au),yt(Ul)}function oi(t){t.memoizedState!==null&&w(za,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(Au,t),w(ul,e))}function Aa(t){Au.current===t&&(yt(ul),yt(Au)),za.current===t&&(yt(za),ya._currentValue=ae)}var di,ds;function ne(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1Re||(t.current=si[Re],si[Re]=null,Re--)}function w(t,l){Re++,si[Re]=t.current,t.current=l}var ul=el(null),pu=el(null),Hl=el(null),Ta=el(null);function Aa(t,l){switch(w(Hl,l),w(pu,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Ne(){yt(ul),yt(pu),yt(Hl)}function oi(t){t.memoizedState!==null&&w(Ta,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(pu,t),w(ul,e))}function pa(t){pu.current===t&&(yt(ul),yt(pu)),Ta.current===t&&(yt(Ta),ha._currentValue=ne)}var di,ds;function ie(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1)":-1a||f[u]!==d[a]){var v=` -`+f[u].replace(" at new "," at ");return t.displayName&&v.includes("")&&(v=v.replace("",t.displayName)),v}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ne(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ne(t.type);case 16:return ne("Lazy");case 13:return t.child!==l&&l!==null?ne("Suspense Fallback"):ne("Suspense");case 19:return ne("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ne("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+f[u].replace(" at new "," at ");return t.displayName&&v.includes("")&&(v=v.replace("",t.displayName)),v}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ie(t.type);case 16:return ie("Lazy");case 13:return t.child!==l&&l!==null?ie("Suspense Fallback"):ie("Suspense");case 19:return ie("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ie("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}var vi=Object.prototype.hasOwnProperty,ri=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,v0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,pa=ot.unstable_NormalPriority,r0=ot.unstable_LowPriority,rs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,pu=null,Nt=null;function Hl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(pu,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var Oa=256,_a=262144,Ma=4194304;function ie(t){var l=t&42;if(l!==0)return l;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Da(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ie(u):(i&=c,i!==0?a=ie(i):e||(e=c&~t,e!==0&&(a=ie(e))))):(c=u&~n,c!==0?a=ie(c):i!==0?a=ie(i):e||(e=u&~t,e!==0&&(a=ie(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function Ou(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Ma;return Ma<<=1,!(Ma&62914560)&&(Ma=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function _u(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?pi(t,i,Qt(l)):e!=null?pi(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function pi(t,l,e){l==="number"&&Ra(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function Ve(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Hu={};Object.defineProperty(Hu,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Hu,Hu),window.removeEventListener("test",Hu,Hu)}catch{Ui=!1}var Nl=null,Hi=null,Ca=null;function qs(){if(Ca)return Ca;var t,l=Hi,e=l.length,u,a="value"in Nl?Nl.value:Nl.textContent,n=a.length;for(t=0;t=Cu),Zs=" ",Ls=!1;function xs(t,l){switch(t){case"keyup":return ev.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function av(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(Ls=!0,Zs);case"textInput":return t=l.data,t===Zs&&Ls?null:t;default:return null}}function nv(t,l){if(Qe)return t==="compositionend"||!Yi&&xs(t,l)?(t=qs(),Ca=Hi=Nl=null,Qe=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ra(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Ra(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hv=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Gi=null,Vu=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Ze==null||Ze!==Ra(u)||(u=Ze,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Vu&&qu(Vu,u)||(Vu=u,u=Mn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<p?(M=z,z=null):M=z.sibling;var R=y(o,z,h[p],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R,z=M}if(p===h.length)return e(o,z),V&&hl(o,p),E;if(z===null){for(;pp?(M=z,z=null):M=z.sibling;var kt=y(o,z,R.value,S);if(kt===null){z===null&&(z=M);break}t&&z&&kt.alternate===null&&l(o,z),s=n(kt,s,p),_===null?E=kt:_.sibling=kt,_=kt,z=M}if(R.done)return e(o,z),V&&hl(o,p),E;if(z===null){for(;!R.done;p++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return V&&hl(o,p),E}for(z=u(z);!R.done;p++,R=h.next())R=r(z,o,p,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?p:R.key),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(le){return l(o,le)}),V&&hl(o,p),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===Ue&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case Ea:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===Ue){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Dl&&Se(E)===s.type){e(o,s.sibling),S=a(s,h.props),Lu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=ye(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=La(h.type,h.key,h.props,null,o.mode,S),Lu(S,h),S.return=o,o=S)}return i(o);case Eu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Dl:return h=Se(h),H(o,s,h,S)}if(Tu(h))return b(o,s,h,S);if(zu(h)){if(E=zu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),A(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Fa(h),S);if(h.$$typeof===fl)return H(o,s,Ja(o,h),S);ka(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Zu=0;var E=H(o,s,h,S);return Pe=null,E}catch(z){if(z===Ie||z===$a)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var be=Mo(!0),Do=Mo(!1),Vl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function jl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Gl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=Za(t),oo(t,null,e),l}return Qa(t,u,l,e),Za(t)}function xu(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ku(){if(fc){var t=ke;if(t!==null)throw t}}function Ju(t,l,e,u){fc=!1;var a=t.updateQueue;Vl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var v=t.alternate;v!==null&&(v=v.updateQueue,c=v.lastBaseUpdate,c!==i&&(c===null?v.firstBaseUpdate=d:c.next=d,v.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,v=d=f=null,c=n;do{var y=c.lane&-536870913,r=y!==c.lane;if(r?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(fc=!0),v!==null&&(v=v.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,A=c;y=l;var H=e;switch(A.tag){case 1:if(b=A.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=A.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:Vl=!0}}y=c.callback,y!==null&&(t.flags|=64,r&&(t.flags|=8192),r=a.callbacks,r===null?a.callbacks=[y]:r.push(y))}else r={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},v===null?(d=v=r,f=m):v=v.next=r,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;r=c,c=r.next,r.next=null,a.lastBaseUpdate=r,a.shared.pending=null}}while(!0);v===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=v,n===null&&(a.shared.lanes=0),xl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var v=Tv(f,u);Wu(t,l,v,Xt(t))}else Wu(t,l,u,Xt(t))}catch(m){Wu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dv(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ae,e===null?Dv:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ae},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Wu(t,l.next.queue,{},Xt())}function _c(){return gt(ya)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Uv(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=jl(e);var u=Gl(l,t,e);u!==null&&(Ht(u,l,e),xu(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hv(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},fn(t)?hd(l,e):(e=xi(t,l,e,u),e!==null&&(Ht(e,t,u),vd(e,l,u)))}function yd(t,l,e){var u=Xt();Wu(t,l,e,u)}function Wu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(fn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Qa(t,l,a,0),J===null&&Xa(),!1}catch{}finally{}if(e=xi(t,l,a,u),e!==null)return Ht(e,t,u),vd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},fn(t)){if(l)throw Error(g(479))}else l=xi(t,e,u,2),l!==null&&Ht(l,t,2)}function fn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){lu=tn=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function vd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var Fu={readContext:gt,use:un,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};Fu.useEffectEvent=tt;var rd={readContext:gt,use:un,useCallback:function(t,l){return At().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,nn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return nn(4194308,4,t,l)},useInsertionEffect:function(t,l){nn(4,2,t,l)},useMemo:function(t,l){var e=At();l=l===void 0?null:l;var u=t();if(Ee){Hl(!0);try{t()}finally{Hl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=At();if(e!==void 0){var a=e(l);if(Ee){Hl(!0);try{e(l)}finally{Hl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hv.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=At();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Ac,useDeferredValue:function(t,l){var e=At();return pc(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),At().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=At();if(V){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=At(),l=J.identifierPrefix;if(V){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=ln++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[pt]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Ul.current,$e(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||Yl(l,!0)}else t=Dn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=$e(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=$e(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),hn(l,l.updateQueue),I(l),null);case 4:return Re(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return rl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Iu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=Pa(t),n!==null){for(l.flags|=128,Iu(u,!1),t=n.updateQueue,l.updateQueue=t,hn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),V&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>gn&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304)}else{if(!a)if(t=Pa(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,hn(l,t),Iu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!V)return I(l),null}else 2*Rt()-u.renderingStartTime>gn&&e!==536870912&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),V&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&hn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(me),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),rl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yv(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return rl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Aa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Re(),null;case 10:return rl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(me),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return rl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:rl(it),Re();break;case 26:case 27:case 5:Aa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:rl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(me);break;case 24:rl(it)}}function Pu(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Zl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(v){Z(a,f,v)}}}u=u.next}while(u!==n)}}catch(v){Z(l,l.return,v)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=ze(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ta(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;ur(u,t.type,e,l),u[pt]=l}catch(a){Z(t,t.return,a)}}function Ld(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Wl(t.type)||t.tag===4}function Lc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Ld(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Wl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(xc(t,l,e),t=t.sibling;t!==null;)xc(t,l,e),t=t.sibling}function vn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(vn(t,l,e),t=t.sibling;t!==null;)vn(t,l,e),t=t.sibling}function xd(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[pt]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,vt=null;function qv(t,l){if(t=t.containerInfo,hf=Yn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,v=0,m=t,y=null;l:for(;;){for(var r;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(r=m.firstChild)!==null;)y=m,m=r;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++v===u&&(f=i),(r=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=r}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(vf={focusedElem:t,selectionRange:e},Yn=!1,vt=l;vt!==null;)if(l=vt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,vt=t;else for(;vt!==null;){switch(l=vt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=A,A=i);var o=to(c,A),s=to(c,H);if(o&&s&&(r.rangeCount!==1||r.anchorNode!==o.node||r.anchorOffset!==o.offset||r.focusNode!==s.node||r.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),r.removeAllRanges(),A>H?(r.addRange(h),r.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),r.addRange(h))}}}}for(m=[],r=c;r=r.parentNode;)r.nodeType===1&&m.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=Jl,i=Ol;if(dt=0,fu=Jl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ia(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(pu,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=xt(e,l),l=Rc(t.stateNode,l,2),t=Gl(t,l,2),t!==null&&(_u(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Kl===null||!Kl.has(u))){t=xt(e,t),e=Ad(2),u=Gl(l,e,2),u!==null&&(pd(e,u,l,t),_u(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gv;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=xv.bind(null,t,l,e),l.then(t,t))}function xv(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-Sn?!(X&2)&&su(t,0):Wc|=e,cu===q&&(cu=0)),cl(t)}function Ay(t,l){l===0&&(l=ms()),t=de(t,l),t!==null&&(_u(t,l),cl(t))}function Kv(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function Jv(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),Ay(t,e)}function wv(t,l){return ri(t,l)}var pn=null,du=null,uf=!1,On=!1,af=!1,$l=0;function cl(t){t!==du&&t.next===null&&(du===null?pn=du=t:du=du.next=t),On=!0,uf||(uf=!0,Wv())}function ia(t,l){if(!af&&On){af=!0;do for(var e=!1,u=pn;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Da(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Ou(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $v(){py()}function py(){On=uf=!1;var t=0;$l!==0&&nr()&&(t=$l);for(var l=Rt(),e=null,u=pn;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?pn=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(On=!0)),u=a}dt!==0&&dt!==5||ia(t),$l!==0&&($l=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var v=f.transferSize,m=f.initiatorType;v&&Yy(m)&&(f=f.responseEnd,i+=v*(f"u"?null:document;function wy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function vr(t){_l.D(t),wy("dns-prefetch",t,null)}function rr(t,l){_l.C(t,l),wy("preconnect",t,l)}function mr(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=vu(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(oa(n))||l==="script"&&u.querySelector(da(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sr(t,l){_l.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=vu(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(da(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gr(t,l,e){_l.S(t,l,e);var u=yu;if(u&&t){var a=Ye(u).hoistableStyles,n=hu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(oa(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,v){f.onload=d,f.onerror=v}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Hn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function br(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Er(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Ul.current)?Un(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=hu(e.href),e=Ye(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=hu(e.href);var n=Ye(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(oa(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zr(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=vu(e),e=Ye(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function hu(t){return'href="'+Zt(t)+'"'}function oa(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zr(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function vu(t){return'[src="'+Zt(t)+'"]'}function da(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Hn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(oa(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Hn(n,e.precedence,t),l.instance=n;case"script":return n=vu(e.src),(a=t.querySelector(da(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Hn(u,e.precedence,t));return l.instance}function Hn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tr(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Ar(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=hu(u.href),n=l.querySelector(oa(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Nn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Nn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Af=0;function pr(t,l){return t.stylesheets&&t.count===0&&Bn(t,t.stylesheets),0Af?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Nn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Bn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Cn=null;function Bn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Cn=new Map,l.forEach(Or,t),Cn=null,Nn.call(t))}function Or(t,l){if(!(l.state.loading&4)){var e=Cn.get(t);if(e)var u=e.get(null);else{e=new Map,Cn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ga;var Hf=Ff.exports;const Cr=ee({__proto__:null,default:Vf(Hf)},[Hf]);var vh={exports:{}},Zn={};/** +`+u.stack}}var vi=Object.prototype.hasOwnProperty,ri=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,v0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,Oa=ot.unstable_NormalPriority,r0=ot.unstable_LowPriority,rs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Ou=null,Nt=null;function Rl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Ou,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var _a=256,Ma=262144,Da=4194304;function ce(t){var l=t&42;if(l!==0)return l;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ua(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ce(u):(i&=c,i!==0?a=ce(i):e||(e=c&~t,e!==0&&(a=ce(e))))):(c=u&~n,c!==0?a=ce(c):i!==0?a=ce(i):e||(e=u&~t,e!==0&&(a=ce(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function _u(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Da;return Da<<=1,!(Da&62914560)&&(Da=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Mu(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?pi(t,i,Qt(l)):e!=null?pi(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function pi(t,l,e){l==="number"&&Na(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function je(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Ru={};Object.defineProperty(Ru,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Ru,Ru),window.removeEventListener("test",Ru,Ru)}catch{Ui=!1}var Cl=null,Hi=null,Ba=null;function qs(){if(Ba)return Ba;var t,l=Hi,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Bu),Zs=" ",Ls=!1;function xs(t,l){switch(t){case"keyup":return ev.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ze=!1;function av(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(Ls=!0,Zs);case"textInput":return t=l.data,t===Zs&&Ls?null:t;default:return null}}function nv(t,l){if(Ze)return t==="compositionend"||!Yi&&xs(t,l)?(t=qs(),Ba=Hi=Cl=null,Ze=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Na(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Na(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hv=dl&&"documentMode"in document&&11>=document.documentMode,Le=null,Gi=null,ju=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Le==null||Le!==Na(u)||(u=Le,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),ju&&Vu(ju,u)||(ju=u,u=Dn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<p?(M=z,z=null):M=z.sibling;var R=y(o,z,h[p],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R,z=M}if(p===h.length)return e(o,z),j&&hl(o,p),E;if(z===null){for(;pp?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,p),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),j&&hl(o,p),E;if(z===null){for(;!R.done;p++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return j&&hl(o,p),E}for(z=u(z);!R.done;p++,R=h.next())R=r(z,o,p,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?p:R.key),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(ee){return l(o,ee)}),j&&hl(o,p),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===He&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case za:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===He){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ul&&ge(E)===s.type){e(o,s.sibling),S=a(s,h.props),xu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===He?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=xa(h.type,h.key,h.props,null,o.mode,S),xu(S,h),S.return=o,o=S)}return i(o);case zu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Ul:return h=ge(h),H(o,s,h,S)}if(Au(h))return b(o,s,h,S);if(Tu(h)){if(E=Tu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),A(o,s,h,S)}if(typeof h.then=="function")return H(o,s,ka(h),S);if(h.$$typeof===fl)return H(o,s,wa(o,h),S);Ia(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var E=H(o,s,h,S);return tu=null,E}catch(z){if(z===Pe||z===Wa)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var Ee=Mo(!0),Do=Mo(!1),jl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Xl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=La(t),oo(t,null,e),l}return Za(t,u,l,e),La(t)}function Ku(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ju(){if(fc){var t=Ie;if(t!==null)throw t}}function wu(t,l,e,u){fc=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var v=t.alternate;v!==null&&(v=v.updateQueue,c=v.lastBaseUpdate,c!==i&&(c===null?v.firstBaseUpdate=d:c.next=d,v.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,v=d=f=null,c=n;do{var y=c.lane&-536870913,r=y!==c.lane;if(r?(q&y)===y:(u&y)===y){y!==0&&y===ke&&(fc=!0),v!==null&&(v=v.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,A=c;y=l;var H=e;switch(A.tag){case 1:if(b=A.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=A.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:jl=!0}}y=c.callback,y!==null&&(t.flags|=64,r&&(t.flags|=8192),r=a.callbacks,r===null?a.callbacks=[y]:r.push(y))}else r={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},v===null?(d=v=r,f=m):v=v.next=r,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;r=c,c=r.next,r.next=null,a.lastBaseUpdate=r,a.shared.pending=null}}while(!0);v===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=v,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var v=Tv(f,u);Fu(t,l,v,Xt(t))}else Fu(t,l,u,Xt(t))}catch(m){Fu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dv(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ne,e===null?Dv:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Fu(t,l.next.queue,{},Xt())}function _c(){return gt(ha)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Uv(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Ht(u,l,e),Ku(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hv(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},sn(t)?hd(l,e):(e=xi(t,l,e,u),e!==null&&(Ht(e,t,u),vd(e,l,u)))}function yd(t,l,e){var u=Xt();Fu(t,l,e,u)}function Fu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(sn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Za(t,l,a,0),J===null&&Qa(),!1}catch{}finally{}if(e=xi(t,l,a,u),e!==null)return Ht(e,t,u),vd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},sn(t)){if(l)throw Error(g(479))}else l=xi(t,e,u,2),l!==null&&Ht(l,t,2)}function sn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){eu=ln=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function vd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var ku={readContext:gt,use:an,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};ku.useEffectEvent=tt;var rd={readContext:gt,use:an,useCallback:function(t,l){return At().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return cn(4194308,4,t,l)},useInsertionEffect:function(t,l){cn(4,2,t,l)},useMemo:function(t,l){var e=At();l=l===void 0?null:l;var u=t();if(ze){Rl(!0);try{t()}finally{Rl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=At();if(e!==void 0){var a=e(l);if(ze){Rl(!0);try{e(l)}finally{Rl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hv.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=At();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Ac,useDeferredValue:function(t,l){var e=At();return pc(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),At().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=At();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,au(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=At(),l=J.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=en++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[pt]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Hl.current,We(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||ql(l,!0)}else t=Un(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=We(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else ve(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=We(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else ve(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),vn(l,l.updateQueue),I(l),null);case 4:return Ne(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return rl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Pu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=tn(t),n!==null){for(l.flags|=128,Pu(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>bn&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304)}else{if(!a)if(t=tn(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),Pu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return I(l),null}else 2*Rt()-u.renderingStartTime>bn&&e!==536870912&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&vn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(Se),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),rl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yv(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return rl(it),Ne(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return pa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));ve()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));ve()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Ne(),null;case 10:return rl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return rl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:rl(it),Ne();break;case 26:case 27:case 5:pa(l);break;case 4:Ne();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:rl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(Se);break;case 24:rl(it)}}function ta(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Ll(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(v){Z(a,f,v)}}}u=u.next}while(u!==n)}}catch(v){Z(l,l.return,v)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function la(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;ur(u,t.type,e,l),u[pt]=l}catch(a){Z(t,t.return,a)}}function Ld(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Fl(t.type)||t.tag===4}function Lc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Ld(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Fl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(xc(t,l,e),t=t.sibling;t!==null;)xc(t,l,e),t=t.sibling}function rn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(rn(t,l,e),t=t.sibling;t!==null;)rn(t,l,e),t=t.sibling}function xd(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[pt]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,vt=null;function qv(t,l){if(t=t.containerInfo,hf=qn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,v=0,m=t,y=null;l:for(;;){for(var r;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(r=m.firstChild)!==null;)y=m,m=r;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++v===u&&(f=i),(r=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=r}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(vf={focusedElem:t,selectionRange:e},qn=!1,vt=l;vt!==null;)if(l=vt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,vt=t;else for(;vt!==null;){switch(l=vt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=A,A=i);var o=to(c,A),s=to(c,H);if(o&&s&&(r.rangeCount!==1||r.anchorNode!==o.node||r.anchorOffset!==o.offset||r.focusNode!==s.node||r.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),r.removeAllRanges(),A>H?(r.addRange(h),r.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),r.addRange(h))}}}}for(m=[],r=c;r=r.parentNode;)r.nodeType===1&&m.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=wl,i=Ol;if(dt=0,su=wl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ca(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Ou,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=xt(e,l),l=Rc(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Mu(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Jl===null||!Jl.has(u))){t=xt(e,t),e=Ad(2),u=Xl(l,e,2),u!==null&&(pd(e,u,l,t),Mu(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gv;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=xv.bind(null,t,l,e),l.then(t,t))}function xv(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-gn?!(X&2)&&ou(t,0):Wc|=e,fu===q&&(fu=0)),cl(t)}function Ay(t,l){l===0&&(l=ms()),t=ye(t,l),t!==null&&(Mu(t,l),cl(t))}function Kv(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function Jv(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),Ay(t,e)}function wv(t,l){return ri(t,l)}var On=null,yu=null,uf=!1,_n=!1,af=!1,Wl=0;function cl(t){t!==yu&&t.next===null&&(yu===null?On=yu=t:yu=yu.next=t),_n=!0,uf||(uf=!0,Wv())}function ca(t,l){if(!af&&_n){af=!0;do for(var e=!1,u=On;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Ua(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||_u(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $v(){py()}function py(){_n=uf=!1;var t=0;Wl!==0&&nr()&&(t=Wl);for(var l=Rt(),e=null,u=On;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?On=a:e.next=a,a===null&&(yu=e)):(e=u,(t!==0||n&3)&&(_n=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var v=f.transferSize,m=f.initiatorType;v&&Yy(m)&&(f=f.responseEnd,i+=v*(f"u"?null:document;function wy(t,l,e){var u=hu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function vr(t){_l.D(t),wy("dns-prefetch",t,null)}function rr(t,l){_l.C(t,l),wy("preconnect",t,l)}function mr(t,l,e){_l.L(t,l,e);var u=hu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=vu(t);break;case"script":n=ru(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(da(n))||l==="script"&&u.querySelector(ya(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sr(t,l){_l.m(t,l);var e=hu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ya(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gr(t,l,e){_l.S(t,l,e);var u=hu;if(u&&t){var a=qe(u).hoistableStyles,n=vu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(da(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,v){f.onload=d,f.onerror=v}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Rn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function br(t,l){_l.X(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Er(t,l){_l.M(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Hl.current)?Hn(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=vu(e.href),e=qe(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=vu(e.href);var n=qe(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(da(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zr(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=ru(e),e=qe(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function vu(t){return'href="'+Zt(t)+'"'}function da(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zr(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function ru(t){return'[src="'+Zt(t)+'"]'}function ya(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Rn(u,e.precedence,t),l.instance=u;case"stylesheet":a=vu(e.href);var n=t.querySelector(da(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Rn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ya(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Rn(u,e.precedence,t));return l.instance}function Rn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tr(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Ar(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=vu(u.href),n=l.querySelector(da(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Cn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Cn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Af=0;function pr(t,l){return t.stylesheets&&t.count===0&&Yn(t,t.stylesheets),0Af?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Cn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Yn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Bn=null;function Yn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Bn=new Map,l.forEach(Or,t),Bn=null,Cn.call(t))}function Or(t,l){if(!(l.state.loading&4)){var e=Bn.get(t);if(e)var u=e.get(null);else{e=new Map,Bn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ba;var Hf=Ff.exports;const Cr=ue({__proto__:null,default:Vf(Hf)},[Hf]);var vh={exports:{}},Ln={};/** * @license React * react-jsx-runtime.production.js * @@ -46,4 +46,4 @@ Error generating stack: `+u.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Br=Symbol.for("react.transitional.element"),Yr=Symbol.for("react.fragment");function rh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Br,type:t,key:u,ref:l!==void 0?l:null,props:e}}Zn.Fragment=Yr,Zn.jsx=rh,Zn.jsxs=rh,vh.exports=Zn;var pe=vh.exports;const mh=j.createContext(null);function Sh({namespace:t,children:l}){return pe.jsx(mh.Provider,{value:t,children:l})}function qr(){return j.useContext(mh)}function Vr(t,l){return l?`${l}-${t}`:t}function te(t,l){const e=qr();return Vr(t,l!==void 0?l:e)}function jr({id:t,tagName:l="div",namespace:e,...u}){const a=te(t,e),n=j.useRef(null);return j.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(v,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:v})};try{const v=window.Shiny.bindAll(c);v&&typeof v.catch=="function"&&v.catch(m=>f(m,"bindAll"))}catch(v){f(v,"bindAll")}return()=>{var v,m;try{(m=(v=window.Shiny)==null?void 0:v.unbindAll)==null||m.call(v,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const mu=Symbol("MISSING"),gh="1.0";function Gr(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xr(t){const l=e=>e.split(".")[0];if(l(t)!==l(gh))throw new Error(`shinyreact protocol mismatch: the server speaks protocol ${t} but this JS client supports ${gh}. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Qr(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gr();if(a!=null&&a.protocolVersion?Xr(a.protocolVersion):a!=null&&console.error("shinyreact: the #shinyreact-config tag carries no protocolVersion, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package."),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,Ln=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function Ah(){for(const t of Nf)t()}function ph(){Rf||(Rf=!0,Ah())}function Oh(t){Ln!==t&&(Ln=t,Ah())}function Zr(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(Ln=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(ph);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(ph)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return Zr(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return Ln}class Lr{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lr;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function xr(){nt()&&Hh()}class Kr{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class Jr{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Kr(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function wr(){const t=nt();if(!t)return;class l extends t.OutputBinding{find(u){return $(u).find(".shiny-react-output")}renderValue(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setValue(a)}renderError(u,a){var i;console.error(`Error for ${u.id}:`,a);const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);n&&n.setError(a)}showProgress(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setRecalculating(a)}}t.outputBindings.register(new l,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const ma=class ma{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ma.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${ma.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===mu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(ma,"DEFAULT_TYPE","shinyreact.default");let Bf=ma;class $r{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new $r,outputs:new Jr}),Rh}function Wr(){ll()}function ll(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function xn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current;let d=f;const m=ll().inputs.get(i);m&&(d=m.getValue());const[y,r]=j.useState(d),b=Oe();j.useEffect(()=>{if(!b)return;const o=ll().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(r),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(r)}},[i,b,e,u,f,n]);const A=j.useCallback(H=>{if(!b)return;const s=ll().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,A]}const Kn=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=j.useState(l),n=Oe();Su();const i=te(t,e),c=j.useRef(l);return j.useEffect(()=>{if(!n)return;const f=ll();return a(c.current),f.outputs.add(i,a,Kn,Kn)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=j.useState("pending"),a=Oe();Su();const n=te(t,l);return j.useEffect(()=>a?ll().outputs.add(n,Kn,u,Kn):void 0,[n,a]),e}function Fr(t,{namespace:l}={}){Su();const e=te(t,l),[u,a]=j.useState(()=>{const i=ll().inputs.get(e);if(!i)return;const c=i.getValue();return c===mu?void 0:c}),n=Oe();return j.useEffect(()=>n?ll().inputs.subscribe(e,f=>{a(f===mu?void 0:f)}):void 0,[e,n]),u}function kr(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current,d=Oe();return j.useEffect(()=>{if(!d)return;const m=ll().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),j.useCallback(v=>{if(!d)return;const y=ll().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(v)},[i,d])}function Ir(t,l,{namespace:e}={}){const u=Oe();Su();const a=te(t,e),n=j.useRef(l);n.current=l,j.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function Oe(){return j.useSyncExternalStore(_h,Mh,Mh)}function Pr(){return j.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function Su(){Yh||(Wr(),Qr(ll().inputs),wr(),xr(),Yh=!0)}function tm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=te(t,i),f={namespace:null},[d,v]=xn(`.clientdata_output_${c}_width`,mu,f),[m,y]=xn(`.clientdata_output_${c}_height`,mu,f),[r]=xn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),A=Bh(c,f),H=j.useRef(null),o=j.useRef(null),[s,h]=j.useState(0);j.useEffect(()=>{b&&h(E=>E+1)},[b]),j.useEffect(()=>{n&&n(A==="recalculating")},[A,n]);const S=j.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(v(E),y(_))}},[v,y]);return j.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(p=>{for(const M of p)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,v,y,a,S]),j.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(v(M),y(R))};_();const z=Cf(_,a),p=new ResizeObserver(()=>z());return p.observe(E),()=>{p.disconnect(),z.cancel()}},[b,v,y,a]),r?null:b?pe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):pe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:pe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:pe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?pe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?pe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function lm(){window.shinyreact={useSetShinyInput:kr,useShinyBusy:Pr,useShinyInput:xn,useShinyInputValue:Fr,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Ir,useShinyInitialized:Oe,ImageOutput:tm,MISSING:mu,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jr,React:Wf,ReactDOM:Cr}}lm(),jh()})(); + */var Br=Symbol.for("react.transitional.element"),Yr=Symbol.for("react.fragment");function rh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Br,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Yr,Ln.jsx=rh,Ln.jsxs=rh,vh.exports=Ln;var Oe=vh.exports;const mh=V.createContext(null);function Sh({namespace:t,children:l}){return Oe.jsx(mh.Provider,{value:t,children:l})}function qr(){return V.useContext(mh)}function Vr(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=qr();return Vr(t,l!==void 0?l:e)}function jr({id:t,tagName:l="div",namespace:e,...u}){const a=Ml(t,e),n=V.useRef(null);return V.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(v,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:v})};try{const v=window.Shiny.bindAll(c);v&&typeof v.catch=="function"&&v.catch(m=>f(m,"bindAll"))}catch(v){f(v,"bindAll")}return()=>{var v,m;try{(m=(v=window.Shiny)==null?void 0:v.unbindAll)==null||m.call(v,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const Su=Symbol("MISSING"),gh="1.0";function Gr(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xr(t){const l=e=>e.split(".")[0];if(l(t)!==l(gh))throw new Error(`shinyreact protocol mismatch: the server speaks protocol ${t} but this JS client supports ${gh}. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Qr(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gr();if(a!=null&&a.protocolVersion?Xr(a.protocolVersion):a!=null&&console.error("shinyreact: the #shinyreact-config tag carries no protocolVersion, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package."),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,xn=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function Ah(){for(const t of Nf)t()}function ph(){Rf||(Rf=!0,Ah())}function Oh(t){xn!==t&&(xn=t,Ah())}function Zr(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(xn=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(ph);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(ph)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return Zr(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return xn}class Lr{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lr;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function xr(){nt()&&Hh()}class Kr{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){if(l.message===""){this.setValue(null);return}this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class Jr{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Kr(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function wr(){const t=nt();if(!t)return;class l extends t.OutputBinding{find(u){return $(u).find(".shiny-react-output")}renderValue(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setValue(a)}renderError(u,a){var i;console.error(`Error for ${u.id}:`,a);const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);n&&n.setError(a)}showProgress(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setRecalculating(a)}}t.outputBindings.register(new l,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const Sa=class Sa{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??Sa.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${Sa.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===Su){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(Sa,"DEFAULT_TYPE","shinyreact.default");let Bf=Sa;class $r{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new $r,outputs:new Jr}),Rh}function Wr(){kt()}function kt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Kn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current;let d=f;const m=kt().inputs.get(i);m&&(d=m.getValue());const[y,r]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=kt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(r),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(r)}},[i,b,e,u,f,n]);const A=V.useCallback(H=>{if(!b)return;const s=kt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,A]}const gu=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();_e();const i=Ml(t,e),c=V.useRef(l);return V.useEffect(()=>{if(!n)return;const f=kt();return a(c.current),f.outputs.add(i,a,gu,gu)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?kt().outputs.add(n,gu,u,gu):void 0,[n,a]),e}function Fr(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),kt().outputs.add(n,gu,gu,u)):void 0,[n,a]),e}function kr(t,{namespace:l}={}){_e();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=kt().inputs.get(e);if(!i)return;const c=i.getValue();return c===Su?void 0:c}),n=le();return V.useEffect(()=>n?kt().inputs.subscribe(e,f=>{a(f===Su?void 0:f)}):void 0,[e,n]),u}function Ir(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=kt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),V.useCallback(v=>{if(!d)return;const y=kt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(v)},[i,d])}function Pr(t,l,{namespace:e}={}){const u=le();_e();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(_h,Mh,Mh)}function tm(){return V.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function _e(){Yh||(Wr(),Qr(kt().inputs),wr(),xr(),Yh=!0)}function lm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=Ml(t,i),f={namespace:null},[d,v]=Kn(`.clientdata_output_${c}_width`,Su,f),[m,y]=Kn(`.clientdata_output_${c}_height`,Su,f),[r]=Kn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),A=Bh(c,f),H=V.useRef(null),o=V.useRef(null),[s,h]=V.useState(0);V.useEffect(()=>{b&&h(E=>E+1)},[b]),V.useEffect(()=>{n&&n(A==="recalculating")},[A,n]);const S=V.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(v(E),y(_))}},[v,y]);return V.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(p=>{for(const M of p)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,v,y,a,S]),V.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(v(M),y(R))};_();const z=Cf(_,a),p=new ResizeObserver(()=>z());return p.observe(E),()=>{p.disconnect(),z.cancel()}},[b,v,y,a]),r?null:b?Oe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Oe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Oe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Oe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Oe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Oe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function em(){window.shinyreact={useSetShinyInput:Ir,useShinyBusy:tm,useShinyInput:Kn,useShinyInputValue:kr,useShinyOutputError:Fr,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Pr,useShinyInitialized:le,ImageOutput:lm,MISSING:Su,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jr,React:Wf,ReactDOM:Cr}}em(),jh()})(); diff --git a/pkg-js/src/__tests__/global.test.ts b/pkg-js/src/__tests__/global.test.ts index 312cc990..e0bd47ca 100644 --- a/pkg-js/src/__tests__/global.test.ts +++ b/pkg-js/src/__tests__/global.test.ts @@ -25,6 +25,7 @@ describe("installGlobal", () => { "useShinyInput", "useShinyInputValue", "useShinyMessageHandler", + "useShinyOutputError", "useShinyOutputStatus", "useShinyOutputValue", ]); diff --git a/pkg-js/src/global.ts b/pkg-js/src/global.ts index 96de8e41..bc025d80 100644 --- a/pkg-js/src/global.ts +++ b/pkg-js/src/global.ts @@ -13,6 +13,7 @@ import { useShinyBusy, useShinyInput, useShinyInputValue, + useShinyOutputError, useShinyOutputStatus, useShinyOutputValue, useShinyMessageHandler, @@ -31,6 +32,7 @@ declare global { useShinyBusy: typeof useShinyBusy; useShinyInput: typeof useShinyInput; useShinyInputValue: typeof useShinyInputValue; + useShinyOutputError: typeof useShinyOutputError; useShinyOutputStatus: typeof useShinyOutputStatus; useShinyOutputValue: typeof useShinyOutputValue; useShinyMessageHandler: typeof useShinyMessageHandler; @@ -58,6 +60,7 @@ export function installGlobal(): void { useShinyBusy, useShinyInput, useShinyInputValue, + useShinyOutputError, useShinyOutputStatus, useShinyOutputValue, useShinyMessageHandler, diff --git a/pkg-js/src/shiny-react/__tests__/output-registry.test.ts b/pkg-js/src/shiny-react/__tests__/output-registry.test.ts index 19b24462..24bafa1f 100644 --- a/pkg-js/src/shiny-react/__tests__/output-registry.test.ts +++ b/pkg-js/src/shiny-react/__tests__/output-registry.test.ts @@ -307,6 +307,27 @@ describe("OutputRegistryEntry status lifecycle", () => { expect(entry.getLastError()).toBeNull(); }); + it("an empty-message error is a silent error, delivered as a null value", () => { + // #257. `req()` in R arrives as an error with message "" (vanilla Shiny + // blanks the output); py-shiny sends a null value for the same `req()`. + // Both servers must look the same to the React component. + const entry = new OutputRegistryEntry("test"); + entry.setValue("first"); + const setStatus = vi.fn(); + const setError = vi.fn(); + const setValue = vi.fn(); + entry.addUseStateSetStatusFn(setStatus); + entry.addUseStateSetErrorFn(setError); + entry.addUseStateSetValueFn(setValue); + + entry.setError({ message: "", call: [], type: ["shiny.silent.error"] }); + + expect(entry.getStatus()).toBe("ready"); + expect(entry.getLastError()).toBeNull(); + expect(setError).not.toHaveBeenCalled(); + expect(setValue).toHaveBeenCalledWith(null); + }); + it("isEmpty considers status and error subscribers", () => { const entry = new OutputRegistryEntry("test"); expect(entry.isEmpty()).toBe(true); diff --git a/pkg-js/src/shiny-react/__tests__/use-shiny-output-error.test.tsx b/pkg-js/src/shiny-react/__tests__/use-shiny-output-error.test.tsx new file mode 100644 index 00000000..519e15df --- /dev/null +++ b/pkg-js/src/shiny-react/__tests__/use-shiny-output-error.test.tsx @@ -0,0 +1,124 @@ +import { act, renderHook } from "@testing-library/react"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import type { ErrorsMessageValue } from "../output-registry"; +import { + _resetReactRegistryForTesting, + getReactRegistry, +} from "../react-registry"; +import { + _resetShinyReactInitializedForTesting, + useShinyOutputError, +} from "../use-shiny"; + +// Same stand-in as use-shiny-output-value.test.tsx: resolve initializedPromise +// immediately so the hook's effect runs, and let the real OutputRegistry play +// the other half of the interaction under test. +vi.mock("../get-shiny", () => ({ + getShiny: () => ({ + initializedPromise: Promise.resolve(), + outputBindings: { register: () => {} }, + OutputBinding: class {}, + addCustomMessageHandler: () => {}, + bindAll: () => {}, + unbindAll: () => {}, + }), +})); + +beforeEach(() => { + _resetReactRegistryForTesting(); + _resetShinyReactInitializedForTesting(); +}); + +afterEach(() => { + document + .querySelectorAll(".shiny-react-output-container") + .forEach((el) => el.remove()); +}); + +async function flush(): Promise { + await act(async () => { + await Promise.resolve(); + }); +} + +const boom: ErrorsMessageValue = { + message: "invalid number of 'breaks'", + call: ["hist(x, breaks = n)"], + type: undefined, +}; + +describe("useShinyOutputError", () => { + it("starts at null and delivers the server's error message", async () => { + const registry = getReactRegistry(); + const { result } = renderHook(() => useShinyOutputError("out")); + await flush(); + expect(result.current).toBeNull(); + + act(() => registry.outputs.get("out")!.setError(boom)); + await flush(); + + expect(result.current).toEqual(boom); + }); + + it("syncs a late-mounting subscriber with the cached error", async () => { + const registry = getReactRegistry(); + registry.outputs.add( + "out", + () => {}, + () => {}, + () => {}, + ); + registry.outputs.get("out")!.setError(boom); + + const { result } = renderHook(() => useShinyOutputError("out")); + await flush(); + + expect(result.current).toEqual(boom); + }); + + it("clears when a value arrives", async () => { + const registry = getReactRegistry(); + const { result } = renderHook(() => useShinyOutputError("out")); + await flush(); + + act(() => registry.outputs.get("out")!.setError(boom)); + await flush(); + act(() => registry.outputs.get("out")!.setValue("recovered")); + await flush(); + + expect(result.current).toBeNull(); + }); + + it("stays null for a silent error", async () => { + const registry = getReactRegistry(); + const { result } = renderHook(() => useShinyOutputError("out")); + await flush(); + + act(() => + registry.outputs + .get("out")! + .setError({ message: "", call: [], type: ["shiny.silent.error"] }), + ); + await flush(); + + expect(result.current).toBeNull(); + }); + + it("drops the previous id's error when the id changes", async () => { + const registry = getReactRegistry(); + const { result, rerender } = renderHook( + ({ id }: { id: string }) => useShinyOutputError(id), + { initialProps: { id: "first" } }, + ); + await flush(); + + act(() => registry.outputs.get("first")!.setError(boom)); + await flush(); + expect(result.current).toEqual(boom); + + rerender({ id: "second" }); + await flush(); + + expect(result.current).toBeNull(); + }); +}); diff --git a/pkg-js/src/shiny-react/index.ts b/pkg-js/src/shiny-react/index.ts index bf346b1a..1d5b242e 100644 --- a/pkg-js/src/shiny-react/index.ts +++ b/pkg-js/src/shiny-react/index.ts @@ -15,6 +15,7 @@ export { useShinyInput, useShinyInputValue, useShinyMessageHandler, + useShinyOutputError, useShinyOutputStatus, useShinyOutputValue, } from "./use-shiny"; diff --git a/pkg-js/src/shiny-react/output-registry.ts b/pkg-js/src/shiny-react/output-registry.ts index 6b46333c..641826bb 100644 --- a/pkg-js/src/shiny-react/output-registry.ts +++ b/pkg-js/src/shiny-react/output-registry.ts @@ -124,6 +124,15 @@ export class OutputRegistryEntry { } setError(err: ErrorsMessageValue) { + // An empty message is how Shiny signals a *silent* error (`req()`): vanilla + // Shiny blanks the output element rather than showing error text. Only R + // takes this path — py-shiny sends a `null` value for `req()` — so mapping + // it to a `null` value keeps the two servers saying the same thing to the + // same React component. + if (err.message === "") { + this.setValue(null as T); + return; + } this.lastError = err; this.useStateSetErrorFns.forEach((fn) => fn(err)); this.setStatus("error"); diff --git a/pkg-js/src/shiny-react/use-shiny.ts b/pkg-js/src/shiny-react/use-shiny.ts index 65fad008..80f4a9c3 100644 --- a/pkg-js/src/shiny-react/use-shiny.ts +++ b/pkg-js/src/shiny-react/use-shiny.ts @@ -25,6 +25,7 @@ import { import { MISSING } from "./missing"; import { createReactOutputBinding, + type ErrorsMessageValue, type OutputStatus, } from "./output-registry"; import { getReactRegistry, initializeReactRegistry } from "./react-registry"; @@ -304,6 +305,62 @@ export function useShinyOutputStatus( return status; } +/** + * Hook to subscribe to the error of a Shiny output. + * + * Returns the server's (already sanitized) error, or `null` when the output is + * not in the `"error"` state. `message` is the condition/exception text — the + * same text vanilla Shiny paints into the output element — unless the app has + * `shiny.sanitize.errors` / `sanitize_errors` on, in which case the server + * sends its generic message instead. `call` and `type` are R-only extras; + * Python sends `null` for both. + * + * Silent errors (`req()`, and `validate()` with no message) never reach this + * hook: the server sends them with an empty message, which shinyreact treats + * as a `null` value rather than an error. + * + * @param outputId The ID of the Shiny output to subscribe to. + * @param options Optional configuration object. + * @param options.namespace Module namespace to apply (or `null` to suppress + * the surrounding `ShinyModuleProvider` namespace). + * @returns The current output error, or `null`. + */ +export function useShinyOutputError( + outputId: string, + { + namespace: explicitNamespace, + }: { + namespace?: string | null; + } = {}, +): ErrorsMessageValue | null { + const [error, setError] = useState(null); + const shinyInitialized = useShinyInitialized(); + + ensureShinyReactInitialized(); + + const namespacedOutputId = useNamespacedId(outputId, explicitNamespace); + + useEffect(() => { + if (!shinyInitialized) { + return; + } + // Drop the previous id's error before subscribing to the new one, for the + // same reason `useShinyOutputValue` resets its value. + setError(null); + + const reactRegistry = getReactRegistry(); + const dispose = reactRegistry.outputs.add( + namespacedOutputId, + NOOP_SETTER, + NOOP_SETTER, + setError, + ); + return dispose; + }, [namespacedOutputId, shinyInitialized]); + + return error; +} + /** * A read-only React hook that subscribes to a Shiny input value created by a * separate producer component (typically one that calls `useShinyInput` and diff --git a/pkg-py/README.md b/pkg-py/README.md index f16b1da2..739b158d 100644 --- a/pkg-py/README.md +++ b/pkg-py/README.md @@ -79,6 +79,7 @@ Runnable apps live in [`examples/`](../examples/) — see the | `useSetShinyInput(id, default, opts)` | Write-only producer — registers an input and returns just the setter | | `useShinyOutputValue(id, default?)` | Consume arbitrary data sent by `@shinyreact.reactive_output` | | `useShinyOutputStatus(id)` | Output lifecycle status — `"pending" \| "ready" \| "recalculating" \| "error"` | +| `useShinyOutputError(id)` | The server's sanitized error message for an output, or `null` | | `useShinyMessageHandler(id, fn)` | Handle server-to-client custom messages | | `useShinyInitialized()` | Check whether Shiny is connected | | `useShinyBusy()` | Whether the Shiny server is currently processing a request | diff --git a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/SKILL.md b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/SKILL.md index 66d93a76..f41ba8a9 100644 --- a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/SKILL.md +++ b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/SKILL.md @@ -244,6 +244,7 @@ an npm-tier build). | **Input** | `useShinyInput(id, default)` → `[value, setValue]` | `useShinyInputValue(id)` | `useSetShinyInput(id, default)` | | **Output** | — | `useShinyOutputValue(id, default?)` | — | | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | +| **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. @@ -304,6 +305,20 @@ with `.recalculating { opacity: .6; transition: opacity 200ms }`. `"pending"` is the only state where you have no data yet; `"recalculating"` means the previous result is still valid, so show it. +**Showing the server's error text** — `useShinyOutputError(id)` returns the +same (sanitized) condition/exception message vanilla Shiny would paint into the +output element, or `null` when the output is fine: + +```jsx +const error = useShinyOutputError("foo"); +if (error) return
{error.message}
; +``` + +`req()` / `validate()` with no message are silent — they never produce an +error here, matching Shiny. With `shiny.sanitize.errors` / `sanitize_errors` +on, the server sends its generic message, so the client never has to decide +what is safe to show. + **Gate the first paint** on `useShinyInitialized()` (`if (!initialized) return null`) so the UI does not flash empty defaults during connection setup. diff --git a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/debugging.md b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/debugging.md index 71b8441b..cb5d93d0 100644 --- a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/debugging.md +++ b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/debugging.md @@ -1,13 +1,14 @@ # Debugging a shinyreact app The client is a normal React app, so React DevTools works. What is specific to -shinyreact is the wire, and these four hooks are the instruments — reach for +shinyreact is the wire, and these five hooks are the instruments — reach for them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | | `useShinyOutputStatus(id)` | `"pending"` / `"ready"` / `"recalculating"` / `"error"` for one output | +| `useShinyOutputError(id)` | the server's sanitized error message for one output, or `null` | | `useShinyBusy()` | whether the server is processing *anything* right now | | `useShinyInputValue(id)` | what a channel currently holds, read from any component | @@ -26,4 +27,3 @@ Symptoms, in the order they actually come up: On the server, `reactive_output` is an ordinary Shiny output — print inside it, and its errors surface in the Shiny console exactly as usual. - diff --git a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/modules.md b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/modules.md index 3a88da78..f4372af9 100644 --- a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/modules.md +++ b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/modules.md @@ -66,7 +66,7 @@ the `useShinyMessageHandler("ping", ...)` inside the matching provider. Every id-taking hook and component goes through one shared resolver, so the behavior is identical for `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, -`useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. +`useShinyOutputError`, `useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. Each of them takes an optional `namespace`: diff --git a/pkg-py/src/shinyreact/www/shinyreact.js b/pkg-py/src/shinyreact/www/shinyreact.js index 2acd5f19..a6b94cfc 100644 --- a/pkg-py/src/shinyreact/www/shinyreact.js +++ b/pkg-py/src/shinyreact/www/shinyreact.js @@ -1,4 +1,4 @@ -var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0,configurable:!0,writable:!0,value:ue}):ee[nt]=ue;var K=(ee,nt,ue)=>am(ee,typeof nt!="symbol"?nt+"":nt,ue);(function(){"use strict";function ee(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ue=!1;function jh(){if(typeof document>"u"||ue)return;ue=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** +var am=Object.defineProperty;var nm=(ue,nt,ae)=>nt in ue?am(ue,nt,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[nt]=ae;var K=(ue,nt,ae)=>nm(ue,typeof nt!="symbol"?nt+"":nt,ae);(function(){"use strict";function ue(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ae=!1;function jh(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wn=Symbol.for("react.transitional.element"),Gh=Symbol.for("react.portal"),Xh=Symbol.for("react.fragment"),Qh=Symbol.for("react.strict_mode"),Zh=Symbol.for("react.profiler"),Lh=Symbol.for("react.consumer"),xh=Symbol.for("react.context"),Kh=Symbol.for("react.forward_ref"),Jh=Symbol.for("react.suspense"),wh=Symbol.for("react.memo"),Gf=Symbol.for("react.lazy"),$h=Symbol.for("react.activity"),Xf=Symbol.iterator;function Wh(t){return t===null||typeof t!="object"?null:(t=Xf&&t[Xf]||t["@@iterator"],typeof t=="function"?t:null)}var Qf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Zf=Object.assign,Lf={};function Me(t,l,e){this.props=t,this.context=l,this.refs=Lf,this.updater=e||Qf}Me.prototype.isReactComponent={},Me.prototype.setState=function(t,l){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,l,"setState")},Me.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function xf(){}xf.prototype=Me.prototype;function Fn(t,l,e){this.props=t,this.context=l,this.refs=Lf,this.updater=e||Qf}var kn=Fn.prototype=new xf;kn.constructor=Fn,Zf(kn,Me.prototype),kn.isPureReactComponent=!0;var Kf=Array.isArray;function In(){}var W={H:null,A:null,T:null,S:null},Jf=Object.prototype.hasOwnProperty;function Pn(t,l,e){var u=e.ref;return{$$typeof:Wn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function Fh(t,l){return Pn(t.type,l,t.props)}function ti(t){return typeof t=="object"&&t!==null&&t.$$typeof===Wn}function kh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var wf=/\/+/g;function li(t,l){return typeof t=="object"&&t!==null&&t.key!=null?kh(""+t.key):l.toString(36)}function Ih(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(In,In):(t.status="pending",t.then(function(l){t.status==="pending"&&(t.status="fulfilled",t.value=l)},function(l){t.status==="pending"&&(t.status="rejected",t.reason=l)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function De(t,l,e,u,a){var n=typeof t;(n==="undefined"||n==="boolean")&&(t=null);var i=!1;if(t===null)i=!0;else switch(n){case"bigint":case"string":case"number":i=!0;break;case"object":switch(t.$$typeof){case Wn:case Gh:i=!0;break;case Gf:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+li(t,0):u,Kf(a)?(e="",i!=null&&(e=i.replace(wf,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(ti(a)&&(a=Fh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace(wf,"$&/")+"/")+i)),l.push(a)),1;i=0;var c=u===""?".":u+":";if(Kf(t))for(var f=0;fnt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,rt=T[at];if(0>>1;ata(qf,N))_ea($n,qf)?(T[at]=$n,T[_e]=N,at=_e):(T[at]=qf,T[wn]=N,at=wn);else if(_ea($n,N))T[at]=$n,T[_e]=N,at=_e;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],v=1,m=null,y=3,r=!1,b=!1,A=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(A=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,le());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,p=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var rt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof rt=="function"){m.callback=rt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,r=!1}Y=void 0}}finally{Y?le():_=!1}}}var le;if(typeof h=="function")le=function(){h(kt)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,em=Vh.port2;Vh.port1.onmessage=kt,le=function(){em.postMessage(null)}}else le=function(){o(kt,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(A?(s(z),z=-1):A=!0,Yf(E,N-at))):(T.sortIndex=rt,l(f,T),b||r||(b=!0,_||(_=!0,le()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** + */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,rt=T[at];if(0>>1;ata(qf,N))Mea($n,qf)?(T[at]=$n,T[Me]=N,at=Me):(T[at]=qf,T[wn]=N,at=wn);else if(Mea($n,N))T[at]=$n,T[Me]=N,at=Me;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],v=1,m=null,y=3,r=!1,b=!1,A=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(A=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,ee());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,p=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var rt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof rt=="function"){m.callback=rt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,r=!1}Y=void 0}}finally{Y?ee():_=!1}}}var ee;if(typeof h=="function")ee=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,um=Vh.port2;Vh.port1.onmessage=It,ee=function(){um.postMessage(null)}}else ee=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(A?(s(z),z=-1):A=!0,Yf(E,N-at))):(T.sortIndex=rt,l(f,T),b||r||(b=!0,_||(_=!0,ee()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var e0=j;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** + */var e0=V;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ot=l0,es=j,i0=n0;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=si[He],si[He]=null,He--)}function w(t,l){He++,si[He]=t.current,t.current=l}var ul=el(null),Au=el(null),Ul=el(null),za=el(null);function Ta(t,l){switch(w(Ul,l),w(Au,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Re(){yt(ul),yt(Au),yt(Ul)}function oi(t){t.memoizedState!==null&&w(za,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(Au,t),w(ul,e))}function Aa(t){Au.current===t&&(yt(ul),yt(Au)),za.current===t&&(yt(za),ya._currentValue=ae)}var di,ds;function ne(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1Re||(t.current=si[Re],si[Re]=null,Re--)}function w(t,l){Re++,si[Re]=t.current,t.current=l}var ul=el(null),pu=el(null),Hl=el(null),Ta=el(null);function Aa(t,l){switch(w(Hl,l),w(pu,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Ne(){yt(ul),yt(pu),yt(Hl)}function oi(t){t.memoizedState!==null&&w(Ta,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(pu,t),w(ul,e))}function pa(t){pu.current===t&&(yt(ul),yt(pu)),Ta.current===t&&(yt(Ta),ha._currentValue=ne)}var di,ds;function ie(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1)":-1a||f[u]!==d[a]){var v=` -`+f[u].replace(" at new "," at ");return t.displayName&&v.includes("")&&(v=v.replace("",t.displayName)),v}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ne(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ne(t.type);case 16:return ne("Lazy");case 13:return t.child!==l&&l!==null?ne("Suspense Fallback"):ne("Suspense");case 19:return ne("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ne("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+f[u].replace(" at new "," at ");return t.displayName&&v.includes("")&&(v=v.replace("",t.displayName)),v}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ie(t.type);case 16:return ie("Lazy");case 13:return t.child!==l&&l!==null?ie("Suspense Fallback"):ie("Suspense");case 19:return ie("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ie("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}var vi=Object.prototype.hasOwnProperty,ri=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,v0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,pa=ot.unstable_NormalPriority,r0=ot.unstable_LowPriority,rs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,pu=null,Nt=null;function Hl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(pu,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var Oa=256,_a=262144,Ma=4194304;function ie(t){var l=t&42;if(l!==0)return l;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Da(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ie(u):(i&=c,i!==0?a=ie(i):e||(e=c&~t,e!==0&&(a=ie(e))))):(c=u&~n,c!==0?a=ie(c):i!==0?a=ie(i):e||(e=u&~t,e!==0&&(a=ie(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function Ou(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Ma;return Ma<<=1,!(Ma&62914560)&&(Ma=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function _u(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?pi(t,i,Qt(l)):e!=null?pi(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function pi(t,l,e){l==="number"&&Ra(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function Ve(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Hu={};Object.defineProperty(Hu,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Hu,Hu),window.removeEventListener("test",Hu,Hu)}catch{Ui=!1}var Nl=null,Hi=null,Ca=null;function qs(){if(Ca)return Ca;var t,l=Hi,e=l.length,u,a="value"in Nl?Nl.value:Nl.textContent,n=a.length;for(t=0;t=Cu),Zs=" ",Ls=!1;function xs(t,l){switch(t){case"keyup":return ev.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function av(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(Ls=!0,Zs);case"textInput":return t=l.data,t===Zs&&Ls?null:t;default:return null}}function nv(t,l){if(Qe)return t==="compositionend"||!Yi&&xs(t,l)?(t=qs(),Ca=Hi=Nl=null,Qe=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ra(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Ra(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hv=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Gi=null,Vu=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Ze==null||Ze!==Ra(u)||(u=Ze,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Vu&&qu(Vu,u)||(Vu=u,u=Mn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<p?(M=z,z=null):M=z.sibling;var R=y(o,z,h[p],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R,z=M}if(p===h.length)return e(o,z),V&&hl(o,p),E;if(z===null){for(;pp?(M=z,z=null):M=z.sibling;var kt=y(o,z,R.value,S);if(kt===null){z===null&&(z=M);break}t&&z&&kt.alternate===null&&l(o,z),s=n(kt,s,p),_===null?E=kt:_.sibling=kt,_=kt,z=M}if(R.done)return e(o,z),V&&hl(o,p),E;if(z===null){for(;!R.done;p++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return V&&hl(o,p),E}for(z=u(z);!R.done;p++,R=h.next())R=r(z,o,p,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?p:R.key),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(le){return l(o,le)}),V&&hl(o,p),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===Ue&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case Ea:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===Ue){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Dl&&Se(E)===s.type){e(o,s.sibling),S=a(s,h.props),Lu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=ye(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=La(h.type,h.key,h.props,null,o.mode,S),Lu(S,h),S.return=o,o=S)}return i(o);case Eu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Dl:return h=Se(h),H(o,s,h,S)}if(Tu(h))return b(o,s,h,S);if(zu(h)){if(E=zu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),A(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Fa(h),S);if(h.$$typeof===fl)return H(o,s,Ja(o,h),S);ka(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Zu=0;var E=H(o,s,h,S);return Pe=null,E}catch(z){if(z===Ie||z===$a)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var be=Mo(!0),Do=Mo(!1),Vl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function jl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Gl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=Za(t),oo(t,null,e),l}return Qa(t,u,l,e),Za(t)}function xu(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ku(){if(fc){var t=ke;if(t!==null)throw t}}function Ju(t,l,e,u){fc=!1;var a=t.updateQueue;Vl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var v=t.alternate;v!==null&&(v=v.updateQueue,c=v.lastBaseUpdate,c!==i&&(c===null?v.firstBaseUpdate=d:c.next=d,v.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,v=d=f=null,c=n;do{var y=c.lane&-536870913,r=y!==c.lane;if(r?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(fc=!0),v!==null&&(v=v.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,A=c;y=l;var H=e;switch(A.tag){case 1:if(b=A.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=A.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:Vl=!0}}y=c.callback,y!==null&&(t.flags|=64,r&&(t.flags|=8192),r=a.callbacks,r===null?a.callbacks=[y]:r.push(y))}else r={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},v===null?(d=v=r,f=m):v=v.next=r,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;r=c,c=r.next,r.next=null,a.lastBaseUpdate=r,a.shared.pending=null}}while(!0);v===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=v,n===null&&(a.shared.lanes=0),xl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var v=Tv(f,u);Wu(t,l,v,Xt(t))}else Wu(t,l,u,Xt(t))}catch(m){Wu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dv(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ae,e===null?Dv:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ae},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Wu(t,l.next.queue,{},Xt())}function _c(){return gt(ya)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Uv(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=jl(e);var u=Gl(l,t,e);u!==null&&(Ht(u,l,e),xu(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hv(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},fn(t)?hd(l,e):(e=xi(t,l,e,u),e!==null&&(Ht(e,t,u),vd(e,l,u)))}function yd(t,l,e){var u=Xt();Wu(t,l,e,u)}function Wu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(fn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Qa(t,l,a,0),J===null&&Xa(),!1}catch{}finally{}if(e=xi(t,l,a,u),e!==null)return Ht(e,t,u),vd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},fn(t)){if(l)throw Error(g(479))}else l=xi(t,e,u,2),l!==null&&Ht(l,t,2)}function fn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){lu=tn=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function vd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var Fu={readContext:gt,use:un,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};Fu.useEffectEvent=tt;var rd={readContext:gt,use:un,useCallback:function(t,l){return At().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,nn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return nn(4194308,4,t,l)},useInsertionEffect:function(t,l){nn(4,2,t,l)},useMemo:function(t,l){var e=At();l=l===void 0?null:l;var u=t();if(Ee){Hl(!0);try{t()}finally{Hl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=At();if(e!==void 0){var a=e(l);if(Ee){Hl(!0);try{e(l)}finally{Hl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hv.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=At();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Ac,useDeferredValue:function(t,l){var e=At();return pc(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),At().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=At();if(V){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=At(),l=J.identifierPrefix;if(V){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=ln++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[pt]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Ul.current,$e(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||Yl(l,!0)}else t=Dn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=$e(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=$e(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),hn(l,l.updateQueue),I(l),null);case 4:return Re(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return rl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Iu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=Pa(t),n!==null){for(l.flags|=128,Iu(u,!1),t=n.updateQueue,l.updateQueue=t,hn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),V&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>gn&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304)}else{if(!a)if(t=Pa(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,hn(l,t),Iu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!V)return I(l),null}else 2*Rt()-u.renderingStartTime>gn&&e!==536870912&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),V&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&hn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(me),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),rl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yv(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return rl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Aa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Re(),null;case 10:return rl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(me),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return rl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:rl(it),Re();break;case 26:case 27:case 5:Aa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:rl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(me);break;case 24:rl(it)}}function Pu(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Zl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(v){Z(a,f,v)}}}u=u.next}while(u!==n)}}catch(v){Z(l,l.return,v)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=ze(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ta(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;ur(u,t.type,e,l),u[pt]=l}catch(a){Z(t,t.return,a)}}function Ld(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Wl(t.type)||t.tag===4}function Lc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Ld(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Wl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(xc(t,l,e),t=t.sibling;t!==null;)xc(t,l,e),t=t.sibling}function vn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(vn(t,l,e),t=t.sibling;t!==null;)vn(t,l,e),t=t.sibling}function xd(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[pt]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,vt=null;function qv(t,l){if(t=t.containerInfo,hf=Yn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,v=0,m=t,y=null;l:for(;;){for(var r;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(r=m.firstChild)!==null;)y=m,m=r;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++v===u&&(f=i),(r=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=r}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(vf={focusedElem:t,selectionRange:e},Yn=!1,vt=l;vt!==null;)if(l=vt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,vt=t;else for(;vt!==null;){switch(l=vt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=A,A=i);var o=to(c,A),s=to(c,H);if(o&&s&&(r.rangeCount!==1||r.anchorNode!==o.node||r.anchorOffset!==o.offset||r.focusNode!==s.node||r.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),r.removeAllRanges(),A>H?(r.addRange(h),r.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),r.addRange(h))}}}}for(m=[],r=c;r=r.parentNode;)r.nodeType===1&&m.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=Jl,i=Ol;if(dt=0,fu=Jl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ia(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(pu,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=xt(e,l),l=Rc(t.stateNode,l,2),t=Gl(t,l,2),t!==null&&(_u(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Kl===null||!Kl.has(u))){t=xt(e,t),e=Ad(2),u=Gl(l,e,2),u!==null&&(pd(e,u,l,t),_u(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gv;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=xv.bind(null,t,l,e),l.then(t,t))}function xv(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-Sn?!(X&2)&&su(t,0):Wc|=e,cu===q&&(cu=0)),cl(t)}function Ay(t,l){l===0&&(l=ms()),t=de(t,l),t!==null&&(_u(t,l),cl(t))}function Kv(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function Jv(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),Ay(t,e)}function wv(t,l){return ri(t,l)}var pn=null,du=null,uf=!1,On=!1,af=!1,$l=0;function cl(t){t!==du&&t.next===null&&(du===null?pn=du=t:du=du.next=t),On=!0,uf||(uf=!0,Wv())}function ia(t,l){if(!af&&On){af=!0;do for(var e=!1,u=pn;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Da(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Ou(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $v(){py()}function py(){On=uf=!1;var t=0;$l!==0&&nr()&&(t=$l);for(var l=Rt(),e=null,u=pn;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?pn=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(On=!0)),u=a}dt!==0&&dt!==5||ia(t),$l!==0&&($l=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var v=f.transferSize,m=f.initiatorType;v&&Yy(m)&&(f=f.responseEnd,i+=v*(f"u"?null:document;function wy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function vr(t){_l.D(t),wy("dns-prefetch",t,null)}function rr(t,l){_l.C(t,l),wy("preconnect",t,l)}function mr(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=vu(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(oa(n))||l==="script"&&u.querySelector(da(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sr(t,l){_l.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=vu(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(da(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gr(t,l,e){_l.S(t,l,e);var u=yu;if(u&&t){var a=Ye(u).hoistableStyles,n=hu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(oa(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,v){f.onload=d,f.onerror=v}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Hn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function br(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Er(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Ul.current)?Un(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=hu(e.href),e=Ye(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=hu(e.href);var n=Ye(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(oa(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zr(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=vu(e),e=Ye(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function hu(t){return'href="'+Zt(t)+'"'}function oa(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zr(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function vu(t){return'[src="'+Zt(t)+'"]'}function da(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Hn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(oa(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Hn(n,e.precedence,t),l.instance=n;case"script":return n=vu(e.src),(a=t.querySelector(da(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Hn(u,e.precedence,t));return l.instance}function Hn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tr(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Ar(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=hu(u.href),n=l.querySelector(oa(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Nn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Nn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Af=0;function pr(t,l){return t.stylesheets&&t.count===0&&Bn(t,t.stylesheets),0Af?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Nn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Bn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Cn=null;function Bn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Cn=new Map,l.forEach(Or,t),Cn=null,Nn.call(t))}function Or(t,l){if(!(l.state.loading&4)){var e=Cn.get(t);if(e)var u=e.get(null);else{e=new Map,Cn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ga;var Hf=Ff.exports;const Cr=ee({__proto__:null,default:Vf(Hf)},[Hf]);var vh={exports:{}},Zn={};/** +`+u.stack}}var vi=Object.prototype.hasOwnProperty,ri=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,v0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,Oa=ot.unstable_NormalPriority,r0=ot.unstable_LowPriority,rs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Ou=null,Nt=null;function Rl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Ou,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var _a=256,Ma=262144,Da=4194304;function ce(t){var l=t&42;if(l!==0)return l;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ua(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ce(u):(i&=c,i!==0?a=ce(i):e||(e=c&~t,e!==0&&(a=ce(e))))):(c=u&~n,c!==0?a=ce(c):i!==0?a=ce(i):e||(e=u&~t,e!==0&&(a=ce(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function _u(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Da;return Da<<=1,!(Da&62914560)&&(Da=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Mu(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?pi(t,i,Qt(l)):e!=null?pi(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function pi(t,l,e){l==="number"&&Na(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function je(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Ru={};Object.defineProperty(Ru,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Ru,Ru),window.removeEventListener("test",Ru,Ru)}catch{Ui=!1}var Cl=null,Hi=null,Ba=null;function qs(){if(Ba)return Ba;var t,l=Hi,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Bu),Zs=" ",Ls=!1;function xs(t,l){switch(t){case"keyup":return ev.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ze=!1;function av(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(Ls=!0,Zs);case"textInput":return t=l.data,t===Zs&&Ls?null:t;default:return null}}function nv(t,l){if(Ze)return t==="compositionend"||!Yi&&xs(t,l)?(t=qs(),Ba=Hi=Cl=null,Ze=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Na(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Na(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hv=dl&&"documentMode"in document&&11>=document.documentMode,Le=null,Gi=null,ju=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Le==null||Le!==Na(u)||(u=Le,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),ju&&Vu(ju,u)||(ju=u,u=Dn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<p?(M=z,z=null):M=z.sibling;var R=y(o,z,h[p],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R,z=M}if(p===h.length)return e(o,z),j&&hl(o,p),E;if(z===null){for(;pp?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,p),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),j&&hl(o,p),E;if(z===null){for(;!R.done;p++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return j&&hl(o,p),E}for(z=u(z);!R.done;p++,R=h.next())R=r(z,o,p,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?p:R.key),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(ee){return l(o,ee)}),j&&hl(o,p),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===He&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case za:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===He){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ul&&ge(E)===s.type){e(o,s.sibling),S=a(s,h.props),xu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===He?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=xa(h.type,h.key,h.props,null,o.mode,S),xu(S,h),S.return=o,o=S)}return i(o);case zu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Ul:return h=ge(h),H(o,s,h,S)}if(Au(h))return b(o,s,h,S);if(Tu(h)){if(E=Tu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),A(o,s,h,S)}if(typeof h.then=="function")return H(o,s,ka(h),S);if(h.$$typeof===fl)return H(o,s,wa(o,h),S);Ia(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var E=H(o,s,h,S);return tu=null,E}catch(z){if(z===Pe||z===Wa)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var Ee=Mo(!0),Do=Mo(!1),jl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Xl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=La(t),oo(t,null,e),l}return Za(t,u,l,e),La(t)}function Ku(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ju(){if(fc){var t=Ie;if(t!==null)throw t}}function wu(t,l,e,u){fc=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var v=t.alternate;v!==null&&(v=v.updateQueue,c=v.lastBaseUpdate,c!==i&&(c===null?v.firstBaseUpdate=d:c.next=d,v.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,v=d=f=null,c=n;do{var y=c.lane&-536870913,r=y!==c.lane;if(r?(q&y)===y:(u&y)===y){y!==0&&y===ke&&(fc=!0),v!==null&&(v=v.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,A=c;y=l;var H=e;switch(A.tag){case 1:if(b=A.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=A.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:jl=!0}}y=c.callback,y!==null&&(t.flags|=64,r&&(t.flags|=8192),r=a.callbacks,r===null?a.callbacks=[y]:r.push(y))}else r={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},v===null?(d=v=r,f=m):v=v.next=r,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;r=c,c=r.next,r.next=null,a.lastBaseUpdate=r,a.shared.pending=null}}while(!0);v===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=v,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var v=Tv(f,u);Fu(t,l,v,Xt(t))}else Fu(t,l,u,Xt(t))}catch(m){Fu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dv(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ne,e===null?Dv:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Fu(t,l.next.queue,{},Xt())}function _c(){return gt(ha)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Uv(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Ht(u,l,e),Ku(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hv(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},sn(t)?hd(l,e):(e=xi(t,l,e,u),e!==null&&(Ht(e,t,u),vd(e,l,u)))}function yd(t,l,e){var u=Xt();Fu(t,l,e,u)}function Fu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(sn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Za(t,l,a,0),J===null&&Qa(),!1}catch{}finally{}if(e=xi(t,l,a,u),e!==null)return Ht(e,t,u),vd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},sn(t)){if(l)throw Error(g(479))}else l=xi(t,e,u,2),l!==null&&Ht(l,t,2)}function sn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){eu=ln=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function vd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var ku={readContext:gt,use:an,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};ku.useEffectEvent=tt;var rd={readContext:gt,use:an,useCallback:function(t,l){return At().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return cn(4194308,4,t,l)},useInsertionEffect:function(t,l){cn(4,2,t,l)},useMemo:function(t,l){var e=At();l=l===void 0?null:l;var u=t();if(ze){Rl(!0);try{t()}finally{Rl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=At();if(e!==void 0){var a=e(l);if(ze){Rl(!0);try{e(l)}finally{Rl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hv.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=At();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Ac,useDeferredValue:function(t,l){var e=At();return pc(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),At().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=At();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,au(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=At(),l=J.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=en++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[pt]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Hl.current,We(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||ql(l,!0)}else t=Un(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=We(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else ve(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=We(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else ve(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),vn(l,l.updateQueue),I(l),null);case 4:return Ne(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return rl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Pu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=tn(t),n!==null){for(l.flags|=128,Pu(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>bn&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304)}else{if(!a)if(t=tn(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),Pu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return I(l),null}else 2*Rt()-u.renderingStartTime>bn&&e!==536870912&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&vn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(Se),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),rl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yv(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return rl(it),Ne(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return pa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));ve()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));ve()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Ne(),null;case 10:return rl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return rl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:rl(it),Ne();break;case 26:case 27:case 5:pa(l);break;case 4:Ne();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:rl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(Se);break;case 24:rl(it)}}function ta(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Ll(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(v){Z(a,f,v)}}}u=u.next}while(u!==n)}}catch(v){Z(l,l.return,v)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function la(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;ur(u,t.type,e,l),u[pt]=l}catch(a){Z(t,t.return,a)}}function Ld(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Fl(t.type)||t.tag===4}function Lc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Ld(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Fl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(xc(t,l,e),t=t.sibling;t!==null;)xc(t,l,e),t=t.sibling}function rn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(rn(t,l,e),t=t.sibling;t!==null;)rn(t,l,e),t=t.sibling}function xd(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[pt]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,vt=null;function qv(t,l){if(t=t.containerInfo,hf=qn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,v=0,m=t,y=null;l:for(;;){for(var r;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(r=m.firstChild)!==null;)y=m,m=r;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++v===u&&(f=i),(r=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=r}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(vf={focusedElem:t,selectionRange:e},qn=!1,vt=l;vt!==null;)if(l=vt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,vt=t;else for(;vt!==null;){switch(l=vt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=A,A=i);var o=to(c,A),s=to(c,H);if(o&&s&&(r.rangeCount!==1||r.anchorNode!==o.node||r.anchorOffset!==o.offset||r.focusNode!==s.node||r.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),r.removeAllRanges(),A>H?(r.addRange(h),r.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),r.addRange(h))}}}}for(m=[],r=c;r=r.parentNode;)r.nodeType===1&&m.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=wl,i=Ol;if(dt=0,su=wl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ca(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Ou,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=xt(e,l),l=Rc(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Mu(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Jl===null||!Jl.has(u))){t=xt(e,t),e=Ad(2),u=Xl(l,e,2),u!==null&&(pd(e,u,l,t),Mu(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gv;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=xv.bind(null,t,l,e),l.then(t,t))}function xv(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-gn?!(X&2)&&ou(t,0):Wc|=e,fu===q&&(fu=0)),cl(t)}function Ay(t,l){l===0&&(l=ms()),t=ye(t,l),t!==null&&(Mu(t,l),cl(t))}function Kv(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function Jv(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),Ay(t,e)}function wv(t,l){return ri(t,l)}var On=null,yu=null,uf=!1,_n=!1,af=!1,Wl=0;function cl(t){t!==yu&&t.next===null&&(yu===null?On=yu=t:yu=yu.next=t),_n=!0,uf||(uf=!0,Wv())}function ca(t,l){if(!af&&_n){af=!0;do for(var e=!1,u=On;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Ua(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||_u(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $v(){py()}function py(){_n=uf=!1;var t=0;Wl!==0&&nr()&&(t=Wl);for(var l=Rt(),e=null,u=On;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?On=a:e.next=a,a===null&&(yu=e)):(e=u,(t!==0||n&3)&&(_n=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var v=f.transferSize,m=f.initiatorType;v&&Yy(m)&&(f=f.responseEnd,i+=v*(f"u"?null:document;function wy(t,l,e){var u=hu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function vr(t){_l.D(t),wy("dns-prefetch",t,null)}function rr(t,l){_l.C(t,l),wy("preconnect",t,l)}function mr(t,l,e){_l.L(t,l,e);var u=hu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=vu(t);break;case"script":n=ru(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(da(n))||l==="script"&&u.querySelector(ya(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sr(t,l){_l.m(t,l);var e=hu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ya(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gr(t,l,e){_l.S(t,l,e);var u=hu;if(u&&t){var a=qe(u).hoistableStyles,n=vu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(da(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,v){f.onload=d,f.onerror=v}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Rn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function br(t,l){_l.X(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Er(t,l){_l.M(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Hl.current)?Hn(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=vu(e.href),e=qe(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=vu(e.href);var n=qe(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(da(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zr(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=ru(e),e=qe(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function vu(t){return'href="'+Zt(t)+'"'}function da(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zr(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function ru(t){return'[src="'+Zt(t)+'"]'}function ya(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Rn(u,e.precedence,t),l.instance=u;case"stylesheet":a=vu(e.href);var n=t.querySelector(da(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Rn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ya(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Rn(u,e.precedence,t));return l.instance}function Rn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tr(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Ar(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=vu(u.href),n=l.querySelector(da(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Cn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Cn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Af=0;function pr(t,l){return t.stylesheets&&t.count===0&&Yn(t,t.stylesheets),0Af?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Cn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Yn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Bn=null;function Yn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Bn=new Map,l.forEach(Or,t),Bn=null,Cn.call(t))}function Or(t,l){if(!(l.state.loading&4)){var e=Bn.get(t);if(e)var u=e.get(null);else{e=new Map,Bn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ba;var Hf=Ff.exports;const Cr=ue({__proto__:null,default:Vf(Hf)},[Hf]);var vh={exports:{}},Ln={};/** * @license React * react-jsx-runtime.production.js * @@ -46,4 +46,4 @@ Error generating stack: `+u.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Br=Symbol.for("react.transitional.element"),Yr=Symbol.for("react.fragment");function rh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Br,type:t,key:u,ref:l!==void 0?l:null,props:e}}Zn.Fragment=Yr,Zn.jsx=rh,Zn.jsxs=rh,vh.exports=Zn;var pe=vh.exports;const mh=j.createContext(null);function Sh({namespace:t,children:l}){return pe.jsx(mh.Provider,{value:t,children:l})}function qr(){return j.useContext(mh)}function Vr(t,l){return l?`${l}-${t}`:t}function te(t,l){const e=qr();return Vr(t,l!==void 0?l:e)}function jr({id:t,tagName:l="div",namespace:e,...u}){const a=te(t,e),n=j.useRef(null);return j.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(v,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:v})};try{const v=window.Shiny.bindAll(c);v&&typeof v.catch=="function"&&v.catch(m=>f(m,"bindAll"))}catch(v){f(v,"bindAll")}return()=>{var v,m;try{(m=(v=window.Shiny)==null?void 0:v.unbindAll)==null||m.call(v,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const mu=Symbol("MISSING"),gh="1.0";function Gr(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xr(t){const l=e=>e.split(".")[0];if(l(t)!==l(gh))throw new Error(`shinyreact protocol mismatch: the server speaks protocol ${t} but this JS client supports ${gh}. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Qr(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gr();if(a!=null&&a.protocolVersion?Xr(a.protocolVersion):a!=null&&console.error("shinyreact: the #shinyreact-config tag carries no protocolVersion, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package."),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,Ln=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function Ah(){for(const t of Nf)t()}function ph(){Rf||(Rf=!0,Ah())}function Oh(t){Ln!==t&&(Ln=t,Ah())}function Zr(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(Ln=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(ph);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(ph)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return Zr(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return Ln}class Lr{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lr;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function xr(){nt()&&Hh()}class Kr{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class Jr{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Kr(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function wr(){const t=nt();if(!t)return;class l extends t.OutputBinding{find(u){return $(u).find(".shiny-react-output")}renderValue(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setValue(a)}renderError(u,a){var i;console.error(`Error for ${u.id}:`,a);const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);n&&n.setError(a)}showProgress(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setRecalculating(a)}}t.outputBindings.register(new l,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const ma=class ma{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ma.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${ma.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===mu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(ma,"DEFAULT_TYPE","shinyreact.default");let Bf=ma;class $r{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new $r,outputs:new Jr}),Rh}function Wr(){ll()}function ll(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function xn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current;let d=f;const m=ll().inputs.get(i);m&&(d=m.getValue());const[y,r]=j.useState(d),b=Oe();j.useEffect(()=>{if(!b)return;const o=ll().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(r),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(r)}},[i,b,e,u,f,n]);const A=j.useCallback(H=>{if(!b)return;const s=ll().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,A]}const Kn=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=j.useState(l),n=Oe();Su();const i=te(t,e),c=j.useRef(l);return j.useEffect(()=>{if(!n)return;const f=ll();return a(c.current),f.outputs.add(i,a,Kn,Kn)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=j.useState("pending"),a=Oe();Su();const n=te(t,l);return j.useEffect(()=>a?ll().outputs.add(n,Kn,u,Kn):void 0,[n,a]),e}function Fr(t,{namespace:l}={}){Su();const e=te(t,l),[u,a]=j.useState(()=>{const i=ll().inputs.get(e);if(!i)return;const c=i.getValue();return c===mu?void 0:c}),n=Oe();return j.useEffect(()=>n?ll().inputs.subscribe(e,f=>{a(f===mu?void 0:f)}):void 0,[e,n]),u}function kr(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current,d=Oe();return j.useEffect(()=>{if(!d)return;const m=ll().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),j.useCallback(v=>{if(!d)return;const y=ll().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(v)},[i,d])}function Ir(t,l,{namespace:e}={}){const u=Oe();Su();const a=te(t,e),n=j.useRef(l);n.current=l,j.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function Oe(){return j.useSyncExternalStore(_h,Mh,Mh)}function Pr(){return j.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function Su(){Yh||(Wr(),Qr(ll().inputs),wr(),xr(),Yh=!0)}function tm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=te(t,i),f={namespace:null},[d,v]=xn(`.clientdata_output_${c}_width`,mu,f),[m,y]=xn(`.clientdata_output_${c}_height`,mu,f),[r]=xn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),A=Bh(c,f),H=j.useRef(null),o=j.useRef(null),[s,h]=j.useState(0);j.useEffect(()=>{b&&h(E=>E+1)},[b]),j.useEffect(()=>{n&&n(A==="recalculating")},[A,n]);const S=j.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(v(E),y(_))}},[v,y]);return j.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(p=>{for(const M of p)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,v,y,a,S]),j.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(v(M),y(R))};_();const z=Cf(_,a),p=new ResizeObserver(()=>z());return p.observe(E),()=>{p.disconnect(),z.cancel()}},[b,v,y,a]),r?null:b?pe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):pe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:pe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:pe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?pe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?pe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function lm(){window.shinyreact={useSetShinyInput:kr,useShinyBusy:Pr,useShinyInput:xn,useShinyInputValue:Fr,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Ir,useShinyInitialized:Oe,ImageOutput:tm,MISSING:mu,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jr,React:Wf,ReactDOM:Cr}}lm(),jh()})(); + */var Br=Symbol.for("react.transitional.element"),Yr=Symbol.for("react.fragment");function rh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Br,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Yr,Ln.jsx=rh,Ln.jsxs=rh,vh.exports=Ln;var Oe=vh.exports;const mh=V.createContext(null);function Sh({namespace:t,children:l}){return Oe.jsx(mh.Provider,{value:t,children:l})}function qr(){return V.useContext(mh)}function Vr(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=qr();return Vr(t,l!==void 0?l:e)}function jr({id:t,tagName:l="div",namespace:e,...u}){const a=Ml(t,e),n=V.useRef(null);return V.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(v,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:v})};try{const v=window.Shiny.bindAll(c);v&&typeof v.catch=="function"&&v.catch(m=>f(m,"bindAll"))}catch(v){f(v,"bindAll")}return()=>{var v,m;try{(m=(v=window.Shiny)==null?void 0:v.unbindAll)==null||m.call(v,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const Su=Symbol("MISSING"),gh="1.0";function Gr(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xr(t){const l=e=>e.split(".")[0];if(l(t)!==l(gh))throw new Error(`shinyreact protocol mismatch: the server speaks protocol ${t} but this JS client supports ${gh}. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Qr(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gr();if(a!=null&&a.protocolVersion?Xr(a.protocolVersion):a!=null&&console.error("shinyreact: the #shinyreact-config tag carries no protocolVersion, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package."),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,xn=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function Ah(){for(const t of Nf)t()}function ph(){Rf||(Rf=!0,Ah())}function Oh(t){xn!==t&&(xn=t,Ah())}function Zr(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(xn=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(ph);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(ph)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return Zr(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return xn}class Lr{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lr;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function xr(){nt()&&Hh()}class Kr{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){if(l.message===""){this.setValue(null);return}this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class Jr{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Kr(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function wr(){const t=nt();if(!t)return;class l extends t.OutputBinding{find(u){return $(u).find(".shiny-react-output")}renderValue(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setValue(a)}renderError(u,a){var i;console.error(`Error for ${u.id}:`,a);const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);n&&n.setError(a)}showProgress(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setRecalculating(a)}}t.outputBindings.register(new l,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const Sa=class Sa{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??Sa.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${Sa.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===Su){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(Sa,"DEFAULT_TYPE","shinyreact.default");let Bf=Sa;class $r{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new $r,outputs:new Jr}),Rh}function Wr(){kt()}function kt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Kn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current;let d=f;const m=kt().inputs.get(i);m&&(d=m.getValue());const[y,r]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=kt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(r),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(r)}},[i,b,e,u,f,n]);const A=V.useCallback(H=>{if(!b)return;const s=kt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,A]}const gu=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();_e();const i=Ml(t,e),c=V.useRef(l);return V.useEffect(()=>{if(!n)return;const f=kt();return a(c.current),f.outputs.add(i,a,gu,gu)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?kt().outputs.add(n,gu,u,gu):void 0,[n,a]),e}function Fr(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),kt().outputs.add(n,gu,gu,u)):void 0,[n,a]),e}function kr(t,{namespace:l}={}){_e();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=kt().inputs.get(e);if(!i)return;const c=i.getValue();return c===Su?void 0:c}),n=le();return V.useEffect(()=>n?kt().inputs.subscribe(e,f=>{a(f===Su?void 0:f)}):void 0,[e,n]),u}function Ir(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=kt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),V.useCallback(v=>{if(!d)return;const y=kt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(v)},[i,d])}function Pr(t,l,{namespace:e}={}){const u=le();_e();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(_h,Mh,Mh)}function tm(){return V.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function _e(){Yh||(Wr(),Qr(kt().inputs),wr(),xr(),Yh=!0)}function lm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=Ml(t,i),f={namespace:null},[d,v]=Kn(`.clientdata_output_${c}_width`,Su,f),[m,y]=Kn(`.clientdata_output_${c}_height`,Su,f),[r]=Kn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),A=Bh(c,f),H=V.useRef(null),o=V.useRef(null),[s,h]=V.useState(0);V.useEffect(()=>{b&&h(E=>E+1)},[b]),V.useEffect(()=>{n&&n(A==="recalculating")},[A,n]);const S=V.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(v(E),y(_))}},[v,y]);return V.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(p=>{for(const M of p)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,v,y,a,S]),V.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(v(M),y(R))};_();const z=Cf(_,a),p=new ResizeObserver(()=>z());return p.observe(E),()=>{p.disconnect(),z.cancel()}},[b,v,y,a]),r?null:b?Oe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Oe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Oe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Oe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Oe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Oe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function em(){window.shinyreact={useSetShinyInput:Ir,useShinyBusy:tm,useShinyInput:Kn,useShinyInputValue:kr,useShinyOutputError:Fr,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Pr,useShinyInitialized:le,ImageOutput:lm,MISSING:Su,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jr,React:Wf,ReactDOM:Cr}}em(),jh()})(); diff --git a/pkg-py/tests/playwright/apps/output-error/app.py b/pkg-py/tests/playwright/apps/output-error/app.py new file mode 100644 index 00000000..a3189f6a --- /dev/null +++ b/pkg-py/tests/playwright/apps/output-error/app.py @@ -0,0 +1,15 @@ +from shiny import req +from shiny.express import input +from shinyreact import reactive_output, set_react_page + +set_react_page() + + +@reactive_output +def answer(): + n = input.n() + # n < 0 is a *silent* error: no message reaches the client. + req(n is not None and n >= 0) + if n == 0: + raise ValueError("invalid number of 'breaks'") + return f"ok: {n}" diff --git a/pkg-py/tests/playwright/apps/output-error/www/app.js b/pkg-py/tests/playwright/apps/output-error/www/app.js new file mode 100644 index 00000000..64fd5ae6 --- /dev/null +++ b/pkg-py/tests/playwright/apps/output-error/www/app.js @@ -0,0 +1,33 @@ +const { + React, + ReactDOM, + useShinyInput, + useShinyOutputError, + useShinyOutputStatus, + useShinyOutputValue, +} = window.shinyreact; + +const h = React.createElement; + +function App() { + const [n, setN] = useShinyInput("n", 1, { debounceMs: 0 }); + const value = useShinyOutputValue("answer"); + const status = useShinyOutputStatus("answer"); + const error = useShinyOutputError("answer"); + + return h( + "div", + { "data-test": "container" }, + h("input", { + "data-test": "input", + type: "number", + value: n, + onChange: (e) => setN(Number(e.target.value)), + }), + h("span", { "data-test": "value" }, value ?? ""), + h("span", { "data-test": "status" }, status), + h("span", { "data-test": "error" }, error ? error.message : ""), + ); +} + +ReactDOM.createRoot(document.getElementById("root")).render(h(App)); diff --git a/pkg-py/tests/playwright/apps/output-error/www/index.html b/pkg-py/tests/playwright/apps/output-error/www/index.html new file mode 100644 index 00000000..d6cda327 --- /dev/null +++ b/pkg-py/tests/playwright/apps/output-error/www/index.html @@ -0,0 +1,16 @@ + +

+ Type a number. 1 renders ok: 1; 0 + renders the server's error text + invalid number of 'breaks' with status error; a + negative number is a silent req() — no error text, and the + value goes blank. +

+
+ diff --git a/pkg-py/tests/playwright/test_output_error.py b/pkg-py/tests/playwright/test_output_error.py new file mode 100644 index 00000000..8c1819fc --- /dev/null +++ b/pkg-py/tests/playwright/test_output_error.py @@ -0,0 +1,47 @@ +from playwright.sync_api import Page, expect +from shiny.pytest import create_app_fixture +from shiny.run import ShinyAppProc + +output_error_app = create_app_fixture("apps/output-error/app.py") + + +def test_output_error_message_reaches_the_client( + page: Page, output_error_app: ShinyAppProc +) -> None: + """`useShinyOutputError` exposes the server exception's text, so an app can + reproduce vanilla Shiny's error UI (#257).""" + page.goto(output_error_app.url) + + value = page.locator("[data-test=value]") + status = page.locator("[data-test=status]") + error = page.locator("[data-test=error]") + + expect(value).to_have_text("ok: 1") + expect(status).to_have_text("ready") + expect(error).to_be_empty() + + page.locator("[data-test=input]").fill("0") + expect(error).to_have_text("invalid number of 'breaks'") + expect(status).to_have_text("error") + + # Recovering clears the error. + page.locator("[data-test=input]").fill("2") + expect(value).to_have_text("ok: 2") + expect(status).to_have_text("ready") + expect(error).to_be_empty() + + +def test_silent_error_delivers_no_message( + page: Page, output_error_app: ShinyAppProc +) -> None: + """`req()` stays silent: no error message, and the value blanks — matching + vanilla Shiny, which empties the output element.""" + page.goto(output_error_app.url) + + value = page.locator("[data-test=value]") + expect(value).to_have_text("ok: 1") + + page.locator("[data-test=input]").fill("-1") + expect(value).to_be_empty() + expect(page.locator("[data-test=error]")).to_be_empty() + expect(page.locator("[data-test=status]")).to_have_text("ready") diff --git a/pkg-r/inst/lib/shiny/shinyreact.js b/pkg-r/inst/lib/shiny/shinyreact.js index 2acd5f19..a6b94cfc 100644 --- a/pkg-r/inst/lib/shiny/shinyreact.js +++ b/pkg-r/inst/lib/shiny/shinyreact.js @@ -1,4 +1,4 @@ -var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0,configurable:!0,writable:!0,value:ue}):ee[nt]=ue;var K=(ee,nt,ue)=>am(ee,typeof nt!="symbol"?nt+"":nt,ue);(function(){"use strict";function ee(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ue=!1;function jh(){if(typeof document>"u"||ue)return;ue=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** +var am=Object.defineProperty;var nm=(ue,nt,ae)=>nt in ue?am(ue,nt,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[nt]=ae;var K=(ue,nt,ae)=>nm(ue,typeof nt!="symbol"?nt+"":nt,ae);(function(){"use strict";function ue(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ae=!1;function jh(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wn=Symbol.for("react.transitional.element"),Gh=Symbol.for("react.portal"),Xh=Symbol.for("react.fragment"),Qh=Symbol.for("react.strict_mode"),Zh=Symbol.for("react.profiler"),Lh=Symbol.for("react.consumer"),xh=Symbol.for("react.context"),Kh=Symbol.for("react.forward_ref"),Jh=Symbol.for("react.suspense"),wh=Symbol.for("react.memo"),Gf=Symbol.for("react.lazy"),$h=Symbol.for("react.activity"),Xf=Symbol.iterator;function Wh(t){return t===null||typeof t!="object"?null:(t=Xf&&t[Xf]||t["@@iterator"],typeof t=="function"?t:null)}var Qf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Zf=Object.assign,Lf={};function Me(t,l,e){this.props=t,this.context=l,this.refs=Lf,this.updater=e||Qf}Me.prototype.isReactComponent={},Me.prototype.setState=function(t,l){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,l,"setState")},Me.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function xf(){}xf.prototype=Me.prototype;function Fn(t,l,e){this.props=t,this.context=l,this.refs=Lf,this.updater=e||Qf}var kn=Fn.prototype=new xf;kn.constructor=Fn,Zf(kn,Me.prototype),kn.isPureReactComponent=!0;var Kf=Array.isArray;function In(){}var W={H:null,A:null,T:null,S:null},Jf=Object.prototype.hasOwnProperty;function Pn(t,l,e){var u=e.ref;return{$$typeof:Wn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function Fh(t,l){return Pn(t.type,l,t.props)}function ti(t){return typeof t=="object"&&t!==null&&t.$$typeof===Wn}function kh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var wf=/\/+/g;function li(t,l){return typeof t=="object"&&t!==null&&t.key!=null?kh(""+t.key):l.toString(36)}function Ih(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(In,In):(t.status="pending",t.then(function(l){t.status==="pending"&&(t.status="fulfilled",t.value=l)},function(l){t.status==="pending"&&(t.status="rejected",t.reason=l)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function De(t,l,e,u,a){var n=typeof t;(n==="undefined"||n==="boolean")&&(t=null);var i=!1;if(t===null)i=!0;else switch(n){case"bigint":case"string":case"number":i=!0;break;case"object":switch(t.$$typeof){case Wn:case Gh:i=!0;break;case Gf:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+li(t,0):u,Kf(a)?(e="",i!=null&&(e=i.replace(wf,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(ti(a)&&(a=Fh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace(wf,"$&/")+"/")+i)),l.push(a)),1;i=0;var c=u===""?".":u+":";if(Kf(t))for(var f=0;fnt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,rt=T[at];if(0>>1;ata(qf,N))_ea($n,qf)?(T[at]=$n,T[_e]=N,at=_e):(T[at]=qf,T[wn]=N,at=wn);else if(_ea($n,N))T[at]=$n,T[_e]=N,at=_e;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],v=1,m=null,y=3,r=!1,b=!1,A=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(A=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,le());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,p=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var rt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof rt=="function"){m.callback=rt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,r=!1}Y=void 0}}finally{Y?le():_=!1}}}var le;if(typeof h=="function")le=function(){h(kt)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,em=Vh.port2;Vh.port1.onmessage=kt,le=function(){em.postMessage(null)}}else le=function(){o(kt,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(A?(s(z),z=-1):A=!0,Yf(E,N-at))):(T.sortIndex=rt,l(f,T),b||r||(b=!0,_||(_=!0,le()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** + */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,rt=T[at];if(0>>1;ata(qf,N))Mea($n,qf)?(T[at]=$n,T[Me]=N,at=Me):(T[at]=qf,T[wn]=N,at=wn);else if(Mea($n,N))T[at]=$n,T[Me]=N,at=Me;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],v=1,m=null,y=3,r=!1,b=!1,A=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(A=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,ee());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,p=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var rt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof rt=="function"){m.callback=rt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,r=!1}Y=void 0}}finally{Y?ee():_=!1}}}var ee;if(typeof h=="function")ee=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,um=Vh.port2;Vh.port1.onmessage=It,ee=function(){um.postMessage(null)}}else ee=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(A?(s(z),z=-1):A=!0,Yf(E,N-at))):(T.sortIndex=rt,l(f,T),b||r||(b=!0,_||(_=!0,ee()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var e0=j;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** + */var e0=V;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var um=Object.defineProperty;var am=(ee,nt,ue)=>nt in ee?um(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ot=l0,es=j,i0=n0;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=si[He],si[He]=null,He--)}function w(t,l){He++,si[He]=t.current,t.current=l}var ul=el(null),Au=el(null),Ul=el(null),za=el(null);function Ta(t,l){switch(w(Ul,l),w(Au,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Re(){yt(ul),yt(Au),yt(Ul)}function oi(t){t.memoizedState!==null&&w(za,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(Au,t),w(ul,e))}function Aa(t){Au.current===t&&(yt(ul),yt(Au)),za.current===t&&(yt(za),ya._currentValue=ae)}var di,ds;function ne(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1Re||(t.current=si[Re],si[Re]=null,Re--)}function w(t,l){Re++,si[Re]=t.current,t.current=l}var ul=el(null),pu=el(null),Hl=el(null),Ta=el(null);function Aa(t,l){switch(w(Hl,l),w(pu,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Ne(){yt(ul),yt(pu),yt(Hl)}function oi(t){t.memoizedState!==null&&w(Ta,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(pu,t),w(ul,e))}function pa(t){pu.current===t&&(yt(ul),yt(pu)),Ta.current===t&&(yt(Ta),ha._currentValue=ne)}var di,ds;function ie(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1)":-1a||f[u]!==d[a]){var v=` -`+f[u].replace(" at new "," at ");return t.displayName&&v.includes("")&&(v=v.replace("",t.displayName)),v}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ne(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ne(t.type);case 16:return ne("Lazy");case 13:return t.child!==l&&l!==null?ne("Suspense Fallback"):ne("Suspense");case 19:return ne("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ne("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+f[u].replace(" at new "," at ");return t.displayName&&v.includes("")&&(v=v.replace("",t.displayName)),v}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ie(t.type);case 16:return ie("Lazy");case 13:return t.child!==l&&l!==null?ie("Suspense Fallback"):ie("Suspense");case 19:return ie("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ie("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}var vi=Object.prototype.hasOwnProperty,ri=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,v0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,pa=ot.unstable_NormalPriority,r0=ot.unstable_LowPriority,rs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,pu=null,Nt=null;function Hl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(pu,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var Oa=256,_a=262144,Ma=4194304;function ie(t){var l=t&42;if(l!==0)return l;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Da(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ie(u):(i&=c,i!==0?a=ie(i):e||(e=c&~t,e!==0&&(a=ie(e))))):(c=u&~n,c!==0?a=ie(c):i!==0?a=ie(i):e||(e=u&~t,e!==0&&(a=ie(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function Ou(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Ma;return Ma<<=1,!(Ma&62914560)&&(Ma=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function _u(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?pi(t,i,Qt(l)):e!=null?pi(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function pi(t,l,e){l==="number"&&Ra(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function Ve(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Hu={};Object.defineProperty(Hu,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Hu,Hu),window.removeEventListener("test",Hu,Hu)}catch{Ui=!1}var Nl=null,Hi=null,Ca=null;function qs(){if(Ca)return Ca;var t,l=Hi,e=l.length,u,a="value"in Nl?Nl.value:Nl.textContent,n=a.length;for(t=0;t=Cu),Zs=" ",Ls=!1;function xs(t,l){switch(t){case"keyup":return ev.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function av(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(Ls=!0,Zs);case"textInput":return t=l.data,t===Zs&&Ls?null:t;default:return null}}function nv(t,l){if(Qe)return t==="compositionend"||!Yi&&xs(t,l)?(t=qs(),Ca=Hi=Nl=null,Qe=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ra(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Ra(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hv=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Gi=null,Vu=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Ze==null||Ze!==Ra(u)||(u=Ze,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Vu&&qu(Vu,u)||(Vu=u,u=Mn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<p?(M=z,z=null):M=z.sibling;var R=y(o,z,h[p],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R,z=M}if(p===h.length)return e(o,z),V&&hl(o,p),E;if(z===null){for(;pp?(M=z,z=null):M=z.sibling;var kt=y(o,z,R.value,S);if(kt===null){z===null&&(z=M);break}t&&z&&kt.alternate===null&&l(o,z),s=n(kt,s,p),_===null?E=kt:_.sibling=kt,_=kt,z=M}if(R.done)return e(o,z),V&&hl(o,p),E;if(z===null){for(;!R.done;p++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return V&&hl(o,p),E}for(z=u(z);!R.done;p++,R=h.next())R=r(z,o,p,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?p:R.key),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(le){return l(o,le)}),V&&hl(o,p),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===Ue&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case Ea:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===Ue){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Dl&&Se(E)===s.type){e(o,s.sibling),S=a(s,h.props),Lu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=ye(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=La(h.type,h.key,h.props,null,o.mode,S),Lu(S,h),S.return=o,o=S)}return i(o);case Eu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Dl:return h=Se(h),H(o,s,h,S)}if(Tu(h))return b(o,s,h,S);if(zu(h)){if(E=zu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),A(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Fa(h),S);if(h.$$typeof===fl)return H(o,s,Ja(o,h),S);ka(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Zu=0;var E=H(o,s,h,S);return Pe=null,E}catch(z){if(z===Ie||z===$a)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var be=Mo(!0),Do=Mo(!1),Vl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function jl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Gl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=Za(t),oo(t,null,e),l}return Qa(t,u,l,e),Za(t)}function xu(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ku(){if(fc){var t=ke;if(t!==null)throw t}}function Ju(t,l,e,u){fc=!1;var a=t.updateQueue;Vl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var v=t.alternate;v!==null&&(v=v.updateQueue,c=v.lastBaseUpdate,c!==i&&(c===null?v.firstBaseUpdate=d:c.next=d,v.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,v=d=f=null,c=n;do{var y=c.lane&-536870913,r=y!==c.lane;if(r?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(fc=!0),v!==null&&(v=v.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,A=c;y=l;var H=e;switch(A.tag){case 1:if(b=A.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=A.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:Vl=!0}}y=c.callback,y!==null&&(t.flags|=64,r&&(t.flags|=8192),r=a.callbacks,r===null?a.callbacks=[y]:r.push(y))}else r={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},v===null?(d=v=r,f=m):v=v.next=r,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;r=c,c=r.next,r.next=null,a.lastBaseUpdate=r,a.shared.pending=null}}while(!0);v===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=v,n===null&&(a.shared.lanes=0),xl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var v=Tv(f,u);Wu(t,l,v,Xt(t))}else Wu(t,l,u,Xt(t))}catch(m){Wu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dv(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ae,e===null?Dv:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ae},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Wu(t,l.next.queue,{},Xt())}function _c(){return gt(ya)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Uv(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=jl(e);var u=Gl(l,t,e);u!==null&&(Ht(u,l,e),xu(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hv(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},fn(t)?hd(l,e):(e=xi(t,l,e,u),e!==null&&(Ht(e,t,u),vd(e,l,u)))}function yd(t,l,e){var u=Xt();Wu(t,l,e,u)}function Wu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(fn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Qa(t,l,a,0),J===null&&Xa(),!1}catch{}finally{}if(e=xi(t,l,a,u),e!==null)return Ht(e,t,u),vd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},fn(t)){if(l)throw Error(g(479))}else l=xi(t,e,u,2),l!==null&&Ht(l,t,2)}function fn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){lu=tn=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function vd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var Fu={readContext:gt,use:un,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};Fu.useEffectEvent=tt;var rd={readContext:gt,use:un,useCallback:function(t,l){return At().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,nn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return nn(4194308,4,t,l)},useInsertionEffect:function(t,l){nn(4,2,t,l)},useMemo:function(t,l){var e=At();l=l===void 0?null:l;var u=t();if(Ee){Hl(!0);try{t()}finally{Hl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=At();if(e!==void 0){var a=e(l);if(Ee){Hl(!0);try{e(l)}finally{Hl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hv.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=At();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Ac,useDeferredValue:function(t,l){var e=At();return pc(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),At().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=At();if(V){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=At(),l=J.identifierPrefix;if(V){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=ln++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[pt]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Ul.current,$e(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||Yl(l,!0)}else t=Dn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=$e(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=$e(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),hn(l,l.updateQueue),I(l),null);case 4:return Re(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return rl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Iu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=Pa(t),n!==null){for(l.flags|=128,Iu(u,!1),t=n.updateQueue,l.updateQueue=t,hn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),V&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>gn&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304)}else{if(!a)if(t=Pa(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,hn(l,t),Iu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!V)return I(l),null}else 2*Rt()-u.renderingStartTime>gn&&e!==536870912&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),V&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&hn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(me),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),rl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yv(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return rl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Aa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Re(),null;case 10:return rl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(me),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return rl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:rl(it),Re();break;case 26:case 27:case 5:Aa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:rl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(me);break;case 24:rl(it)}}function Pu(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Zl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(v){Z(a,f,v)}}}u=u.next}while(u!==n)}}catch(v){Z(l,l.return,v)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=ze(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ta(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;ur(u,t.type,e,l),u[pt]=l}catch(a){Z(t,t.return,a)}}function Ld(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Wl(t.type)||t.tag===4}function Lc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Ld(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Wl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(xc(t,l,e),t=t.sibling;t!==null;)xc(t,l,e),t=t.sibling}function vn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(vn(t,l,e),t=t.sibling;t!==null;)vn(t,l,e),t=t.sibling}function xd(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[pt]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,vt=null;function qv(t,l){if(t=t.containerInfo,hf=Yn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,v=0,m=t,y=null;l:for(;;){for(var r;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(r=m.firstChild)!==null;)y=m,m=r;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++v===u&&(f=i),(r=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=r}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(vf={focusedElem:t,selectionRange:e},Yn=!1,vt=l;vt!==null;)if(l=vt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,vt=t;else for(;vt!==null;){switch(l=vt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=A,A=i);var o=to(c,A),s=to(c,H);if(o&&s&&(r.rangeCount!==1||r.anchorNode!==o.node||r.anchorOffset!==o.offset||r.focusNode!==s.node||r.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),r.removeAllRanges(),A>H?(r.addRange(h),r.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),r.addRange(h))}}}}for(m=[],r=c;r=r.parentNode;)r.nodeType===1&&m.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=Jl,i=Ol;if(dt=0,fu=Jl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ia(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(pu,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=xt(e,l),l=Rc(t.stateNode,l,2),t=Gl(t,l,2),t!==null&&(_u(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Kl===null||!Kl.has(u))){t=xt(e,t),e=Ad(2),u=Gl(l,e,2),u!==null&&(pd(e,u,l,t),_u(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gv;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=xv.bind(null,t,l,e),l.then(t,t))}function xv(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-Sn?!(X&2)&&su(t,0):Wc|=e,cu===q&&(cu=0)),cl(t)}function Ay(t,l){l===0&&(l=ms()),t=de(t,l),t!==null&&(_u(t,l),cl(t))}function Kv(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function Jv(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),Ay(t,e)}function wv(t,l){return ri(t,l)}var pn=null,du=null,uf=!1,On=!1,af=!1,$l=0;function cl(t){t!==du&&t.next===null&&(du===null?pn=du=t:du=du.next=t),On=!0,uf||(uf=!0,Wv())}function ia(t,l){if(!af&&On){af=!0;do for(var e=!1,u=pn;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Da(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Ou(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $v(){py()}function py(){On=uf=!1;var t=0;$l!==0&&nr()&&(t=$l);for(var l=Rt(),e=null,u=pn;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?pn=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(On=!0)),u=a}dt!==0&&dt!==5||ia(t),$l!==0&&($l=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var v=f.transferSize,m=f.initiatorType;v&&Yy(m)&&(f=f.responseEnd,i+=v*(f"u"?null:document;function wy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function vr(t){_l.D(t),wy("dns-prefetch",t,null)}function rr(t,l){_l.C(t,l),wy("preconnect",t,l)}function mr(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=vu(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(oa(n))||l==="script"&&u.querySelector(da(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sr(t,l){_l.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=vu(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(da(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gr(t,l,e){_l.S(t,l,e);var u=yu;if(u&&t){var a=Ye(u).hoistableStyles,n=hu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(oa(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,v){f.onload=d,f.onerror=v}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Hn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function br(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Er(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Ul.current)?Un(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=hu(e.href),e=Ye(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=hu(e.href);var n=Ye(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(oa(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zr(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=vu(e),e=Ye(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function hu(t){return'href="'+Zt(t)+'"'}function oa(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zr(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function vu(t){return'[src="'+Zt(t)+'"]'}function da(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Hn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(oa(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Hn(n,e.precedence,t),l.instance=n;case"script":return n=vu(e.src),(a=t.querySelector(da(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Hn(u,e.precedence,t));return l.instance}function Hn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tr(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Ar(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=hu(u.href),n=l.querySelector(oa(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Nn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Nn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Af=0;function pr(t,l){return t.stylesheets&&t.count===0&&Bn(t,t.stylesheets),0Af?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Nn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Bn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Cn=null;function Bn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Cn=new Map,l.forEach(Or,t),Cn=null,Nn.call(t))}function Or(t,l){if(!(l.state.loading&4)){var e=Cn.get(t);if(e)var u=e.get(null);else{e=new Map,Cn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ga;var Hf=Ff.exports;const Cr=ee({__proto__:null,default:Vf(Hf)},[Hf]);var vh={exports:{}},Zn={};/** +`+u.stack}}var vi=Object.prototype.hasOwnProperty,ri=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,v0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,Oa=ot.unstable_NormalPriority,r0=ot.unstable_LowPriority,rs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Ou=null,Nt=null;function Rl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Ou,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var _a=256,Ma=262144,Da=4194304;function ce(t){var l=t&42;if(l!==0)return l;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ua(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ce(u):(i&=c,i!==0?a=ce(i):e||(e=c&~t,e!==0&&(a=ce(e))))):(c=u&~n,c!==0?a=ce(c):i!==0?a=ce(i):e||(e=u&~t,e!==0&&(a=ce(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function _u(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Da;return Da<<=1,!(Da&62914560)&&(Da=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Mu(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?pi(t,i,Qt(l)):e!=null?pi(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function pi(t,l,e){l==="number"&&Na(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function je(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Ru={};Object.defineProperty(Ru,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Ru,Ru),window.removeEventListener("test",Ru,Ru)}catch{Ui=!1}var Cl=null,Hi=null,Ba=null;function qs(){if(Ba)return Ba;var t,l=Hi,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Bu),Zs=" ",Ls=!1;function xs(t,l){switch(t){case"keyup":return ev.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ze=!1;function av(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(Ls=!0,Zs);case"textInput":return t=l.data,t===Zs&&Ls?null:t;default:return null}}function nv(t,l){if(Ze)return t==="compositionend"||!Yi&&xs(t,l)?(t=qs(),Ba=Hi=Cl=null,Ze=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Na(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Na(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hv=dl&&"documentMode"in document&&11>=document.documentMode,Le=null,Gi=null,ju=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Le==null||Le!==Na(u)||(u=Le,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),ju&&Vu(ju,u)||(ju=u,u=Dn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<p?(M=z,z=null):M=z.sibling;var R=y(o,z,h[p],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R,z=M}if(p===h.length)return e(o,z),j&&hl(o,p),E;if(z===null){for(;pp?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,p),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),j&&hl(o,p),E;if(z===null){for(;!R.done;p++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return j&&hl(o,p),E}for(z=u(z);!R.done;p++,R=h.next())R=r(z,o,p,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?p:R.key),s=n(R,s,p),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(ee){return l(o,ee)}),j&&hl(o,p),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===He&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case za:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===He){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ul&&ge(E)===s.type){e(o,s.sibling),S=a(s,h.props),xu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===He?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=xa(h.type,h.key,h.props,null,o.mode,S),xu(S,h),S.return=o,o=S)}return i(o);case zu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Ul:return h=ge(h),H(o,s,h,S)}if(Au(h))return b(o,s,h,S);if(Tu(h)){if(E=Tu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),A(o,s,h,S)}if(typeof h.then=="function")return H(o,s,ka(h),S);if(h.$$typeof===fl)return H(o,s,wa(o,h),S);Ia(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var E=H(o,s,h,S);return tu=null,E}catch(z){if(z===Pe||z===Wa)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var Ee=Mo(!0),Do=Mo(!1),jl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Xl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=La(t),oo(t,null,e),l}return Za(t,u,l,e),La(t)}function Ku(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ju(){if(fc){var t=Ie;if(t!==null)throw t}}function wu(t,l,e,u){fc=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var v=t.alternate;v!==null&&(v=v.updateQueue,c=v.lastBaseUpdate,c!==i&&(c===null?v.firstBaseUpdate=d:c.next=d,v.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,v=d=f=null,c=n;do{var y=c.lane&-536870913,r=y!==c.lane;if(r?(q&y)===y:(u&y)===y){y!==0&&y===ke&&(fc=!0),v!==null&&(v=v.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,A=c;y=l;var H=e;switch(A.tag){case 1:if(b=A.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=A.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:jl=!0}}y=c.callback,y!==null&&(t.flags|=64,r&&(t.flags|=8192),r=a.callbacks,r===null?a.callbacks=[y]:r.push(y))}else r={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},v===null?(d=v=r,f=m):v=v.next=r,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;r=c,c=r.next,r.next=null,a.lastBaseUpdate=r,a.shared.pending=null}}while(!0);v===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=v,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var v=Tv(f,u);Fu(t,l,v,Xt(t))}else Fu(t,l,u,Xt(t))}catch(m){Fu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dv(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ne,e===null?Dv:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Fu(t,l.next.queue,{},Xt())}function _c(){return gt(ha)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Uv(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Ht(u,l,e),Ku(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hv(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},sn(t)?hd(l,e):(e=xi(t,l,e,u),e!==null&&(Ht(e,t,u),vd(e,l,u)))}function yd(t,l,e){var u=Xt();Fu(t,l,e,u)}function Fu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(sn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Za(t,l,a,0),J===null&&Qa(),!1}catch{}finally{}if(e=xi(t,l,a,u),e!==null)return Ht(e,t,u),vd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},sn(t)){if(l)throw Error(g(479))}else l=xi(t,e,u,2),l!==null&&Ht(l,t,2)}function sn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){eu=ln=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function vd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var ku={readContext:gt,use:an,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};ku.useEffectEvent=tt;var rd={readContext:gt,use:an,useCallback:function(t,l){return At().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return cn(4194308,4,t,l)},useInsertionEffect:function(t,l){cn(4,2,t,l)},useMemo:function(t,l){var e=At();l=l===void 0?null:l;var u=t();if(ze){Rl(!0);try{t()}finally{Rl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=At();if(e!==void 0){var a=e(l);if(ze){Rl(!0);try{e(l)}finally{Rl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hv.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=At();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Ac,useDeferredValue:function(t,l){var e=At();return pc(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),At().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=At();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,au(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=At(),l=J.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=en++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[pt]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Hl.current,We(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||ql(l,!0)}else t=Un(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=We(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else ve(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=We(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else ve(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),vn(l,l.updateQueue),I(l),null);case 4:return Ne(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return rl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Pu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=tn(t),n!==null){for(l.flags|=128,Pu(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>bn&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304)}else{if(!a)if(t=tn(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),Pu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return I(l),null}else 2*Rt()-u.renderingStartTime>bn&&e!==536870912&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&vn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(Se),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),rl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yv(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return rl(it),Ne(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return pa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));ve()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));ve()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Ne(),null;case 10:return rl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return rl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:rl(it),Ne();break;case 26:case 27:case 5:pa(l);break;case 4:Ne();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:rl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(Se);break;case 24:rl(it)}}function ta(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Ll(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(v){Z(a,f,v)}}}u=u.next}while(u!==n)}}catch(v){Z(l,l.return,v)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function la(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;ur(u,t.type,e,l),u[pt]=l}catch(a){Z(t,t.return,a)}}function Ld(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Fl(t.type)||t.tag===4}function Lc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Ld(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Fl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(xc(t,l,e),t=t.sibling;t!==null;)xc(t,l,e),t=t.sibling}function rn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(rn(t,l,e),t=t.sibling;t!==null;)rn(t,l,e),t=t.sibling}function xd(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[pt]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,vt=null;function qv(t,l){if(t=t.containerInfo,hf=qn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,v=0,m=t,y=null;l:for(;;){for(var r;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(r=m.firstChild)!==null;)y=m,m=r;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++v===u&&(f=i),(r=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=r}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(vf={focusedElem:t,selectionRange:e},qn=!1,vt=l;vt!==null;)if(l=vt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,vt=t;else for(;vt!==null;){switch(l=vt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=A,A=i);var o=to(c,A),s=to(c,H);if(o&&s&&(r.rangeCount!==1||r.anchorNode!==o.node||r.anchorOffset!==o.offset||r.focusNode!==s.node||r.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),r.removeAllRanges(),A>H?(r.addRange(h),r.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),r.addRange(h))}}}}for(m=[],r=c;r=r.parentNode;)r.nodeType===1&&m.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=wl,i=Ol;if(dt=0,su=wl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ca(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Ou,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=xt(e,l),l=Rc(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Mu(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Jl===null||!Jl.has(u))){t=xt(e,t),e=Ad(2),u=Xl(l,e,2),u!==null&&(pd(e,u,l,t),Mu(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gv;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=xv.bind(null,t,l,e),l.then(t,t))}function xv(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-gn?!(X&2)&&ou(t,0):Wc|=e,fu===q&&(fu=0)),cl(t)}function Ay(t,l){l===0&&(l=ms()),t=ye(t,l),t!==null&&(Mu(t,l),cl(t))}function Kv(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function Jv(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),Ay(t,e)}function wv(t,l){return ri(t,l)}var On=null,yu=null,uf=!1,_n=!1,af=!1,Wl=0;function cl(t){t!==yu&&t.next===null&&(yu===null?On=yu=t:yu=yu.next=t),_n=!0,uf||(uf=!0,Wv())}function ca(t,l){if(!af&&_n){af=!0;do for(var e=!1,u=On;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Ua(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||_u(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $v(){py()}function py(){_n=uf=!1;var t=0;Wl!==0&&nr()&&(t=Wl);for(var l=Rt(),e=null,u=On;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?On=a:e.next=a,a===null&&(yu=e)):(e=u,(t!==0||n&3)&&(_n=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var v=f.transferSize,m=f.initiatorType;v&&Yy(m)&&(f=f.responseEnd,i+=v*(f"u"?null:document;function wy(t,l,e){var u=hu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function vr(t){_l.D(t),wy("dns-prefetch",t,null)}function rr(t,l){_l.C(t,l),wy("preconnect",t,l)}function mr(t,l,e){_l.L(t,l,e);var u=hu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=vu(t);break;case"script":n=ru(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(da(n))||l==="script"&&u.querySelector(ya(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sr(t,l){_l.m(t,l);var e=hu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ya(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gr(t,l,e){_l.S(t,l,e);var u=hu;if(u&&t){var a=qe(u).hoistableStyles,n=vu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(da(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,v){f.onload=d,f.onerror=v}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Rn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function br(t,l){_l.X(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Er(t,l){_l.M(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Hl.current)?Hn(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=vu(e.href),e=qe(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=vu(e.href);var n=qe(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(da(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zr(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=ru(e),e=qe(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function vu(t){return'href="'+Zt(t)+'"'}function da(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zr(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function ru(t){return'[src="'+Zt(t)+'"]'}function ya(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Rn(u,e.precedence,t),l.instance=u;case"stylesheet":a=vu(e.href);var n=t.querySelector(da(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Rn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ya(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Rn(u,e.precedence,t));return l.instance}function Rn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tr(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Ar(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=vu(u.href),n=l.querySelector(da(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Cn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Cn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Af=0;function pr(t,l){return t.stylesheets&&t.count===0&&Yn(t,t.stylesheets),0Af?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Cn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Yn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Bn=null;function Yn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Bn=new Map,l.forEach(Or,t),Bn=null,Cn.call(t))}function Or(t,l){if(!(l.state.loading&4)){var e=Bn.get(t);if(e)var u=e.get(null);else{e=new Map,Bn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ba;var Hf=Ff.exports;const Cr=ue({__proto__:null,default:Vf(Hf)},[Hf]);var vh={exports:{}},Ln={};/** * @license React * react-jsx-runtime.production.js * @@ -46,4 +46,4 @@ Error generating stack: `+u.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Br=Symbol.for("react.transitional.element"),Yr=Symbol.for("react.fragment");function rh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Br,type:t,key:u,ref:l!==void 0?l:null,props:e}}Zn.Fragment=Yr,Zn.jsx=rh,Zn.jsxs=rh,vh.exports=Zn;var pe=vh.exports;const mh=j.createContext(null);function Sh({namespace:t,children:l}){return pe.jsx(mh.Provider,{value:t,children:l})}function qr(){return j.useContext(mh)}function Vr(t,l){return l?`${l}-${t}`:t}function te(t,l){const e=qr();return Vr(t,l!==void 0?l:e)}function jr({id:t,tagName:l="div",namespace:e,...u}){const a=te(t,e),n=j.useRef(null);return j.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(v,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:v})};try{const v=window.Shiny.bindAll(c);v&&typeof v.catch=="function"&&v.catch(m=>f(m,"bindAll"))}catch(v){f(v,"bindAll")}return()=>{var v,m;try{(m=(v=window.Shiny)==null?void 0:v.unbindAll)==null||m.call(v,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const mu=Symbol("MISSING"),gh="1.0";function Gr(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xr(t){const l=e=>e.split(".")[0];if(l(t)!==l(gh))throw new Error(`shinyreact protocol mismatch: the server speaks protocol ${t} but this JS client supports ${gh}. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Qr(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gr();if(a!=null&&a.protocolVersion?Xr(a.protocolVersion):a!=null&&console.error("shinyreact: the #shinyreact-config tag carries no protocolVersion, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package."),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,Ln=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function Ah(){for(const t of Nf)t()}function ph(){Rf||(Rf=!0,Ah())}function Oh(t){Ln!==t&&(Ln=t,Ah())}function Zr(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(Ln=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(ph);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(ph)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return Zr(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return Ln}class Lr{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lr;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function xr(){nt()&&Hh()}class Kr{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class Jr{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Kr(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function wr(){const t=nt();if(!t)return;class l extends t.OutputBinding{find(u){return $(u).find(".shiny-react-output")}renderValue(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setValue(a)}renderError(u,a){var i;console.error(`Error for ${u.id}:`,a);const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);n&&n.setError(a)}showProgress(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setRecalculating(a)}}t.outputBindings.register(new l,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const ma=class ma{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ma.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${ma.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===mu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(ma,"DEFAULT_TYPE","shinyreact.default");let Bf=ma;class $r{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new $r,outputs:new Jr}),Rh}function Wr(){ll()}function ll(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function xn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current;let d=f;const m=ll().inputs.get(i);m&&(d=m.getValue());const[y,r]=j.useState(d),b=Oe();j.useEffect(()=>{if(!b)return;const o=ll().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(r),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(r)}},[i,b,e,u,f,n]);const A=j.useCallback(H=>{if(!b)return;const s=ll().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,A]}const Kn=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=j.useState(l),n=Oe();Su();const i=te(t,e),c=j.useRef(l);return j.useEffect(()=>{if(!n)return;const f=ll();return a(c.current),f.outputs.add(i,a,Kn,Kn)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=j.useState("pending"),a=Oe();Su();const n=te(t,l);return j.useEffect(()=>a?ll().outputs.add(n,Kn,u,Kn):void 0,[n,a]),e}function Fr(t,{namespace:l}={}){Su();const e=te(t,l),[u,a]=j.useState(()=>{const i=ll().inputs.get(e);if(!i)return;const c=i.getValue();return c===mu?void 0:c}),n=Oe();return j.useEffect(()=>n?ll().inputs.subscribe(e,f=>{a(f===mu?void 0:f)}):void 0,[e,n]),u}function kr(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current,d=Oe();return j.useEffect(()=>{if(!d)return;const m=ll().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),j.useCallback(v=>{if(!d)return;const y=ll().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(v)},[i,d])}function Ir(t,l,{namespace:e}={}){const u=Oe();Su();const a=te(t,e),n=j.useRef(l);n.current=l,j.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function Oe(){return j.useSyncExternalStore(_h,Mh,Mh)}function Pr(){return j.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function Su(){Yh||(Wr(),Qr(ll().inputs),wr(),xr(),Yh=!0)}function tm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=te(t,i),f={namespace:null},[d,v]=xn(`.clientdata_output_${c}_width`,mu,f),[m,y]=xn(`.clientdata_output_${c}_height`,mu,f),[r]=xn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),A=Bh(c,f),H=j.useRef(null),o=j.useRef(null),[s,h]=j.useState(0);j.useEffect(()=>{b&&h(E=>E+1)},[b]),j.useEffect(()=>{n&&n(A==="recalculating")},[A,n]);const S=j.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(v(E),y(_))}},[v,y]);return j.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(p=>{for(const M of p)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,v,y,a,S]),j.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(v(M),y(R))};_();const z=Cf(_,a),p=new ResizeObserver(()=>z());return p.observe(E),()=>{p.disconnect(),z.cancel()}},[b,v,y,a]),r?null:b?pe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):pe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:pe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:pe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?pe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?pe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function lm(){window.shinyreact={useSetShinyInput:kr,useShinyBusy:Pr,useShinyInput:xn,useShinyInputValue:Fr,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Ir,useShinyInitialized:Oe,ImageOutput:tm,MISSING:mu,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jr,React:Wf,ReactDOM:Cr}}lm(),jh()})(); + */var Br=Symbol.for("react.transitional.element"),Yr=Symbol.for("react.fragment");function rh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Br,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Yr,Ln.jsx=rh,Ln.jsxs=rh,vh.exports=Ln;var Oe=vh.exports;const mh=V.createContext(null);function Sh({namespace:t,children:l}){return Oe.jsx(mh.Provider,{value:t,children:l})}function qr(){return V.useContext(mh)}function Vr(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=qr();return Vr(t,l!==void 0?l:e)}function jr({id:t,tagName:l="div",namespace:e,...u}){const a=Ml(t,e),n=V.useRef(null);return V.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(v,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:v})};try{const v=window.Shiny.bindAll(c);v&&typeof v.catch=="function"&&v.catch(m=>f(m,"bindAll"))}catch(v){f(v,"bindAll")}return()=>{var v,m;try{(m=(v=window.Shiny)==null?void 0:v.unbindAll)==null||m.call(v,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const Su=Symbol("MISSING"),gh="1.0";function Gr(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xr(t){const l=e=>e.split(".")[0];if(l(t)!==l(gh))throw new Error(`shinyreact protocol mismatch: the server speaks protocol ${t} but this JS client supports ${gh}. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Qr(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gr();if(a!=null&&a.protocolVersion?Xr(a.protocolVersion):a!=null&&console.error("shinyreact: the #shinyreact-config tag carries no protocolVersion, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package."),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,xn=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function Ah(){for(const t of Nf)t()}function ph(){Rf||(Rf=!0,Ah())}function Oh(t){xn!==t&&(xn=t,Ah())}function Zr(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(xn=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(ph);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(ph)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return Zr(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return xn}class Lr{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lr;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function xr(){nt()&&Hh()}class Kr{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){if(l.message===""){this.setValue(null);return}this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class Jr{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Kr(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function wr(){const t=nt();if(!t)return;class l extends t.OutputBinding{find(u){return $(u).find(".shiny-react-output")}renderValue(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setValue(a)}renderError(u,a){var i;console.error(`Error for ${u.id}:`,a);const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);n&&n.setError(a)}showProgress(u,a){var i;const n=(i=t.reactRegistry)==null?void 0:i.outputs.get(u.id);if(!n){console.error(`Output ${u.id} not found`);return}n.setRecalculating(a)}}t.outputBindings.register(new l,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const Sa=class Sa{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??Sa.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${Sa.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===Su){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(Sa,"DEFAULT_TYPE","shinyreact.default");let Bf=Sa;class $r{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new $r,outputs:new Jr}),Rh}function Wr(){kt()}function kt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Kn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current;let d=f;const m=kt().inputs.get(i);m&&(d=m.getValue());const[y,r]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=kt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(r),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(r)}},[i,b,e,u,f,n]);const A=V.useCallback(H=>{if(!b)return;const s=kt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,A]}const gu=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();_e();const i=Ml(t,e),c=V.useRef(l);return V.useEffect(()=>{if(!n)return;const f=kt();return a(c.current),f.outputs.add(i,a,gu,gu)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?kt().outputs.add(n,gu,u,gu):void 0,[n,a]),e}function Fr(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),kt().outputs.add(n,gu,gu,u)):void 0,[n,a]),e}function kr(t,{namespace:l}={}){_e();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=kt().inputs.get(e);if(!i)return;const c=i.getValue();return c===Su?void 0:c}),n=le();return V.useEffect(()=>n?kt().inputs.subscribe(e,f=>{a(f===Su?void 0:f)}):void 0,[e,n]),u}function Ir(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=kt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),V.useCallback(v=>{if(!d)return;const y=kt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(v)},[i,d])}function Pr(t,l,{namespace:e}={}){const u=le();_e();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(_h,Mh,Mh)}function tm(){return V.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function _e(){Yh||(Wr(),Qr(kt().inputs),wr(),xr(),Yh=!0)}function lm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=Ml(t,i),f={namespace:null},[d,v]=Kn(`.clientdata_output_${c}_width`,Su,f),[m,y]=Kn(`.clientdata_output_${c}_height`,Su,f),[r]=Kn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),A=Bh(c,f),H=V.useRef(null),o=V.useRef(null),[s,h]=V.useState(0);V.useEffect(()=>{b&&h(E=>E+1)},[b]),V.useEffect(()=>{n&&n(A==="recalculating")},[A,n]);const S=V.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(v(E),y(_))}},[v,y]);return V.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(p=>{for(const M of p)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,v,y,a,S]),V.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(v(M),y(R))};_();const z=Cf(_,a),p=new ResizeObserver(()=>z());return p.observe(E),()=>{p.disconnect(),z.cancel()}},[b,v,y,a]),r?null:b?Oe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Oe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Oe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Oe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Oe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Oe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function em(){window.shinyreact={useSetShinyInput:Ir,useShinyBusy:tm,useShinyInput:Kn,useShinyInputValue:kr,useShinyOutputError:Fr,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Pr,useShinyInitialized:le,ImageOutput:lm,MISSING:Su,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jr,React:Wf,ReactDOM:Cr}}em(),jh()})(); diff --git a/pkg-r/inst/skills/shinyreact-build-app/SKILL.md b/pkg-r/inst/skills/shinyreact-build-app/SKILL.md index 66d93a76..f41ba8a9 100644 --- a/pkg-r/inst/skills/shinyreact-build-app/SKILL.md +++ b/pkg-r/inst/skills/shinyreact-build-app/SKILL.md @@ -244,6 +244,7 @@ an npm-tier build). | **Input** | `useShinyInput(id, default)` → `[value, setValue]` | `useShinyInputValue(id)` | `useSetShinyInput(id, default)` | | **Output** | — | `useShinyOutputValue(id, default?)` | — | | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | +| **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. @@ -304,6 +305,20 @@ with `.recalculating { opacity: .6; transition: opacity 200ms }`. `"pending"` is the only state where you have no data yet; `"recalculating"` means the previous result is still valid, so show it. +**Showing the server's error text** — `useShinyOutputError(id)` returns the +same (sanitized) condition/exception message vanilla Shiny would paint into the +output element, or `null` when the output is fine: + +```jsx +const error = useShinyOutputError("foo"); +if (error) return
{error.message}
; +``` + +`req()` / `validate()` with no message are silent — they never produce an +error here, matching Shiny. With `shiny.sanitize.errors` / `sanitize_errors` +on, the server sends its generic message, so the client never has to decide +what is safe to show. + **Gate the first paint** on `useShinyInitialized()` (`if (!initialized) return null`) so the UI does not flash empty defaults during connection setup. diff --git a/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md b/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md index 71b8441b..cb5d93d0 100644 --- a/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md +++ b/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md @@ -1,13 +1,14 @@ # Debugging a shinyreact app The client is a normal React app, so React DevTools works. What is specific to -shinyreact is the wire, and these four hooks are the instruments — reach for +shinyreact is the wire, and these five hooks are the instruments — reach for them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | | `useShinyOutputStatus(id)` | `"pending"` / `"ready"` / `"recalculating"` / `"error"` for one output | +| `useShinyOutputError(id)` | the server's sanitized error message for one output, or `null` | | `useShinyBusy()` | whether the server is processing *anything* right now | | `useShinyInputValue(id)` | what a channel currently holds, read from any component | @@ -26,4 +27,3 @@ Symptoms, in the order they actually come up: On the server, `reactive_output` is an ordinary Shiny output — print inside it, and its errors surface in the Shiny console exactly as usual. - diff --git a/pkg-r/inst/skills/shinyreact-build-app/references/modules.md b/pkg-r/inst/skills/shinyreact-build-app/references/modules.md index 3a88da78..f4372af9 100644 --- a/pkg-r/inst/skills/shinyreact-build-app/references/modules.md +++ b/pkg-r/inst/skills/shinyreact-build-app/references/modules.md @@ -66,7 +66,7 @@ the `useShinyMessageHandler("ping", ...)` inside the matching provider. Every id-taking hook and component goes through one shared resolver, so the behavior is identical for `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, -`useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. +`useShinyOutputError`, `useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. Each of them takes an optional `namespace`: