diff --git a/.claude/skills/shinyreact-build-app/SKILL.md b/.claude/skills/shinyreact-build-app/SKILL.md index a204ff77..3377eefb 100644 --- a/.claude/skills/shinyreact-build-app/SKILL.md +++ b/.claude/skills/shinyreact-build-app/SKILL.md @@ -252,7 +252,8 @@ an npm-tier build). | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | | **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | -Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and +Plus `useShinyInitialized()`, `useShinyConnected()`, `useShinyBusy()`, +`useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. **Pick the narrowest hook that fits the call site.** A button that pushes and @@ -328,6 +329,11 @@ 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. +**Lost connection** — `useShinyInitialized()` stays `true` after the session +disconnects. To react to a dropped session (a "reconnecting…" banner, disabled +controls), use `useShinyConnected()`: `false` once the socket closes, `true` +again if Shiny reconnects. + **App-wide activity** — `useShinyBusy()` is a boolean that tracks Shiny's `shiny:busy` / `shiny:idle` events, i.e. whether the server is working on *anything*: diff --git a/.claude/skills/shinyreact-build-app/references/debugging.md b/.claude/skills/shinyreact-build-app/references/debugging.md index cb5d93d0..84b0f30d 100644 --- a/.claude/skills/shinyreact-build-app/references/debugging.md +++ b/.claude/skills/shinyreact-build-app/references/debugging.md @@ -7,6 +7,7 @@ them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | +| `useShinyConnected()` | whether the WebSocket is open *now* (`false` after a disconnect) | | `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 | diff --git a/CLAUDE.md b/CLAUDE.md index a6e381a5..df2fe054 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -89,7 +89,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`, `useShinyOutputError`, `useShinyMessageHandler`, `useShinyInitialized`, `useShinyBusy` — re-exported shiny-react hooks +- `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyOutputError`, `useShinyMessageHandler`, `useShinyInitialized`, `useShinyConnected`, `useShinyBusy` — re-exported shiny-react hooks - `ImageOutput`, `ShinyModuleProvider`, `ShinyOutput`, `MISSING` — components/utilities - `ShinyReactComponentElement` (custom-element base class in `src/shiny-react/`) is deliberately **not** exported — it hosts React islands in server-rendered HTML, the inverse of the ui.tsx pattern. Re-export it when partial React app support lands - `React`, `ReactDOM` — shared instances (downstream ESM builds should externalize to these to avoid duplicate React) diff --git a/FEATURES.md b/FEATURES.md index eacd757f..6a8a4c15 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -366,17 +366,38 @@ registers a second `shiny.reactOutput` binding. - it seeds `true` when `` already carries `.shiny-busy` at first mount, so a consumer mounting mid-request is not stale - it stops responding after unmount -- both lifecycle hooks read one shared external store through +- `useShinyConnected()` → boolean (#328) + - `false` until `shiny:connected`, `false` again on `shiny:disconnected`, + `true` again on the next `shiny:connected` (Shiny's reconnect) + - it seeds from `window.Shiny.shinyapp.isConnected()`, so a consumer + mounting after the socket opened reads `true` + - `useShinyInitialized()` does **not** flip back on disconnect; this hook is + the one that does +- all three lifecycle hooks read one shared external store through `useSyncExternalStore` - - one pair of DOM listeners per page regardless of consumer count + - Shiny fires its lifecycle events with jQuery's `trigger()`, which skips + `addEventListener()` listeners, so the store listens through + `window.jQuery(document).on()` when jQuery is on the page, and falls back + to `addEventListener()` when it is not (#328) + - before #328 `useShinyBusy()` never updated in a real browser; only the + jsdom tests' native events reached it + - the jQuery check happens once, at first subscribe + - if `window.Shiny` is present but `window.jQuery` is not, it logs a + `console.warn`: native listeners would never hear Shiny's events + - a second jQuery loaded after Shiny's replaces `window.jQuery`, and + Shiny's `trigger()` does not reach handlers bound through it (not + handled) + - (e2e) `useShinyBusy()` follows a slow output; `useShinyConnected()` + turns `false` when the server closes the session + - one set of event listeners per page regardless of consumer count - listeners are installed lazily on first subscribe and **never** torn down — they belong to the page, which sidesteps mount/unmount races and StrictMode re-subscribe churn - installation is skipped when there is no `document`, and not latched, so a later DOM-available render still installs them - - the `shiny:connected` listener is `{once: true}`, so if it fires while - `window.Shiny` is still absent, `initialized` never flips and every hook - stays gated for the life of the page + - the `shiny:connected` wait for a late `window.Shiny` is one-shot, so if it + fires while `window.Shiny` is still absent, `initialized` never flips and + every hook stays gated for the life of the page - the store is only for page-global runtime state; per-id hooks must keep using their own id-keyed registries @@ -604,6 +625,9 @@ registries are exposed on `window.Shiny.reactRegistry`; the message registry on actually readable, then unsubscribes — it is deliberately **not** `{once: true}`, which would consume the event before Shiny existed and leave discovery uninstalled + - it listens through jQuery like the lifecycle store; before #328 its native + listener never heard Shiny's `shiny:connected`, so a Shiny that loaded + after the bundle left discovery uninstalled - it no-ops when there is no `document` - `getShiny()` returns `undefined` rather than throwing when there is no `window` at all, not just when Shiny has not loaded @@ -1415,7 +1439,7 @@ initial page. - `window.shinyreact` contains exactly: `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyOutputError`, `useShinyMessageHandler`, `useShinyInitialized`, - `useShinyBusy`, + `useShinyBusy`, `useShinyConnected`, `ImageOutput`, `MISSING`, `ShinyModuleProvider`, `ShinyOutput`, `React`, `ReactDOM` - `ShinyReactComponentElement` is deliberately absent: not exported from the diff --git a/pkg-js/CHANGELOG.md b/pkg-js/CHANGELOG.md index a2d9e78a..bf9f3f28 100644 --- a/pkg-js/CHANGELOG.md +++ b/pkg-js/CHANGELOG.md @@ -8,6 +8,17 @@ IDs were found" warning grew and the console logged `Output not found` (#330). +- New `useShinyConnected()` hook: `false` once the session disconnects, `true` + again if Shiny reconnects (#328). + +- `useShinyBusy()` now updates in a real browser. Shiny fires `shiny:busy` / + `shiny:idle` through jQuery, which never reached the hook's + `addEventListener()` listeners (#328). + +- Renderer dependency discovery now installs when Shiny loads after the + bundle. It waited for `shiny:connected` with a native listener, which the + jQuery-fired event never reached (#328). + - `ImageOutput` hides the last image and shows the error message when the render function errors, with Shiny's `shiny-output-error` classes. Its `` now uses the renderer's `alt` text instead of `alt=""` (#327). diff --git a/pkg-js/README.md b/pkg-js/README.md index e6dc1f8b..0b2b6fd2 100644 --- a/pkg-js/README.md +++ b/pkg-js/README.md @@ -87,7 +87,7 @@ The `"./styles"` export is only needed for components that ship CSS (`ImageOutpu | **Inputs** | `useShinyInput` · `useShinyInputValue` · `useSetShinyInput` | | **Outputs** | `useShinyOutputValue` · `useShinyOutputStatus` · `useShinyOutputError` | | **Messaging** | `useShinyMessageHandler` | -| **Session** | `useShinyInitialized` · `useShinyBusy` | +| **Session** | `useShinyInitialized` · `useShinyConnected` · `useShinyBusy` | | **Components** | `ShinyOutput` · `ImageOutput` · `ShinyModuleProvider` | | **Utilities** | `MISSING` · `PROTOCOL_VERSION` | diff --git a/pkg-js/dist/shinyreact.js b/pkg-js/dist/shinyreact.js index 13ae75ad..cc17fcf2 100644 --- a/pkg-js/dist/shinyreact.js +++ b/pkg-js/dist/shinyreact.js @@ -1,4 +1,4 @@ -var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[et]=ae;var I=(ue,et,ae)=>hm(ue,typeof et!="symbol"?et+"":et,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 et(){if(!(typeof window>"u"))return window.Shiny}let ae=!1;function x0(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=et();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(et()){t();return}const l=()=>{et()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function jc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Gc={exports:{}},D={};/** +var vm=Object.defineProperty;var mm=(ae,tt,Pt)=>tt in ae?vm(ae,tt,{enumerable:!0,configurable:!0,writable:!0,value:Pt}):ae[tt]=Pt;var I=(ae,tt,Pt)=>mm(ae,typeof tt!="symbol"?tt+"":tt,Pt);(function(){"use strict";function ae(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function tt(){if(!(typeof window>"u"))return window.Shiny}function Pt(t,l){const e=window.jQuery;return e?(e(document).on(t,l),()=>e(document).off(t,l)):(tt()&&console.warn(`[shinyreact] window.Shiny is present but window.jQuery is not; "${t}" will never be heard.`),document.addEventListener(t,l),()=>document.removeEventListener(t,l))}let Xc=!1;function K0(){if(typeof document>"u"||Xc)return;Xc=!0;const t=()=>{const e=tt();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(tt()){t();return}const l=Pt("shiny:connected",()=>{tt()&&(l(),t())})}function Zc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var xc={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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 Fn=Symbol.for("react.transitional.element"),L0=Symbol.for("react.portal"),K0=Symbol.for("react.fragment"),J0=Symbol.for("react.strict_mode"),w0=Symbol.for("react.profiler"),$0=Symbol.for("react.consumer"),W0=Symbol.for("react.context"),F0=Symbol.for("react.forward_ref"),k0=Symbol.for("react.suspense"),I0=Symbol.for("react.memo"),Xc=Symbol.for("react.lazy"),P0=Symbol.for("react.activity"),Qc=Symbol.iterator;function th(t){return t===null||typeof t!="object"?null:(t=Qc&&t[Qc]||t["@@iterator"],typeof t=="function"?t:null)}var Zc={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},xc=Object.assign,Lc={};function Me(t,l,e){this.props=t,this.context=l,this.refs=Lc,this.updater=e||Zc}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 Kc(){}Kc.prototype=Me.prototype;function kn(t,l,e){this.props=t,this.context=l,this.refs=Lc,this.updater=e||Zc}var In=kn.prototype=new Kc;In.constructor=kn,xc(In,Me.prototype),In.isPureReactComponent=!0;var Jc=Array.isArray;function Pn(){}var w={H:null,A:null,T:null,S:null},wc=Object.prototype.hasOwnProperty;function ti(t,l,e){var u=e.ref;return{$$typeof:Fn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function lh(t,l){return ti(t.type,l,t.props)}function li(t){return typeof t=="object"&&t!==null&&t.$$typeof===Fn}function eh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var $c=/\/+/g;function ei(t,l){return typeof t=="object"&&t!==null&&t.key!=null?eh(""+t.key):l.toString(36)}function uh(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(Pn,Pn):(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 Fn:case L0:i=!0;break;case Xc:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+ei(t,0):u,Jc(a)?(e="",i!=null&&(e=i.replace($c,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(li(a)&&(a=lh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace($c,"$&/")+"/")+i)),l.push(a)),1;i=0;var f=u===""?".":u+":";if(Jc(t))for(var c=0;cet in ue?ym(ue,et,{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(z,Y){var N=z.length;z.push(Y);t:for(;0>>1,vt=z[nt];if(0>>1;nta(Vc,N))_ea(Wn,Vc)?(z[nt]=Wn,z[_e]=N,nt=_e):(z[nt]=Vc,z[$n]=N,nt=$n);else if(_ea(Wn,N))z[nt]=Wn,z[_e]=N,nt=_e;else break t}}return Y}function a(z,Y){var N=z.sortIndex-Y.sortIndex;return N!==0?N:z.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,f=i.now();t.unstable_now=function(){return i.now()-f}}var c=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(z){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=z)u(d),Y.sortIndex=Y.expirationTime,l(c,Y);else break;Y=e(d)}}function T(z){if(p=!1,S(z),!b)if(e(c)!==null)b=!0,A||(A=!0,ee());else{var Y=e(d);Y!==null&&qc(T,Y.startTime-z)}}var A=!1,E=-1,O=5,M=-1;function R(){return H?!0:!(t.unstable_now()-Mz&&R());){var nt=m.callback;if(typeof nt=="function"){m.callback=null,y=m.priorityLevel;var vt=nt(m.expirationTime<=z);if(z=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(z),Y=!0;break l}m===e(c)&&u(c),S(z)}else u(c);m=e(c)}if(m!==null)Y=!0;else{var wn=e(d);wn!==null&&qc(T,wn.startTime-z),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ee():A=!1}}}var ee;if(typeof h=="function")ee=function(){h(At)};else if(typeof MessageChannel<"u"){var Z0=new MessageChannel,dm=Z0.port2;Z0.port1.onmessage=At,ee=function(){dm.postMessage(null)}}else ee=function(){o(At,0)};function qc(z,Y){E=o(function(){z(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(z){z.callback=null},t.unstable_forceFrameRate=function(z){0>z||125nt?(z.sortIndex=N,l(d,z),e(c)===null&&z===e(d)&&(p?(s(E),E=-1):p=!0,qc(T,N-nt))):(z.sortIndex=vt,l(c,z),b||v||(b=!0,A||(A=!0,ee()))),z},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(z){var Y=y;return function(){var N=y;y=Y;try{return z.apply(this,arguments)}finally{y=N}}}})(Pc),Ic.exports=Pc;var ih=Ic.exports,ts={exports:{}},zt={};/** + */(function(t){function l(z,Y){var N=z.length;z.push(Y);t:for(;0>>1,vt=z[nt];if(0>>1;nt<$n;){var Wn=2*(nt+1)-1,Qc=z[Wn],_e=Wn+1,Fn=z[_e];if(0>a(Qc,N))_ea(Fn,Qc)?(z[nt]=Fn,z[_e]=N,nt=_e):(z[nt]=Qc,z[Wn]=N,nt=Wn);else if(_ea(Fn,N))z[nt]=Fn,z[_e]=N,nt=_e;else break t}}return Y}function a(z,Y){var N=z.sortIndex-Y.sortIndex;return N!==0?N:z.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,f=i.now();t.unstable_now=function(){return i.now()-f}}var c=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(z){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=z)u(d),Y.sortIndex=Y.expirationTime,l(c,Y);else break;Y=e(d)}}function T(z){if(p=!1,S(z),!b)if(e(c)!==null)b=!0,A||(A=!0,ue());else{var Y=e(d);Y!==null&&Gc(T,Y.startTime-z)}}var A=!1,E=-1,O=5,M=-1;function R(){return H?!0:!(t.unstable_now()-Mz&&R());){var nt=m.callback;if(typeof nt=="function"){m.callback=null,y=m.priorityLevel;var vt=nt(m.expirationTime<=z);if(z=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(z),Y=!0;break l}m===e(c)&&u(c),S(z)}else u(c);m=e(c)}if(m!==null)Y=!0;else{var $n=e(d);$n!==null&&Gc(T,$n.startTime-z),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ue():A=!1}}}var ue;if(typeof h=="function")ue=function(){h(At)};else if(typeof MessageChannel<"u"){var L0=new MessageChannel,rm=L0.port2;L0.port1.onmessage=At,ue=function(){rm.postMessage(null)}}else ue=function(){o(At,0)};function Gc(z,Y){E=o(function(){z(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(z){z.callback=null},t.unstable_forceFrameRate=function(z){0>z||125nt?(z.sortIndex=N,l(d,z),e(c)===null&&z===e(d)&&(p?(s(E),E=-1):p=!0,Gc(T,N-nt))):(z.sortIndex=vt,l(c,z),b||v||(b=!0,A||(A=!0,ue()))),z},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(z){var Y=y;return function(){var N=y;y=Y;try{return z.apply(this,arguments)}finally{y=N}}}})(us),es.exports=us;var ch=es.exports,as={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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 fh=V;function ls(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(es)}catch(t){console.error(t)}}es(),ts.exports=zt;var oh=ts.exports;/** + */var sh=q;function ns(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(is)}catch(t){console.error(t)}}is(),as.exports=zt;var yh=as.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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=ih,us=V,dh=oh;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=oi[He],oi[He]=null,He--)}function J(t,l){He++,oi[He]=t.current,t.current=l}var ul=el(null),Ou=el(null),Hl=el(null),pa=el(null);function Aa(t,l){switch(J(Hl,l),J(Ou,t),J(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?Vy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=Vy(l),t=jy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),J(ul,t)}function Re(){yt(ul),yt(Ou),yt(Hl)}function di(t){t.memoizedState!==null&&J(pa,t);var l=ul.current,e=jy(l,t.type);l!==e&&(J(Ou,t),J(ul,e))}function Oa(t){Ou.current===t&&(yt(ul),yt(Ou)),pa.current===t&&(yt(pa),ra._currentValue=ne)}var yi,ys;function ie(t){if(yi===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);yi=l&&l[1]||"",ys=-1He||(t.current=di[He],di[He]=null,He--)}function J(t,l){He++,di[He]=t.current,t.current=l}var al=ul(null),Ou=ul(null),Rl=ul(null),pa=ul(null);function Aa(t,l){switch(J(Rl,l),J(Ou,t),J(al,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?Xy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=Xy(l),t=Zy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(al),J(al,t)}function Re(){yt(al),yt(Ou),yt(Rl)}function yi(t){t.memoizedState!==null&&J(pa,t);var l=al.current,e=Zy(l,t.type);l!==e&&(J(Ou,t),J(al,e))}function Oa(t){Ou.current===t&&(yt(al),yt(Ou)),pa.current===t&&(yt(pa),ra._currentValue=ne)}var hi,ms;function ie(t){if(hi===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);hi=l&&l[1]||"",ms=-1)":-1a||c[u]!==d[a]){var r=` -`+c[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{hi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function mh(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 ri(t.type,!1);case 11:return ri(t.type.render,!1);case 1:return ri(t.type,!0);case 31:return ie("Activity");default:return""}}function hs(t){try{var l="",e=null;do l+=mh(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+c[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{ri=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function gh(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 vi(t.type,!1);case 11:return vi(t.type.render,!1);case 1:return vi(t.type,!0);case 31:return ie("Activity");default:return""}}function Ss(t){try{var l="",e=null;do l+=gh(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,mi=ot.unstable_scheduleCallback,Si=ot.unstable_cancelCallback,Sh=ot.unstable_shouldYield,gh=ot.unstable_requestPaint,Nt=ot.unstable_now,bh=ot.unstable_getCurrentPriorityLevel,rs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,_a=ot.unstable_NormalPriority,Eh=ot.unstable_LowPriority,ms=ot.unstable_IdlePriority,zh=ot.log,Th=ot.unstable_setDisableYieldValue,_u=null,Ct=null;function Rl(t){if(typeof zh=="function"&&Th(t),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(_u,t)}catch{}}var Bt=Math.clz32?Math.clz32:Oh,ph=Math.log,Ah=Math.LN2;function Oh(t){return t>>>=0,t===0?32:31-(ph(t)/Ah|0)|0}var Ma=256,Da=262144,Ua=4194304;function fe(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 Ha(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 f=u&134217727;return f!==0?(u=f&~n,u!==0?a=fe(u):(i&=f,i!==0?a=fe(i):e||(e=f&~t,e!==0&&(a=fe(e))))):(f=u&~n,f!==0?a=fe(f):i!==0?a=fe(i):e||(e=u&~t,e!==0&&(a=fe(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 Mu(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function _h(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 Ss(){var t=Ua;return Ua<<=1,!(Ua&62914560)&&(Ua=4194304),t}function gi(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Du(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Mh(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 f=t.entanglements,c=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Ch=/[\n"\\]/g;function Lt(t){return t.replace(Ch,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,f){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=""+xt(l)):t.value!==""+xt(l)&&(t.value=""+xt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Oi(t,i,xt(l)):e!=null?Oi(t,i,xt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?t.name=""+xt(f):t.removeAttribute("name")}function Hs(t,l,e,u,a,n,i,f){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)){pi(t);return}e=e!=null?""+xt(e):"",l=l!=null?""+xt(l):e,f||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=f?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),pi(t)}function Oi(t,l,e){l==="number"&&Ca(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"),Hi=!1;if(dl)try{var Nu={};Object.defineProperty(Nu,"passive",{get:function(){Hi=!0}}),window.addEventListener("test",Nu,Nu),window.removeEventListener("test",Nu,Nu)}catch{Hi=!1}var Cl=null,Ri=null,Ya=null;function Vs(){if(Ya)return Ya;var t,l=Ri,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Yu),xs=" ",Ls=!1;function Ks(t,l){switch(t){case"keyup":return fr.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Js(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function sr(t,l){switch(t){case"compositionend":return Js(l);case"keypress":return l.which!==32?null:(Ls=!0,xs);case"textInput":return t=l.data,t===xs&&Ls?null:t;default:return null}}function or(t,l){if(Qe)return t==="compositionend"||!qi&&Ks(t,l)?(t=Vs(),Ya=Ri=Cl=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=to(e)}}function eo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?eo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function uo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ca(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=Ca(t.document)}return l}function Gi(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 gr=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Xi=null,Gu=null,Qi=!1;function ao(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Qi||Ze==null||Ze!==Ca(u)||(u=Ze,"selectionStart"in u&&Gi(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}),Gu&&ju(Gu,u)||(Gu=u,u=Un(Xi,"onSelect"),0>=i,a-=i,al=1<<32-Bt(l)+a|e<O?(M=E,E=null):M=E.sibling;var R=y(o,E,h[O],S);if(R===null){E===null&&(E=M);break}t&&E&&R.alternate===null&&l(o,E),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R,E=M}if(O===h.length)return e(o,E),j&&hl(o,O),T;if(E===null){for(;OO?(M=E,E=null):M=E.sibling;var At=y(o,E,R.value,S);if(At===null){E===null&&(E=M);break}t&&E&&At.alternate===null&&l(o,E),s=n(At,s,O),A===null?T=At:A.sibling=At,A=At,E=M}if(R.done)return e(o,E),j&&hl(o,O),T;if(E===null){for(;!R.done;O++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return j&&hl(o,O),T}for(E=u(E);!R.done;O++,R=h.next())R=v(E,o,O,R.value,S),R!==null&&(t&&R.alternate!==null&&E.delete(R.key===null?O:R.key),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return t&&E.forEach(function(ee){return l(o,ee)}),j&&hl(o,O),T}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 Ta:t:{for(var T=h.key;s!==null;){if(s.key===T){if(T=h.type,T===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===T||typeof T=="object"&&T!==null&&T.$$typeof===Ul&&ge(T)===s.type){e(o,s.sibling),S=a(s,h.props),Ku(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=Ka(h.type,h.key,h.props,null,o.mode,S),Ku(S,h),S.return=o,o=S)}return i(o);case Tu:t:{for(T=h.key;s!==null;){if(s.key===T)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=$i(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(pu(h)){if(T=pu(h),typeof T!="function")throw Error(g(150));return h=T.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Ia(h),S);if(h.$$typeof===cl)return H(o,s,$a(o,h),S);Pa(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=wi(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var T=H(o,s,h,S);return Pe=null,T}catch(E){if(E===Ie||E===Fa)throw E;var A=qt(29,E,null,o.mode);return A.lanes=S,A.return=o,A}finally{}}}var Ee=Do(!0),Uo=Do(!1),jl=!1;function ff(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function cf(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),yo(t,null,e),l}return xa(t,u,l,e),La(t)}function Ju(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,bs(t,e)}}function sf(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 of=!1;function wu(){if(of){var t=ke;if(t!==null)throw t}}function $u(t,l,e,u){of=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,f=a.shared.pending;if(f!==null){a.shared.pending=null;var c=f,d=c.next;c.next=null,i===null?n=d:i.next=d,i=c;var r=t.alternate;r!==null&&(r=r.updateQueue,f=r.lastBaseUpdate,f!==i&&(f===null?r.firstBaseUpdate=d:f.next=d,r.lastBaseUpdate=c))}if(n!==null){var m=a.baseState;i=0,r=d=c=null,f=n;do{var y=f.lane&-536870913,v=y!==f.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(of=!0),r!==null&&(r=r.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});t:{var b=t,p=f;y=l;var H=e;switch(p.tag){case 1:if(b=p.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=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=W({},m,y);break t;case 2:jl=!0}}y=f.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:f.tag,payload:f.payload,callback:f.callback,next:null},r===null?(d=r=v,c=m):r=r.next=v,i|=y;if(f=f.next,f===null){if(f=a.shared.pending,f===null)break;v=f,f=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(c=m),a.baseState=c,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Ho(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ro(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=_.T,f={};_.T=f,Uf(t,!1,l,e);try{var c=a(),d=_.S;if(d!==null&&d(f,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var r=Mr(c,u);ku(t,l,r,Qt(t))}else ku(t,l,u,Qt(t))}catch(m){ku(t,l,{then:function(){},status:"rejected",reason:m},Qt())}finally{G.p=n,i!==null&&f.types!==null&&(i.types=f.types),_.T=i}}function Cr(){}function Mf(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=sd(t).queue;cd(t,a,l,ne,e===null?Cr:function(){return od(t),e(u)})}function sd(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 od(t){var l=sd(t);l.next===null&&(l=t.alternate.memoizedState),ku(t,l.next.queue,{},Qt())}function Df(){return gt(ra)}function dd(){return at().memoizedState}function yd(){return at().memoizedState}function Br(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Qt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Rt(u,l,e),Ju(u,l,e)),l={cache:ef()},t.payload=l;return}l=l.return}}function Yr(t,l,e){var u=Qt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},on(t)?rd(l,e):(e=Ki(t,l,e,u),e!==null&&(Rt(e,t,u),vd(e,l,u)))}function hd(t,l,e){var u=Qt();ku(t,l,e,u)}function ku(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(on(t))rd(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,f=n(i,e);if(a.hasEagerState=!0,a.eagerState=f,Yt(f,i))return xa(t,l,a,0),K===null&&Za(),!1}catch{}finally{}if(e=Ki(t,l,a,u),e!==null)return Rt(e,t,u),vd(e,l,u),!0}return!1}function Uf(t,l,e,u){if(u={lane:2,revertLane:fc(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},on(t)){if(l)throw Error(g(479))}else l=Ki(t,e,u,2),l!==null&&Rt(l,t,2)}function on(t){var l=t.alternate;return t===U||l!==null&&l===U}function rd(t,l){lu=en=!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,bs(t,e)}}var Iu={readContext:gt,use:nn,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};Iu.useEffectEvent=tt;var md={readContext:gt,use:nn,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Po,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ud.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=pt();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=pt();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=Yr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Tf(t);var l=t.queue,e=hd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Of,useDeferredValue:function(t,l){var e=pt();return _f(e,t,l)},useTransition:function(){var t=Tf(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),K===null)throw Error(g(349));q&127||Vo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Po(Go.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},jo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=K.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Bt(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=un++,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[Ot]=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 k(l),xf(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,$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||Yy(t.nodeValue,e)),t||ql(l,!0)}else t=Hn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),t=!1}else e=Ii(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(jt(l),l):(jt(l),null);if(l.flags&128)throw Error(g(558))}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),a=!1}else a=Ii(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(jt(l),l):(jt(l),null)}return jt(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),k(l),null);case 4:return Re(),t===null&&dc(l.stateNode.containerInfo),k(l),null;case 10:return vl(l.type),k(l),null;case 19:if(yt(ut),u=l.memoizedState,u===null)return k(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)ta(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=ln(t),n!==null){for(l.flags|=128,ta(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)ho(e,t),e=e.sibling;return J(ut,ut.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Nt()>En&&(l.flags|=128,a=!0,ta(u,!1),l.lanes=4194304)}else{if(!a)if(t=ln(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),ta(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return k(l),null}else 2*Nt()-u.renderingStartTime>En&&e!==536870912&&(l.flags|=128,a=!0,ta(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=Nt(),t.sibling=null,e=ut.current,J(ut,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(k(l),null);case 22:case 23:return jt(l),yf(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(k(l),l.subtreeFlags&6&&(l.flags|=8192)):k(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),vl(it),k(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Xr(t,l){switch(Fi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Oa(l),null;case 31:if(l.memoizedState!==null){if(jt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(jt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(ut),null;case 4:return Re(),null;case 10:return vl(l.type),null;case 22:case 23:return jt(l),yf(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Xd(t,l){switch(Fi(l),l.tag){case 3:vl(it),Re();break;case 26:case 27:case 5:Oa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&jt(l);break;case 13:jt(l);break;case 19:yt(ut);break;case 10:vl(l.type);break;case 22:case 23:jt(l),yf(),t!==null&&yt(Se);break;case 24:vl(it)}}function la(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(f){Z(l,l.return,f)}}function xl(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,f=i.destroy;if(f!==void 0){i.destroy=void 0,a=l;var c=e,d=f;try{d()}catch(r){Z(a,c,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Qd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ro(l,e)}catch(u){Z(t,t.return,u)}}}function Zd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ea(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 xd(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 Lf(t,l,e){try{var u=t.stateNode;cv(u,t.type,e,l),u[Ot]=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 Kf(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 Jf(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(Jf(t,l,e),t=t.sibling;t!==null;)Jf(t,l,e),t=t.sibling}function mn(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(mn(t,l,e),t=t.sibling;t!==null;)mn(t,l,e),t=t.sibling}function Kd(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[Ot]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,wf=!1,Jd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function Qr(t,l){if(t=t.containerInfo,rc=Vn,t=uo(t),Gi(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,f=-1,c=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(f=i+a),m!==n||u!==0&&m.nodeType!==3||(c=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(f=i),y===n&&++r===u&&(c=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=f===-1||c===-1?null:{start:f,end:c}}else e=null}e=e||{start:0,end:0}}else e=null;for(vc={focusedElem:t,selectionRange:e},Vn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,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=Iy("link","href",a).get(u+(e.href||""));if(i){for(var f=0;fH&&(i=H,H=p,p=i);var o=lo(f,p),s=lo(f,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=f;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fe?32:e,_.T=null,e=tc,tc=null;var n=wl,i=Ol;if(dt=0,cu=wl=null,Ol=0,X&6)throw Error(g(331));var f=X;if(X|=4,uy(n.current),ty(n,n.current,i,e),X=f,ca(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(_u,n)}catch{}return!0}finally{G.p=a,_.T=u,zy(t,l)}}function py(t,l,e){l=Jt(e,l),l=Cf(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Du(t,2),fl(t))}function Z(t,l,e){if(t.tag===3)py(t,t,e);else for(;l!==null;){if(l.tag===3){py(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=Jt(e,t),e=Ad(2),u=Xl(l,e,2),u!==null&&(Od(e,u,l,t),Du(u,2),fl(u));break}}l=l.return}}function ac(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Lr;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)||(Ff=!0,a.add(e),t=Wr.bind(null,t,l,e),l.then(t,t))}function Wr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,K===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Nt()-bn?!(X&2)&&su(t,0):kf|=e,fu===q&&(fu=0)),fl(t)}function Ay(t,l){l===0&&(l=Ss()),t=ye(t,l),t!==null&&(Du(t,l),fl(t))}function Fr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function kr(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 Ir(t,l){return mi(t,l)}var _n=null,du=null,nc=!1,Mn=!1,ic=!1,Wl=0;function fl(t){t!==du&&t.next===null&&(du===null?_n=du=t:du=du.next=t),Mn=!0,nc||(nc=!0,tv())}function ca(t,l){if(!ic&&Mn){ic=!0;do for(var e=!1,u=_n;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,f=u.pingedLanes;n=(1<<31-Bt(42|t)+1)-1,n&=a&~(i&~f),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,Dy(u,n))}else n=q,n=Ha(u,u===K?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Mu(u,n)||(e=!0,Dy(u,n));u=u.next}while(e);ic=!1}}function Pr(){Oy()}function Oy(){Mn=nc=!1;var t=0;Wl!==0&&ov()&&(t=Wl);for(var l=Nt(),e=null,u=_n;u!==null;){var a=u.next,n=_y(u,l);n===0?(u.next=null,e===null?_n=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(Mn=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function _y(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0f)break;var r=c.transferSize,m=c.initiatorType;r&&qy(m)&&(c=c.responseEnd,i+=r*(c"u"?null:document;function $y(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Lt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),wy.has(a)||(wy.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 bv(t){_l.D(t),$y("dns-prefetch",t,null)}function Ev(t,l){_l.C(t,l),$y("preconnect",t,l)}function zv(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Lt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Lt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Lt(e.imageSizes)+'"]')):a+='[href="'+Lt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}It.has(n)||(t=W({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),It.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(ya(n))||l==="script"&&u.querySelector(ha(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Tv(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="'+Lt(u)+'"][href="'+Lt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!It.has(n)&&(t=W({rel:"modulepreload",href:t},l),It.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ha(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function pv(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 f={loading:0,preload:null};if(i=u.querySelector(ya(n)))f.loading=5;else{t=W({rel:"stylesheet",href:t,"data-precedence":l},e),(e=It.get(n))&&Tc(t,e);var c=i=u.createElement("link");ht(c),Et(c,"link",t),c._p=new Promise(function(d,r){c.onload=d,c.onerror=r}),c.addEventListener("load",function(){f.loading|=1}),c.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Nn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:f},a.set(n,i)}}}function Av(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0},l),(l=It.get(a))&&pc(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 Ov(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0,type:"module"},l),(l=It.get(a))&&pc(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 Wy(t,l,e,u){var a=(a=Hl.current)?Rn(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(ya(t)))&&!n._p&&(i.instance=n,i.state.loading=5),It.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},It.set(t,e),n||_v(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=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="'+Lt(t)+'"'}function ya(t){return'link[rel="stylesheet"]['+t+"]"}function Fy(t){return W({},t,{"data-precedence":t.precedence,precedence:null})}function _v(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="'+Lt(t)+'"]'}function ha(t){return"script[async]"+t}function ky(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Lt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=W({},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),Nn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(ya(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Fy(e),(a=It.get(a))&&Tc(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),Et(n,"link",u),l.state.loading|=4,Nn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ha(n)))?(l.instance=a,ht(a),a):(u=e,(a=It.get(n))&&(u=W({},e),pc(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,Nn(u,e.precedence,t));return l.instance}function Nn(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 Mv(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 t0(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Dv(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(ya(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Bn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Fy(u),(a=It.get(a))&&Tc(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),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=Bn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Ac=0;function Uv(t,l){return t.stylesheets&&t.count===0&&qn(t,t.stylesheets),0Ac?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Bn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Yn=null;function qn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Yn=new Map,l.forEach(Hv,t),Yn=null,Bn.call(t))}function Hv(t,l){if(!(l.state.loading&4)){var e=Yn.get(t);if(e)var u=e.get(null);else{e=new Map,Yn.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(r0)}catch(t){console.error(t)}}r0(),kc.exports=Ea;var v0=kc.exports;const jv=ue({__proto__:null,default:jc(v0)},[v0]);var m0={exports:{}},Ln={};/** +`+u.stack}}var mi=Object.prototype.hasOwnProperty,Si=ot.unstable_scheduleCallback,gi=ot.unstable_cancelCallback,bh=ot.unstable_shouldYield,Eh=ot.unstable_requestPaint,Nt=ot.unstable_now,zh=ot.unstable_getCurrentPriorityLevel,gs=ot.unstable_ImmediatePriority,bs=ot.unstable_UserBlockingPriority,_a=ot.unstable_NormalPriority,Th=ot.unstable_LowPriority,Es=ot.unstable_IdlePriority,ph=ot.log,Ah=ot.unstable_setDisableYieldValue,_u=null,Ct=null;function Nl(t){if(typeof ph=="function"&&Ah(t),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(_u,t)}catch{}}var Bt=Math.clz32?Math.clz32:Mh,Oh=Math.log,_h=Math.LN2;function Mh(t){return t>>>=0,t===0?32:31-(Oh(t)/_h|0)|0}var Ma=256,Da=262144,Ua=4194304;function fe(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 Ha(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 f=u&134217727;return f!==0?(u=f&~n,u!==0?a=fe(u):(i&=f,i!==0?a=fe(i):e||(e=f&~t,e!==0&&(a=fe(e))))):(f=u&~n,f!==0?a=fe(f):i!==0?a=fe(i):e||(e=u&~t,e!==0&&(a=fe(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 Mu(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function Dh(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 zs(){var t=Ua;return Ua<<=1,!(Ua&62914560)&&(Ua=4194304),t}function bi(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Du(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Uh(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 f=t.entanglements,c=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Yh=/[\n"\\]/g;function Lt(t){return t.replace(Yh,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Oi(t,l,e,u,a,n,i,f){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=""+xt(l)):t.value!==""+xt(l)&&(t.value=""+xt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?_i(t,i,xt(l)):e!=null?_i(t,i,xt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?t.name=""+xt(f):t.removeAttribute("name")}function Bs(t,l,e,u,a,n,i,f){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)){Ai(t);return}e=e!=null?""+xt(e):"",l=l!=null?""+xt(l):e,f||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=f?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ai(t)}function _i(t,l,e){l==="number"&&Ca(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"),Ri=!1;if(yl)try{var Nu={};Object.defineProperty(Nu,"passive",{get:function(){Ri=!0}}),window.addEventListener("test",Nu,Nu),window.removeEventListener("test",Nu,Nu)}catch{Ri=!1}var Bl=null,Ni=null,Ya=null;function Xs(){if(Ya)return Ya;var t,l=Ni,e=l.length,u,a="value"in Bl?Bl.value:Bl.textContent,n=a.length;for(t=0;t=Yu),ws=" ",$s=!1;function Ws(t,l){switch(t){case"keyup":return sr.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Xe=!1;function dr(t,l){switch(t){case"compositionend":return Fs(l);case"keypress":return l.which!==32?null:($s=!0,ws);case"textInput":return t=l.data,t===ws&&$s?null:t;default:return null}}function yr(t,l){if(Xe)return t==="compositionend"||!Vi&&Ws(t,l)?(t=Xs(),Ya=Ni=Bl=null,Xe=!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=ao(e)}}function io(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?io(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function fo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ca(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=Ca(t.document)}return l}function Qi(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 Er=yl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Xi=null,Gu=null,Zi=!1;function co(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Zi||Ze==null||Ze!==Ca(u)||(u=Ze,"selectionStart"in u&&Qi(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}),Gu&&ju(Gu,u)||(Gu=u,u=Un(Xi,"onSelect"),0>=i,a-=i,nl=1<<32-Bt(l)+a|e<O?(M=E,E=null):M=E.sibling;var R=y(o,E,h[O],S);if(R===null){E===null&&(E=M);break}t&&E&&R.alternate===null&&l(o,E),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R,E=M}if(O===h.length)return e(o,E),j&&rl(o,O),T;if(E===null){for(;OO?(M=E,E=null):M=E.sibling;var At=y(o,E,R.value,S);if(At===null){E===null&&(E=M);break}t&&E&&At.alternate===null&&l(o,E),s=n(At,s,O),A===null?T=At:A.sibling=At,A=At,E=M}if(R.done)return e(o,E),j&&rl(o,O),T;if(E===null){for(;!R.done;O++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return j&&rl(o,O),T}for(E=u(E);!R.done;O++,R=h.next())R=v(E,o,O,R.value,S),R!==null&&(t&&R.alternate!==null&&E.delete(R.key===null?O:R.key),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return t&&E.forEach(function(ue){return l(o,ue)}),j&&rl(o,O),T}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 Ta:t:{for(var T=h.key;s!==null;){if(s.key===T){if(T=h.type,T===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===T||typeof T=="object"&&T!==null&&T.$$typeof===Hl&&ge(T)===s.type){e(o,s.sibling),S=a(s,h.props),Ku(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=Ka(h.type,h.key,h.props,null,o.mode,S),Ku(S,h),S.return=o,o=S)}return i(o);case Tu:t:{for(T=h.key;s!==null;){if(s.key===T)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 Hl:return h=ge(h),H(o,s,h,S)}if(Au(h))return b(o,s,h,S);if(pu(h)){if(T=pu(h),typeof T!="function")throw Error(g(150));return h=T.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Ia(h),S);if(h.$$typeof===sl)return H(o,s,$a(o,h),S);Pa(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=$i(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var T=H(o,s,h,S);return Pe=null,T}catch(E){if(E===Ie||E===Fa)throw E;var A=qt(29,E,null,o.mode);return A.lanes=S,A.return=o,A}finally{}}}var Ee=No(!0),Co=No(!1),Gl=!1;function cf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function sf(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 Ql(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,Q&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=La(t),mo(t,null,e),l}return xa(t,u,l,e),La(t)}function Ju(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,ps(t,e)}}function of(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 df=!1;function wu(){if(df){var t=ke;if(t!==null)throw t}}function $u(t,l,e,u){df=!1;var a=t.updateQueue;Gl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,f=a.shared.pending;if(f!==null){a.shared.pending=null;var c=f,d=c.next;c.next=null,i===null?n=d:i.next=d,i=c;var r=t.alternate;r!==null&&(r=r.updateQueue,f=r.lastBaseUpdate,f!==i&&(f===null?r.firstBaseUpdate=d:f.next=d,r.lastBaseUpdate=c))}if(n!==null){var m=a.baseState;i=0,r=d=c=null,f=n;do{var y=f.lane&-536870913,v=y!==f.lane;if(v?(V&y)===y:(u&y)===y){y!==0&&y===Fe&&(df=!0),r!==null&&(r=r.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});t:{var b=t,p=f;y=l;var H=e;switch(p.tag){case 1:if(b=p.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=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=W({},m,y);break t;case 2:Gl=!0}}y=f.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:f.tag,payload:f.payload,callback:f.callback,next:null},r===null?(d=r=v,c=m):r=r.next=v,i|=y;if(f=f.next,f===null){if(f=a.shared.pending,f===null)break;v=f,f=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(c=m),a.baseState=c,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Jl|=i,t.lanes=i,t.memoizedState=m}}function Bo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Yo(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=_.T,f={};_.T=f,Hf(t,!1,l,e);try{var c=a(),d=_.S;if(d!==null&&d(f,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var r=Ur(c,u);ku(t,l,r,Xt(t))}else ku(t,l,u,Xt(t))}catch(m){ku(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&f.types!==null&&(i.types=f.types),_.T=i}}function Yr(){}function Df(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=hd(t).queue;yd(t,a,l,ne,e===null?Yr:function(){return rd(t),e(u)})}function hd(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:gl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:gl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function rd(t){var l=hd(t);l.next===null&&(l=t.alternate.memoizedState),ku(t,l.next.queue,{},Xt())}function Uf(){return gt(ra)}function vd(){return at().memoizedState}function md(){return at().memoizedState}function qr(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Ql(e);var u=Xl(l,t,e);u!==null&&(Rt(u,l,e),Ju(u,l,e)),l={cache:uf()},t.payload=l;return}l=l.return}}function Vr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},on(t)?gd(l,e):(e=Ji(t,l,e,u),e!==null&&(Rt(e,t,u),bd(e,l,u)))}function Sd(t,l,e){var u=Xt();ku(t,l,e,u)}function ku(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(on(t))gd(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,f=n(i,e);if(a.hasEagerState=!0,a.eagerState=f,Yt(f,i))return xa(t,l,a,0),K===null&&Za(),!1}catch{}finally{}if(e=Ji(t,l,a,u),e!==null)return Rt(e,t,u),bd(e,l,u),!0}return!1}function Hf(t,l,e,u){if(u={lane:2,revertLane:cc(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},on(t)){if(l)throw Error(g(479))}else l=Ji(t,e,u,2),l!==null&&Rt(l,t,2)}function on(t){var l=t.alternate;return t===U||l!==null&&l===U}function gd(t,l){lu=en=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function bd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,ps(t,e)}}var Iu={readContext:gt,use:nn,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};Iu.useEffectEvent=lt;var Ed={readContext:gt,use:nn,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:ud,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,fd.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=pt();l=l===void 0?null:l;var u=t();if(ze){Nl(!0);try{t()}finally{Nl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(ze){Nl(!0);try{e(l)}finally{Nl(!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=Vr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=pf(t);var l=t.queue,e=Sd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:_f,useDeferredValue:function(t,l){var e=pt();return Mf(e,t,l)},useTransition:function(){var t=pf(!1);return t=yd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),K===null)throw Error(g(349));V&127||Xo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,ud(xo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Zo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=K.identifierPrefix;if(j){var e=il,u=nl;e=(u&~(1<<32-Bt(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=un++,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[Ot]=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&&El(l)}}return k(l),Lf(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&El(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Rl.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||Gy(t.nodeValue,e)),t||Vl(l,!0)}else t=Hn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),t=!1}else e=Pi(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(jt(l),l):(jt(l),null);if(l.flags&128)throw Error(g(558))}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),a=!1}else a=Pi(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(jt(l),l):(jt(l),null)}return jt(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),k(l),null);case 4:return Re(),t===null&&yc(l.stateNode.containerInfo),k(l),null;case 10:return ml(l.type),k(l),null;case 19:if(yt(ut),u=l.memoizedState,u===null)return k(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)ta(u,!1);else{if(et!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=ln(t),n!==null){for(l.flags|=128,ta(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)So(e,t),e=e.sibling;return J(ut,ut.current&1|2),j&&rl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Nt()>En&&(l.flags|=128,a=!0,ta(u,!1),l.lanes=4194304)}else{if(!a)if(t=ln(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),ta(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return k(l),null}else 2*Nt()-u.renderingStartTime>En&&e!==536870912&&(l.flags|=128,a=!0,ta(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=Nt(),t.sibling=null,e=ut.current,J(ut,a?e&1|2:e&1),j&&rl(l,u.treeForkCount),t):(k(l),null);case 22:case 23:return jt(l),hf(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(k(l),l.subtreeFlags&6&&(l.flags|=8192)):k(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),ml(it),k(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Zr(t,l){switch(ki(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return ml(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Oa(l),null;case 31:if(l.memoizedState!==null){if(jt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(jt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(ut),null;case 4:return Re(),null;case 10:return ml(l.type),null;case 22:case 23:return jt(l),hf(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return ml(it),null;case 25:return null;default:return null}}function Ld(t,l){switch(ki(l),l.tag){case 3:ml(it),Re();break;case 26:case 27:case 5:Oa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&jt(l);break;case 13:jt(l);break;case 19:yt(ut);break;case 10:ml(l.type);break;case 22:case 23:jt(l),hf(),t!==null&&yt(Se);break;case 24:ml(it)}}function la(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(f){Z(l,l.return,f)}}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,f=i.destroy;if(f!==void 0){i.destroy=void 0,a=l;var c=e,d=f;try{d()}catch(r){Z(a,c,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Kd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Yo(l,e)}catch(u){Z(t,t.return,u)}}}function Jd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ea(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 fl(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 wd(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 Kf(t,l,e){try{var u=t.stateNode;ov(u,t.type,e,l),u[Ot]=l}catch(a){Z(t,t.return,a)}}function $d(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&kl(t.type)||t.tag===4}function Jf(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||$d(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&&kl(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 wf(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=dl));else if(u!==4&&(u===27&&kl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(wf(t,l,e),t=t.sibling;t!==null;)wf(t,l,e),t=t.sibling}function mn(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&&kl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(mn(t,l,e),t=t.sibling;t!==null;)mn(t,l,e),t=t.sibling}function Wd(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[Ot]=e}catch(n){Z(t,t.return,n)}}var zl=!1,st=!1,$f=!1,Fd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function xr(t,l){if(t=t.containerInfo,vc=Vn,t=fo(t),Qi(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,f=-1,c=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(f=i+a),m!==n||u!==0&&m.nodeType!==3||(c=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(f=i),y===n&&++r===u&&(c=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=f===-1||c===-1?null:{start:f,end:c}}else e=null}e=e||{start:0,end:0}}else e=null;for(mc={focusedElem:t,selectionRange:e},Vn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,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=e0("link","href",a).get(u+(e.href||""));if(i){for(var f=0;fH&&(i=H,H=p,p=i);var o=no(f,p),s=no(f,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=f;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fe?32:e,_.T=null,e=lc,lc=null;var n=$l,i=_l;if(dt=0,cu=$l=null,_l=0,Q&6)throw Error(g(331));var f=Q;if(Q|=4,fy(n.current),ay(n,n.current,i,e),Q=f,ca(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(_u,n)}catch{}return!0}finally{G.p=a,_.T=u,Oy(t,l)}}function My(t,l,e){l=Jt(e,l),l=Bf(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Du(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)My(t,t,e);else for(;l!==null;){if(l.tag===3){My(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(wl===null||!wl.has(u))){t=Jt(e,t),e=Dd(2),u=Xl(l,e,2),u!==null&&(Ud(e,u,l,t),Du(u,2),cl(u));break}}l=l.return}}function nc(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Jr;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)||(kf=!0,a.add(e),t=kr.bind(null,t,l,e),l.then(t,t))}function kr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,K===t&&(V&e)===e&&(et===4||et===3&&(V&62914560)===V&&300>Nt()-bn?!(Q&2)&&su(t,0):If|=e,fu===V&&(fu=0)),cl(t)}function Dy(t,l){l===0&&(l=zs()),t=ye(t,l),t!==null&&(Du(t,l),cl(t))}function Ir(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Dy(t,e)}function Pr(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),Dy(t,e)}function tv(t,l){return Si(t,l)}var _n=null,du=null,ic=!1,Mn=!1,fc=!1,Fl=0;function cl(t){t!==du&&t.next===null&&(du===null?_n=du=t:du=du.next=t),Mn=!0,ic||(ic=!0,ev())}function ca(t,l){if(!fc&&Mn){fc=!0;do for(var e=!1,u=_n;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,f=u.pingedLanes;n=(1<<31-Bt(42|t)+1)-1,n&=a&~(i&~f),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,Ny(u,n))}else n=V,n=Ha(u,u===K?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Mu(u,n)||(e=!0,Ny(u,n));u=u.next}while(e);fc=!1}}function lv(){Uy()}function Uy(){Mn=ic=!1;var t=0;Fl!==0&&yv()&&(t=Fl);for(var l=Nt(),e=null,u=_n;u!==null;){var a=u.next,n=Hy(u,l);n===0?(u.next=null,e===null?_n=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(Mn=!0)),u=a}dt!==0&&dt!==5||ca(t),Fl!==0&&(Fl=0)}function Hy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0f)break;var r=c.transferSize,m=c.initiatorType;r&&Qy(m)&&(c=c.responseEnd,i+=r*(c"u"?null:document;function Iy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Lt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),ky.has(a)||(ky.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 zv(t){Ml.D(t),Iy("dns-prefetch",t,null)}function Tv(t,l){Ml.C(t,l),Iy("preconnect",t,l)}function pv(t,l,e){Ml.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Lt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Lt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Lt(e.imageSizes)+'"]')):a+='[href="'+Lt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}It.has(n)||(t=W({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),It.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(ya(n))||l==="script"&&u.querySelector(ha(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Av(t,l){Ml.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Lt(u)+'"][href="'+Lt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!It.has(n)&&(t=W({rel:"modulepreload",href:t},l),It.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ha(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function Ov(t,l,e){Ml.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 f={loading:0,preload:null};if(i=u.querySelector(ya(n)))f.loading=5;else{t=W({rel:"stylesheet",href:t,"data-precedence":l},e),(e=It.get(n))&&pc(t,e);var c=i=u.createElement("link");ht(c),Et(c,"link",t),c._p=new Promise(function(d,r){c.onload=d,c.onerror=r}),c.addEventListener("load",function(){f.loading|=1}),c.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Nn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:f},a.set(n,i)}}}function _v(t,l){Ml.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0},l),(l=It.get(a))&&Ac(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 Mv(t,l){Ml.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0,type:"module"},l),(l=It.get(a))&&Ac(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 Py(t,l,e,u){var a=(a=Rl.current)?Rn(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(ya(t)))&&!n._p&&(i.instance=n,i.state.loading=5),It.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},It.set(t,e),n||Dv(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=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="'+Lt(t)+'"'}function ya(t){return'link[rel="stylesheet"]['+t+"]"}function t0(t){return W({},t,{"data-precedence":t.precedence,precedence:null})}function Dv(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="'+Lt(t)+'"]'}function ha(t){return"script[async]"+t}function l0(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Lt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=W({},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),Nn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(ya(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=t0(e),(a=It.get(a))&&pc(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),Et(n,"link",u),l.state.loading|=4,Nn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ha(n)))?(l.instance=a,ht(a),a):(u=e,(a=It.get(n))&&(u=W({},e),Ac(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,Nn(u,e.precedence,t));return l.instance}function Nn(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 Uv(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 a0(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Hv(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(ya(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Bn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=t0(u),(a=It.get(a))&&pc(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),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=Bn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Oc=0;function Rv(t,l){return t.stylesheets&&t.count===0&&qn(t,t.stylesheets),0Oc?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Bn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Yn=null;function qn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Yn=new Map,l.forEach(Nv,t),Yn=null,Bn.call(t))}function Nv(t,l){if(!(l.state.loading&4)){var e=Yn.get(t);if(e)var u=e.get(null);else{e=new Map,Yn.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(g0)}catch(t){console.error(t)}}g0(),ls.exports=Ea;var b0=ls.exports;const Qv=ae({__proto__:null,default:Zc(b0)},[b0]);var E0={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 Gv=Symbol.for("react.transitional.element"),Xv=Symbol.for("react.fragment");function S0(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:Gv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Xv,Ln.jsx=S0,Ln.jsxs=S0,m0.exports=Ln;var mu=m0.exports;const g0=V.createContext(null);function Qv({namespace:t,children:l}){return mu.jsx(g0.Provider,{value:t,children:l})}function Zv(){return V.useContext(g0)}function xv(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=Zv();return xv(t,l!==void 0?l:e)}const Su=new WeakMap,Rc=new Set;function b0(t,l,e){const u={promise:l.finally(()=>{Su.get(t)===u&&(Su.delete(t),Rc.delete(t))}),covers:e,consumed:!1};return Su.set(t,u),Rc.add(t),u}function E0(t){const l=[];for(const e of Rc){if(e===t||!e.contains(t)&&!t.contains(e))continue;const u=Su.get(e);u&&l.push(u)}return l}function z0(t){var u;const l=(u=window.Shiny)==null?void 0:u.bindAll;if(!l)return Promise.resolve();const e=new WeakSet(Array.from(t.children));return b0(t,Promise.resolve(l(t)),e).promise}function T0(t,l){const e=E0(t).map(a=>a.promise);l&&e.push(l);const u=b0(t,Promise.allSettled(e).then(()=>z0(t)),null);return u.promise.catch(a=>{u.consumed||console.error("[shinyreact] ShinyOutput bindAll failed:",a)}),u}function Lv(t,l){const e=Su.get(l);if(e&&(!e.covers||e.covers.has(t)))return e.consumed=!0,e.promise;if(!e&&E0(l).length===0)return z0(l);const u=T0(l,e==null?void 0:e.promise);return u.consumed=!0,u.promise}function Kv(t){const l=Su.get(t);l&&T0(t,l.promise)}function Jv({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,f=i==null?void 0:i.parentElement;if(!i||!f||!((d=window.Shiny)!=null&&d.bindAll))return;const c=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{Lv(i,f).catch(r=>c(r,"bindAll"))}catch(r){c(r,"bindAll")}return()=>{var r,m;Kv(f);try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){c(y,"unbindAll")}}},[a,l]),Fc.createElement(l,{id:a,ref:n,...u})}const gu=Symbol("MISSING"),p0="1.0";function wv(){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 $v(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Wv(t){const l=e=>e.split(".")[0];l(t)!==l(p0)&&$v(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${p0}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Fv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=wv();if(a!=null&&a.protocolVersion?Wv(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[f,c]of Object.entries(n))t.add(f,c),i[f]=c;e._restore={"-applied":!0,"-values":i}}let Nc=!1,Kn=!1;const Cc=new Set;let A0=!1,O0,_0,M0;function D0(){for(const t of Cc)t()}function U0(){Nc||(Nc=!0,D0())}function H0(t){Kn!==t&&(Kn=t,D0())}function kv(){if(A0||typeof document>"u")return;A0=!0,document.documentElement.classList.contains("shiny-busy")&&(Kn=!0),O0=()=>H0(!0),_0=()=>H0(!1),document.addEventListener("shiny:busy",O0),document.addEventListener("shiny:idle",_0);const t=et();if(t){t.initializedPromise.then(U0);return}M0=()=>{const l=et();l&&l.initializedPromise.then(U0)},document.addEventListener("shiny:connected",M0,{once:!0})}function R0(t){return kv(),Cc.add(t),()=>{Cc.delete(t)}}function N0(){return Nc}function C0(){return Kn}class Iv{constructor(){I(this,"messageHandlers",new Map);I(this,"initialized",!1)}init(){if(this.initialized)return;const l=et();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 B0=new Iv;function Y0(){const t=et();return t?t.messageRegistry??(t.messageRegistry=B0):B0}function Pv(){et()&&Y0()}class tm{constructor(l){I(this,"id");I(this,"el");I(this,"status","pending");I(this,"hasValue",!1);I(this,"lastValue");I(this,"lastError",null);I(this,"useStateSetValueFns");I(this,"useStateSetStatusFns");I(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 lm{constructor(){I(this,"outputs",new Map);I(this,"bindAllScheduled",!1);I(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 tm(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 a,n;const e=this.outputs.get(l);if(!e||!e.isEmpty())return;this.outputs.delete(l);const u=e.el;if(u){try{(n=(a=et())==null?void 0:a.unbindAll)==null||n.call(a,u,!0)}catch(i){console.error(`[shinyreact] unbindAll failed for output "${l}":`,i)}u.remove()}this.scheduleBindAll()})}scheduleBindAll(){const l=et();!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 em(t){const l=et();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){n.message!==""&&console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Bc(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 ga=class ga{constructor(l,e){I(this,"id");I(this,"value");I(this,"useStateSetValueFns");I(this,"shinySetInputValueDebounced");I(this,"opts",{debounceMs:100});I(this,"type");I(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Bc(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ga.DEFAULT_TYPE}`;(a=(u=et())==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}:${ga.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===gu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};I(ga,"DEFAULT_TYPE","shinyreact.default");let Yc=ga;class um{constructor(){I(this,"inputs",new Map);I(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 Yc(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 q0;function V0(){return q0??(q0={inputs:new um,outputs:new lm}),q0}function am(){Zt()}function Zt(){const t=et();return t?t.reactRegistry??(t.reactRegistry=V0()):V0()}function Jn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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),c=V.useRef(l).current;let d=c;const m=Zt().inputs.get(i);m&&(d=m.getValue());const[y,v]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=Zt().inputs.getOrCreate(i,c);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,c,n]);const p=V.useCallback(H=>{if(!b)return;const s=Zt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const bu=()=>{};function j0(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();Oe();const i=Ml(t,e),f=V.useRef(l);return V.useEffect(()=>{if(!n)return;const c=Zt();return a(f.current),c.outputs.add(i,a,bu,bu)},[i,n]),u}function G0(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();Oe();const n=Ml(t,l);return V.useEffect(()=>a?Zt().outputs.add(n,bu,u,bu):void 0,[n,a]),e}function X0(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();Oe();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),Zt().outputs.add(n,bu,bu,u)):void 0,[n,a]),e}function nm(t,{namespace:l}={}){Oe();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=Zt().inputs.get(e);if(!i)return;const f=i.getValue();return f===gu?void 0:f}),n=le();return V.useEffect(()=>n?Zt().inputs.subscribe(e,c=>{a(c===gu?void 0:c)}):void 0,[e,n]),u}function im(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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),c=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=Zt().inputs.getOrCreate(i,c);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,c,n]),V.useCallback(r=>{if(!d)return;const y=Zt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function fm(t,l,{namespace:e}={}){const u=le();Oe();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=c=>n.current(c),f=Y0();return f.addHandler(a,i),()=>{f.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(R0,N0,N0)}function cm(){return V.useSyncExternalStore(R0,C0,C0)}let Q0=!1;function Oe(){Q0||(am(),Fv(Zt().inputs),em(()=>Zt().outputs),Pv(),Q0=!0)}function sm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const f=Ml(t,i),c={namespace:null},[d,r]=Jn(`.clientdata_output_${f}_width`,gu,c),[m,y]=Jn(`.clientdata_output_${f}_height`,gu,c),[v]=Jn(`.clientdata_output_${f}_hidden`,!1,c),b=j0(f,void 0,c),p=G0(f,c),H=X0(f,c),o=V.useRef(null),s=V.useRef(null),[h,S]=V.useState(0);V.useEffect(()=>{b&&S(A=>A+1)},[b]),V.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const T=V.useCallback(()=>{if(o.current){const A=o.current.clientWidth,E=o.current.clientHeight;A>0&&E>0&&(r(A),y(E))}},[r,y]);if(V.useEffect(()=>{const A=o.current;if(!A)return;A.addEventListener("load",T);const E=Bc(()=>{A&&A.complete&&T()},a),O=new ResizeObserver(M=>{for(const R of M)R.target===A&&E()});return O.observe(A),()=>{A.removeEventListener("load",T),O.disconnect(),E.cancel()}},[o,h,r,y,a,T]),V.useEffect(()=>{if(b&&!H)return;const A=s.current;if(!A)return;const E=()=>{const R=A.clientWidth,At=A.clientHeight;R>0&&At>0&&(r(R),y(At))};E();const O=Bc(E,a),M=new ResizeObserver(()=>O());return M.observe(A),()=>{M.disconnect(),O.cancel()}},[b,H,r,y,a]),v)return null;if(H){const A=["shiny-output-error",...[].concat(H.type??[]).map(E=>`shiny-output-error-${E}`),l];return mu.jsx("div",{ref:s,className:A.filter(Boolean).join(" "),style:{width:e,height:u},children:H.message})}return b?mu.jsx("img",{ref:o,src:b.src,alt:b.alt??"",className:l,style:{width:e,height:u},onLoad:T}):mu.jsx("div",{ref:s,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:mu.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:mu.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}function om(){window.shinyreact={useSetShinyInput:im,useShinyBusy:cm,useShinyInput:Jn,useShinyInputValue:nm,useShinyOutputError:X0,useShinyOutputStatus:G0,useShinyOutputValue:j0,useShinyMessageHandler:fm,useShinyInitialized:le,ImageOutput:sm,MISSING:gu,ShinyModuleProvider:Qv,ShinyOutput:Jv,React:Fc,ReactDOM:jv}}om(),x0()})(); + */var Xv=Symbol.for("react.transitional.element"),Zv=Symbol.for("react.fragment");function z0(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:Xv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Zv,Ln.jsx=z0,Ln.jsxs=z0,E0.exports=Ln;var mu=E0.exports;const T0=q.createContext(null);function xv({namespace:t,children:l}){return mu.jsx(T0.Provider,{value:t,children:l})}function Lv(){return q.useContext(T0)}function Kv(t,l){return l?`${l}-${t}`:t}function Dl(t,l){const e=Lv();return Kv(t,l!==void 0?l:e)}const Su=new WeakMap,Nc=new Set;function p0(t,l,e){const u={promise:l.finally(()=>{Su.get(t)===u&&(Su.delete(t),Nc.delete(t))}),covers:e,consumed:!1};return Su.set(t,u),Nc.add(t),u}function A0(t){const l=[];for(const e of Nc){if(e===t||!e.contains(t)&&!t.contains(e))continue;const u=Su.get(e);u&&l.push(u)}return l}function O0(t){var u;const l=(u=window.Shiny)==null?void 0:u.bindAll;if(!l)return Promise.resolve();const e=new WeakSet(Array.from(t.children));return p0(t,Promise.resolve(l(t)),e).promise}function _0(t,l){const e=A0(t).map(a=>a.promise);l&&e.push(l);const u=p0(t,Promise.allSettled(e).then(()=>O0(t)),null);return u.promise.catch(a=>{u.consumed||console.error("[shinyreact] ShinyOutput bindAll failed:",a)}),u}function Jv(t,l){const e=Su.get(l);if(e&&(!e.covers||e.covers.has(t)))return e.consumed=!0,e.promise;if(!e&&A0(l).length===0)return O0(l);const u=_0(l,e==null?void 0:e.promise);return u.consumed=!0,u.promise}function wv(t){const l=Su.get(t);l&&_0(t,l.promise)}function $v({id:t,tagName:l="div",namespace:e,...u}){const a=Dl(t,e),n=q.useRef(null);return q.useEffect(()=>{var d;const i=n.current,f=i==null?void 0:i.parentElement;if(!i||!f||!((d=window.Shiny)!=null&&d.bindAll))return;const c=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{Jv(i,f).catch(r=>c(r,"bindAll"))}catch(r){c(r,"bindAll")}return()=>{var r,m;wv(f);try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){c(y,"unbindAll")}}},[a,l]),ts.createElement(l,{id:a,ref:n,...u})}const gu=Symbol("MISSING"),M0="1.0";function Wv(){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 Fv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function kv(t){const l=e=>e.split(".")[0];l(t)!==l(M0)&&Fv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${M0}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Iv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Wv();if(a!=null&&a.protocolVersion?kv(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[f,c]of Object.entries(n))t.add(f,c),i[f]=c;e._restore={"-applied":!0,"-values":i}}let Cc=!1,Kn=!1,Jn=!1;const Bc=new Set;let D0=!1,U0=[];function Yc(){for(const t of Bc)t()}function H0(){Cc||(Cc=!0,Yc())}function R0(t){Kn!==t&&(Kn=t,Yc())}function N0(t){Jn!==t&&(Jn=t,Yc())}function Pv(){var e;if(D0||typeof document>"u")return;D0=!0,document.documentElement.classList.contains("shiny-busy")&&(Kn=!0);const t=tt();if(Jn=((e=t==null?void 0:t.shinyapp)==null?void 0:e.isConnected())??!1,U0=[Pt("shiny:busy",()=>R0(!0)),Pt("shiny:idle",()=>R0(!1)),Pt("shiny:connected",()=>N0(!0)),Pt("shiny:disconnected",()=>N0(!1))],t){t.initializedPromise.then(H0);return}const l=Pt("shiny:connected",()=>{var u;l(),(u=tt())==null||u.initializedPromise.then(H0)});U0.push(l)}function qc(t){return Pv(),Bc.add(t),()=>{Bc.delete(t)}}function C0(){return Cc}function B0(){return Kn}function Y0(){return Jn}class tm{constructor(){I(this,"messageHandlers",new Map);I(this,"initialized",!1)}init(){if(this.initialized)return;const l=tt();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 q0=new tm;function V0(){const t=tt();return t?t.messageRegistry??(t.messageRegistry=q0):q0}function lm(){tt()&&V0()}class em{constructor(l){I(this,"id");I(this,"el");I(this,"status","pending");I(this,"hasValue",!1);I(this,"lastValue");I(this,"lastError",null);I(this,"useStateSetValueFns");I(this,"useStateSetStatusFns");I(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 um{constructor(){I(this,"outputs",new Map);I(this,"bindAllScheduled",!1);I(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 em(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 a,n;const e=this.outputs.get(l);if(!e||!e.isEmpty())return;this.outputs.delete(l);const u=e.el;if(u){try{(n=(a=tt())==null?void 0:a.unbindAll)==null||n.call(a,u,!0)}catch(i){console.error(`[shinyreact] unbindAll failed for output "${l}":`,i)}u.remove()}this.scheduleBindAll()})}scheduleBindAll(){const l=tt();!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 am(t){const l=tt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){n.message!==""&&console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Vc(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 ga=class ga{constructor(l,e){I(this,"id");I(this,"value");I(this,"useStateSetValueFns");I(this,"shinySetInputValueDebounced");I(this,"opts",{debounceMs:100});I(this,"type");I(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Vc(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ga.DEFAULT_TYPE}`;(a=(u=tt())==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}:${ga.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===gu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};I(ga,"DEFAULT_TYPE","shinyreact.default");let jc=ga;class nm{constructor(){I(this,"inputs",new Map);I(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 jc(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 j0;function G0(){return j0??(j0={inputs:new nm,outputs:new um}),j0}function im(){Zt()}function Zt(){const t=tt();return t?t.reactRegistry??(t.reactRegistry=G0()):G0()}function wn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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=Dl(t,a),c=q.useRef(l).current;let d=c;const m=Zt().inputs.get(i);m&&(d=m.getValue());const[y,v]=q.useState(d),b=ee();q.useEffect(()=>{if(!b)return;const o=Zt().inputs.getOrCreate(i,c);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,c,n]);const p=q.useCallback(H=>{if(!b)return;const s=Zt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const bu=()=>{};function Q0(t,l=void 0,{namespace:e}={}){const[u,a]=q.useState(l),n=ee();Oe();const i=Dl(t,e),f=q.useRef(l);return q.useEffect(()=>{if(!n)return;const c=Zt();return a(f.current),c.outputs.add(i,a,bu,bu)},[i,n]),u}function X0(t,{namespace:l}={}){const[e,u]=q.useState("pending"),a=ee();Oe();const n=Dl(t,l);return q.useEffect(()=>a?Zt().outputs.add(n,bu,u,bu):void 0,[n,a]),e}function Z0(t,{namespace:l}={}){const[e,u]=q.useState(null),a=ee();Oe();const n=Dl(t,l);return q.useEffect(()=>a?(u(null),Zt().outputs.add(n,bu,bu,u)):void 0,[n,a]),e}function fm(t,{namespace:l}={}){Oe();const e=Dl(t,l),[u,a]=q.useState(()=>{const i=Zt().inputs.get(e);if(!i)return;const f=i.getValue();return f===gu?void 0:f}),n=ee();return q.useEffect(()=>n?Zt().inputs.subscribe(e,c=>{a(c===gu?void 0:c)}):void 0,[e,n]),u}function cm(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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=Dl(t,a),c=q.useRef(l).current,d=ee();return q.useEffect(()=>{if(!d)return;const m=Zt().inputs.getOrCreate(i,c);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,c,n]),q.useCallback(r=>{if(!d)return;const y=Zt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function sm(t,l,{namespace:e}={}){const u=ee();Oe();const a=Dl(t,e),n=q.useRef(l);n.current=l,q.useEffect(()=>{if(!u||!a)return;const i=c=>n.current(c),f=V0();return f.addHandler(a,i),()=>{f.removeHandler(a,i)}},[u,a])}function ee(){return q.useSyncExternalStore(qc,C0,C0)}function om(){return q.useSyncExternalStore(qc,B0,B0)}function dm(){return q.useSyncExternalStore(qc,Y0,Y0)}let x0=!1;function Oe(){x0||(im(),Iv(Zt().inputs),am(()=>Zt().outputs),lm(),x0=!0)}function ym({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const f=Dl(t,i),c={namespace:null},[d,r]=wn(`.clientdata_output_${f}_width`,gu,c),[m,y]=wn(`.clientdata_output_${f}_height`,gu,c),[v]=wn(`.clientdata_output_${f}_hidden`,!1,c),b=Q0(f,void 0,c),p=X0(f,c),H=Z0(f,c),o=q.useRef(null),s=q.useRef(null),[h,S]=q.useState(0);q.useEffect(()=>{b&&S(A=>A+1)},[b]),q.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const T=q.useCallback(()=>{if(o.current){const A=o.current.clientWidth,E=o.current.clientHeight;A>0&&E>0&&(r(A),y(E))}},[r,y]);if(q.useEffect(()=>{const A=o.current;if(!A)return;A.addEventListener("load",T);const E=Vc(()=>{A&&A.complete&&T()},a),O=new ResizeObserver(M=>{for(const R of M)R.target===A&&E()});return O.observe(A),()=>{A.removeEventListener("load",T),O.disconnect(),E.cancel()}},[o,h,r,y,a,T]),q.useEffect(()=>{if(b&&!H)return;const A=s.current;if(!A)return;const E=()=>{const R=A.clientWidth,At=A.clientHeight;R>0&&At>0&&(r(R),y(At))};E();const O=Vc(E,a),M=new ResizeObserver(()=>O());return M.observe(A),()=>{M.disconnect(),O.cancel()}},[b,H,r,y,a]),v)return null;if(H){const A=["shiny-output-error",...[].concat(H.type??[]).map(E=>`shiny-output-error-${E}`),l];return mu.jsx("div",{ref:s,className:A.filter(Boolean).join(" "),style:{width:e,height:u},children:H.message})}return b?mu.jsx("img",{ref:o,src:b.src,alt:b.alt??"",className:l,style:{width:e,height:u},onLoad:T}):mu.jsx("div",{ref:s,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:mu.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:mu.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}function hm(){window.shinyreact={useSetShinyInput:cm,useShinyBusy:om,useShinyConnected:dm,useShinyInput:wn,useShinyInputValue:fm,useShinyOutputError:Z0,useShinyOutputStatus:X0,useShinyOutputValue:Q0,useShinyMessageHandler:sm,useShinyInitialized:ee,ImageOutput:ym,MISSING:gu,ShinyModuleProvider:xv,ShinyOutput:$v,React:ts,ReactDOM:Qv}}hm(),K0()})(); diff --git a/pkg-js/src/__tests__/global.test.ts b/pkg-js/src/__tests__/global.test.ts index c2a6234e..8c344767 100644 --- a/pkg-js/src/__tests__/global.test.ts +++ b/pkg-js/src/__tests__/global.test.ts @@ -20,6 +20,7 @@ describe("installGlobal", () => { "ShinyOutput", "useSetShinyInput", "useShinyBusy", + "useShinyConnected", "useShinyInitialized", "useShinyInput", "useShinyInputValue", diff --git a/pkg-js/src/dep-discovery.ts b/pkg-js/src/dep-discovery.ts index 4422986b..4f3f56f0 100644 --- a/pkg-js/src/dep-discovery.ts +++ b/pkg-js/src/dep-discovery.ts @@ -1,4 +1,5 @@ import { getShiny } from "./shiny-react/get-shiny"; +import { onShinyEvent } from "./shiny-react/shiny-events"; /** * Client half of automatic renderer dependency discovery (issues #146/#203; @@ -62,11 +63,11 @@ export function installDepDiscovery(): void { // Wait for Shiny. NOT `{ once: true }`: `shiny:connected` can fire before // `window.Shiny` is readable, and a one-shot listener would consume the // event, leave `start()` a no-op, and never install discovery at all. Stay - // subscribed until Shiny is actually there, then unsubscribe. - const onConnected = (): void => { + // subscribed until Shiny is actually there, then unsubscribe. Shiny fires + // this through jQuery, so a plain addEventListener() would never see it. + const stop = onShinyEvent("shiny:connected", () => { if (!getShiny()) return; - document.removeEventListener("shiny:connected", onConnected); + stop(); start(); - }; - document.addEventListener("shiny:connected", onConnected); + }); } diff --git a/pkg-js/src/global.ts b/pkg-js/src/global.ts index bf8b20ca..597caaae 100644 --- a/pkg-js/src/global.ts +++ b/pkg-js/src/global.ts @@ -11,6 +11,7 @@ import { ShinyOutput } from "./shiny-output"; import { useSetShinyInput, useShinyBusy, + useShinyConnected, useShinyInput, useShinyInputValue, useShinyOutputError, @@ -31,6 +32,7 @@ declare global { shinyreact: { useSetShinyInput: typeof useSetShinyInput; useShinyBusy: typeof useShinyBusy; + useShinyConnected: typeof useShinyConnected; useShinyInput: typeof useShinyInput; useShinyInputValue: typeof useShinyInputValue; useShinyOutputError: typeof useShinyOutputError; @@ -59,6 +61,7 @@ export function installGlobal(): void { window.shinyreact = { useSetShinyInput, useShinyBusy, + useShinyConnected, useShinyInput, useShinyInputValue, useShinyOutputError, diff --git a/pkg-js/src/npm.ts b/pkg-js/src/npm.ts index 835a7107..bc776b01 100644 --- a/pkg-js/src/npm.ts +++ b/pkg-js/src/npm.ts @@ -15,7 +15,7 @@ * @groupDescription Messaging * Receive `send_message()` payloads from the server. * @groupDescription Session - * Observe the Shiny session itself — connected yet, busy right now. + * Observe the Shiny session itself — initialized yet, connected, busy right now. * @groupDescription Components * Render traditional Shiny outputs inside a React tree. * @groupDescription Utilities @@ -70,6 +70,7 @@ installDepDiscovery(); export { useSetShinyInput, useShinyBusy, + useShinyConnected, useShinyInput, useShinyInputValue, useShinyOutputError, diff --git a/pkg-js/src/shiny-react/__tests__/use-shiny-connected.test.tsx b/pkg-js/src/shiny-react/__tests__/use-shiny-connected.test.tsx new file mode 100644 index 00000000..73d7257d --- /dev/null +++ b/pkg-js/src/shiny-react/__tests__/use-shiny-connected.test.tsx @@ -0,0 +1,131 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { act, renderHook } from "@testing-library/react"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +let mockShiny: any = undefined; +vi.mock("../get-shiny", () => ({ + getShiny: () => mockShiny, +})); + +import { __resetLifecycleStoreForTests } from "../lifecycle-store"; +import { useShinyBusy, useShinyConnected } from "../use-shiny"; + +// A stand-in for the page's jQuery with the one property that matters here: +// `trigger()` calls jQuery handlers only. Real jQuery does the same for custom +// events, which is why Shiny's `$(document).trigger("shiny:disconnected")` +// never reaches an `addEventListener()` listener (#328). +function installFakeJQuery() { + const handlers = new Map void>>(); + const $doc = { + on(type: string, fn: () => void) { + if (!handlers.has(type)) handlers.set(type, new Set()); + handlers.get(type)!.add(fn); + }, + off(type: string, fn: () => void) { + handlers.get(type)?.delete(fn); + }, + }; + (window as any).jQuery = () => $doc; + return { + trigger: (type: string) => + act(() => handlers.get(type)?.forEach((fn) => fn())), + count: (type: string) => handlers.get(type)?.size ?? 0, + }; +} + +beforeEach(() => { + mockShiny = undefined; + __resetLifecycleStoreForTests(); +}); + +afterEach(() => { + __resetLifecycleStoreForTests(); + delete (window as any).jQuery; +}); + +describe("useShinyConnected", () => { + it("is false before the socket opens", () => { + const { result } = renderHook(() => useShinyConnected()); + expect(result.current).toBe(false); + }); + + it("follows connect, disconnect, and reconnect", () => { + const { result } = renderHook(() => useShinyConnected()); + + act(() => { + document.dispatchEvent(new Event("shiny:connected")); + }); + expect(result.current).toBe(true); + + act(() => { + document.dispatchEvent(new Event("shiny:disconnected")); + }); + expect(result.current).toBe(false); + + act(() => { + document.dispatchEvent(new Event("shiny:connected")); + }); + expect(result.current).toBe(true); + }); + + it("seeds true when the socket is already open at first mount", () => { + mockShiny = { + initializedPromise: new Promise(() => {}), + shinyapp: { isConnected: () => true }, + }; + const { result } = renderHook(() => useShinyConnected()); + expect(result.current).toBe(true); + }); +}); + +describe("lifecycle events fired through jQuery (#328)", () => { + it("useShinyConnected sees a jQuery-only shiny:disconnected", () => { + const $ = installFakeJQuery(); + const { result } = renderHook(() => useShinyConnected()); + + $.trigger("shiny:connected"); + expect(result.current).toBe(true); + $.trigger("shiny:disconnected"); + expect(result.current).toBe(false); + }); + + it("useShinyBusy sees jQuery-only shiny:busy / shiny:idle", () => { + const $ = installFakeJQuery(); + const { result } = renderHook(() => useShinyBusy()); + + $.trigger("shiny:busy"); + expect(result.current).toBe(true); + $.trigger("shiny:idle"); + expect(result.current).toBe(false); + }); + + it("detaches its jQuery handlers on reset", () => { + const $ = installFakeJQuery(); + renderHook(() => useShinyConnected()); + expect($.count("shiny:disconnected")).toBe(1); + + __resetLifecycleStoreForTests(); + expect($.count("shiny:disconnected")).toBe(0); + }); +}); + +describe("Shiny present without jQuery", () => { + it("warns, since native listeners never hear Shiny's events", () => { + const warn = vi.spyOn(console, "warn").mockImplementation(() => {}); + mockShiny = { initializedPromise: new Promise(() => {}) }; + renderHook(() => useShinyConnected()); + expect(warn).toHaveBeenCalledWith( + expect.stringContaining("window.jQuery is not"), + ); + warn.mockRestore(); + }); + + it("stays quiet when jQuery is there", () => { + const warn = vi.spyOn(console, "warn").mockImplementation(() => {}); + installFakeJQuery(); + mockShiny = { initializedPromise: new Promise(() => {}) }; + renderHook(() => useShinyConnected()); + expect(warn).not.toHaveBeenCalled(); + warn.mockRestore(); + }); +}); diff --git a/pkg-js/src/shiny-react/index.ts b/pkg-js/src/shiny-react/index.ts index 5080a5b3..924b5866 100644 --- a/pkg-js/src/shiny-react/index.ts +++ b/pkg-js/src/shiny-react/index.ts @@ -17,6 +17,7 @@ export type { OutputStatus, ErrorsMessageValue } from "./output-registry"; export { useSetShinyInput, useShinyBusy, + useShinyConnected, useShinyInitialized, useShinyInput, useShinyInputValue, diff --git a/pkg-js/src/shiny-react/lifecycle-store.ts b/pkg-js/src/shiny-react/lifecycle-store.ts index 0d5c13f0..cd4ed220 100644 --- a/pkg-js/src/shiny-react/lifecycle-store.ts +++ b/pkg-js/src/shiny-react/lifecycle-store.ts @@ -1,11 +1,12 @@ /** * Shared external store for Shiny RUNTIME-GLOBAL lifecycle state - * (`initialized`, `busy`). + * (`initialized`, `busy`, `connected`). * - * Why this exists: `initialized` and `busy` are properties of the surrounding - * Shiny runtime, not of any one React component. A single subscription per - * page avoids N duplicate DOM listeners and N redundant state writes per - * `shiny:busy` / `shiny:idle` tick when many components use Shiny hooks. + * Why this exists: `initialized`, `busy` and `connected` are properties of + * the surrounding Shiny runtime, not of any one React component. A single + * subscription per page avoids N duplicate DOM listeners and N redundant state + * writes per `shiny:busy` / `shiny:idle` tick when many components use Shiny + * hooks. * * Scope: this pattern is ONLY appropriate for hooks that derive a single * page-global value from runtime events. Per-id hooks @@ -20,18 +21,18 @@ */ import { getShiny } from "./get-shiny"; +import { onShinyEvent } from "./shiny-events"; let initialized = false; let busy = false; +let connected = false; const listeners = new Set<() => void>(); let started = false; -// Handler refs are kept so `__resetLifecycleStoreForTests` can detach them -// cleanly between tests. In production these never get removed. -let onBusyEvent: (() => void) | undefined; -let onIdleEvent: (() => void) | undefined; -let onConnectedEvent: (() => void) | undefined; +// Kept so `__resetLifecycleStoreForTests` can detach the event listeners +// cleanly between tests. In production they are never removed. +let stopListening: (() => void)[] = []; function emit(): void { for (const listener of listeners) { @@ -51,6 +52,12 @@ function setBusy(next: boolean): void { emit(); } +function setConnected(next: boolean): void { + if (connected === next) return; + connected = next; + emit(); +} + function start(): void { if (started) return; @@ -69,28 +76,35 @@ function start(): void { if (document.documentElement.classList.contains("shiny-busy")) { busy = true; } - onBusyEvent = () => setBusy(true); - onIdleEvent = () => setBusy(false); - document.addEventListener("shiny:busy", onBusyEvent); - document.addEventListener("shiny:idle", onIdleEvent); - + // Seed `connected` the same way, for a consumer mounting after the socket + // opened. `shinyapp` is absent before Shiny initializes; `false` is right. const shiny = getShiny(); + connected = shiny?.shinyapp?.isConnected() ?? false; + + // Shiny fires these through jQuery; `onShinyEvent` explains why that + // matters. `shiny:connected` fires again after every reconnect. + stopListening = [ + onShinyEvent("shiny:busy", () => setBusy(true)), + onShinyEvent("shiny:idle", () => setBusy(false)), + onShinyEvent("shiny:connected", () => setConnected(true)), + onShinyEvent("shiny:disconnected", () => setConnected(false)), + ]; + if (shiny) { // eslint-disable-next-line @typescript-eslint/no-floating-promises shiny.initializedPromise.then(markInitialized); return; } - onConnectedEvent = () => { - const s = getShiny(); - if (s) { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - s.initializedPromise.then(markInitialized); - } - }; - document.addEventListener("shiny:connected", onConnectedEvent, { - once: true, + // Shiny loads after the React tree mounted: wait for it to connect. One + // shot — the first `shiny:connected` either finds `window.Shiny` or never + // will, which is the "stays false" case FEATURES.md pins. + const stopWaiting = onShinyEvent("shiny:connected", () => { + stopWaiting(); + // eslint-disable-next-line @typescript-eslint/no-floating-promises + getShiny()?.initializedPromise.then(markInitialized); }); + stopListening.push(stopWaiting); } export function subscribeLifecycle(listener: () => void): () => void { @@ -109,28 +123,20 @@ export function getBusySnapshot(): boolean { return busy; } +export function getConnectedSnapshot(): boolean { + return connected; +} + /** * Test-only: reset module-level state and detach DOM listeners installed * by `start()`. Intentionally not re-exported from `index.ts`. */ export function __resetLifecycleStoreForTests(): void { - if (typeof document !== "undefined") { - if (onBusyEvent) { - document.removeEventListener("shiny:busy", onBusyEvent); - } - if (onIdleEvent) { - document.removeEventListener("shiny:idle", onIdleEvent); - } - if (onConnectedEvent) { - // No-op if `shiny:connected` already fired (registered with `once: true`). - document.removeEventListener("shiny:connected", onConnectedEvent); - } - } - onBusyEvent = undefined; - onIdleEvent = undefined; - onConnectedEvent = undefined; + stopListening.forEach((stop) => stop()); + stopListening = []; initialized = false; busy = false; + connected = false; listeners.clear(); started = false; } diff --git a/pkg-js/src/shiny-react/shiny-events.ts b/pkg-js/src/shiny-react/shiny-events.ts new file mode 100644 index 00000000..35c23772 --- /dev/null +++ b/pkg-js/src/shiny-react/shiny-events.ts @@ -0,0 +1,40 @@ +import { getShiny } from "./get-shiny"; + +type JQueryDocument = { + on(type: string, fn: () => void): unknown; + off(type: string, fn: () => void): unknown; +}; + +/** + * Listen for a Shiny lifecycle event (`shiny:connected`, `shiny:busy`, ...) on + * `document`, and return a function that stops listening. + * + * Shiny fires these with jQuery's `trigger()`, which calls jQuery handlers + * only — an `addEventListener()` listener never sees them (#328). So listen + * through jQuery when the page has it. A jQuery handler also receives native + * `dispatchEvent()` events, so either kind of sender reaches it. + * + * Without jQuery (no Shiny page, or jsdom tests) fall back to a native + * listener. `window.jQuery` is read at call time, so this must run after + * jQuery loads; Shiny itself needs jQuery, so a page with `window.Shiny` and + * no `window.jQuery` is a load-order bug, and we warn. + * + * Not handled: a second jQuery loaded after Shiny's replaces `window.jQuery`, + * and Shiny's `trigger()` only calls handlers bound through its own copy. + */ +export function onShinyEvent(type: string, fn: () => void): () => void { + const jQuery = (window as { jQuery?: (el: Document) => JQueryDocument }) + .jQuery; + if (jQuery) { + jQuery(document).on(type, fn); + return () => jQuery(document).off(type, fn); + } + if (getShiny()) { + console.warn( + `[shinyreact] window.Shiny is present but window.jQuery is not; ` + + `"${type}" will never be heard.`, + ); + } + document.addEventListener(type, fn); + return () => document.removeEventListener(type, fn); +} diff --git a/pkg-js/src/shiny-react/use-shiny.ts b/pkg-js/src/shiny-react/use-shiny.ts index d68dac7c..051a3f67 100644 --- a/pkg-js/src/shiny-react/use-shiny.ts +++ b/pkg-js/src/shiny-react/use-shiny.ts @@ -15,6 +15,7 @@ import { getShiny } from "./get-shiny"; import { type InputRegistryEntry } from "./input-registry"; import { getBusySnapshot, + getConnectedSnapshot, getInitializedSnapshot, subscribeLifecycle, } from "./lifecycle-store"; @@ -663,6 +664,27 @@ export function useShinyBusy(): boolean { ); } +/** + * A React hook that tracks whether the Shiny session's websocket is connected. + * + * `false` until the socket opens, `true` while it is open, and `false` again + * once it closes — the moment Shiny greys out the page. If Shiny reconnects, + * it flips back to `true`. Unlike `useShinyInitialized()`, which stays `true` + * for the life of the page, this one tells you the session is gone. + * + * Reads from the same shared lifecycle store as `useShinyBusy()`. + * + * @returns A boolean indicating whether the Shiny session is connected. + * @group Session + */ +export function useShinyConnected(): boolean { + return useSyncExternalStore( + subscribeLifecycle, + getConnectedSnapshot, + getConnectedSnapshot, + ); +} + let shinyReactInitialized = false; function ensureShinyReactInitialized() { if (shinyReactInitialized) { 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 a204ff77..3377eefb 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 @@ -252,7 +252,8 @@ an npm-tier build). | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | | **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | -Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and +Plus `useShinyInitialized()`, `useShinyConnected()`, `useShinyBusy()`, +`useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. **Pick the narrowest hook that fits the call site.** A button that pushes and @@ -328,6 +329,11 @@ 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. +**Lost connection** — `useShinyInitialized()` stays `true` after the session +disconnects. To react to a dropped session (a "reconnecting…" banner, disabled +controls), use `useShinyConnected()`: `false` once the socket closes, `true` +again if Shiny reconnects. + **App-wide activity** — `useShinyBusy()` is a boolean that tracks Shiny's `shiny:busy` / `shiny:idle` events, i.e. whether the server is working on *anything*: 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 cb5d93d0..84b0f30d 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 @@ -7,6 +7,7 @@ them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | +| `useShinyConnected()` | whether the WebSocket is open *now* (`false` after a disconnect) | | `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 | diff --git a/pkg-py/src/shinyreact/www/shinyreact.js b/pkg-py/src/shinyreact/www/shinyreact.js index 13ae75ad..cc17fcf2 100644 --- a/pkg-py/src/shinyreact/www/shinyreact.js +++ b/pkg-py/src/shinyreact/www/shinyreact.js @@ -1,4 +1,4 @@ -var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[et]=ae;var I=(ue,et,ae)=>hm(ue,typeof et!="symbol"?et+"":et,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 et(){if(!(typeof window>"u"))return window.Shiny}let ae=!1;function x0(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=et();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(et()){t();return}const l=()=>{et()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function jc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Gc={exports:{}},D={};/** +var vm=Object.defineProperty;var mm=(ae,tt,Pt)=>tt in ae?vm(ae,tt,{enumerable:!0,configurable:!0,writable:!0,value:Pt}):ae[tt]=Pt;var I=(ae,tt,Pt)=>mm(ae,typeof tt!="symbol"?tt+"":tt,Pt);(function(){"use strict";function ae(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function tt(){if(!(typeof window>"u"))return window.Shiny}function Pt(t,l){const e=window.jQuery;return e?(e(document).on(t,l),()=>e(document).off(t,l)):(tt()&&console.warn(`[shinyreact] window.Shiny is present but window.jQuery is not; "${t}" will never be heard.`),document.addEventListener(t,l),()=>document.removeEventListener(t,l))}let Xc=!1;function K0(){if(typeof document>"u"||Xc)return;Xc=!0;const t=()=>{const e=tt();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(tt()){t();return}const l=Pt("shiny:connected",()=>{tt()&&(l(),t())})}function Zc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var xc={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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 Fn=Symbol.for("react.transitional.element"),L0=Symbol.for("react.portal"),K0=Symbol.for("react.fragment"),J0=Symbol.for("react.strict_mode"),w0=Symbol.for("react.profiler"),$0=Symbol.for("react.consumer"),W0=Symbol.for("react.context"),F0=Symbol.for("react.forward_ref"),k0=Symbol.for("react.suspense"),I0=Symbol.for("react.memo"),Xc=Symbol.for("react.lazy"),P0=Symbol.for("react.activity"),Qc=Symbol.iterator;function th(t){return t===null||typeof t!="object"?null:(t=Qc&&t[Qc]||t["@@iterator"],typeof t=="function"?t:null)}var Zc={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},xc=Object.assign,Lc={};function Me(t,l,e){this.props=t,this.context=l,this.refs=Lc,this.updater=e||Zc}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 Kc(){}Kc.prototype=Me.prototype;function kn(t,l,e){this.props=t,this.context=l,this.refs=Lc,this.updater=e||Zc}var In=kn.prototype=new Kc;In.constructor=kn,xc(In,Me.prototype),In.isPureReactComponent=!0;var Jc=Array.isArray;function Pn(){}var w={H:null,A:null,T:null,S:null},wc=Object.prototype.hasOwnProperty;function ti(t,l,e){var u=e.ref;return{$$typeof:Fn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function lh(t,l){return ti(t.type,l,t.props)}function li(t){return typeof t=="object"&&t!==null&&t.$$typeof===Fn}function eh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var $c=/\/+/g;function ei(t,l){return typeof t=="object"&&t!==null&&t.key!=null?eh(""+t.key):l.toString(36)}function uh(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(Pn,Pn):(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 Fn:case L0:i=!0;break;case Xc:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+ei(t,0):u,Jc(a)?(e="",i!=null&&(e=i.replace($c,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(li(a)&&(a=lh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace($c,"$&/")+"/")+i)),l.push(a)),1;i=0;var f=u===""?".":u+":";if(Jc(t))for(var c=0;cet in ue?ym(ue,et,{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(z,Y){var N=z.length;z.push(Y);t:for(;0>>1,vt=z[nt];if(0>>1;nta(Vc,N))_ea(Wn,Vc)?(z[nt]=Wn,z[_e]=N,nt=_e):(z[nt]=Vc,z[$n]=N,nt=$n);else if(_ea(Wn,N))z[nt]=Wn,z[_e]=N,nt=_e;else break t}}return Y}function a(z,Y){var N=z.sortIndex-Y.sortIndex;return N!==0?N:z.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,f=i.now();t.unstable_now=function(){return i.now()-f}}var c=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(z){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=z)u(d),Y.sortIndex=Y.expirationTime,l(c,Y);else break;Y=e(d)}}function T(z){if(p=!1,S(z),!b)if(e(c)!==null)b=!0,A||(A=!0,ee());else{var Y=e(d);Y!==null&&qc(T,Y.startTime-z)}}var A=!1,E=-1,O=5,M=-1;function R(){return H?!0:!(t.unstable_now()-Mz&&R());){var nt=m.callback;if(typeof nt=="function"){m.callback=null,y=m.priorityLevel;var vt=nt(m.expirationTime<=z);if(z=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(z),Y=!0;break l}m===e(c)&&u(c),S(z)}else u(c);m=e(c)}if(m!==null)Y=!0;else{var wn=e(d);wn!==null&&qc(T,wn.startTime-z),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ee():A=!1}}}var ee;if(typeof h=="function")ee=function(){h(At)};else if(typeof MessageChannel<"u"){var Z0=new MessageChannel,dm=Z0.port2;Z0.port1.onmessage=At,ee=function(){dm.postMessage(null)}}else ee=function(){o(At,0)};function qc(z,Y){E=o(function(){z(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(z){z.callback=null},t.unstable_forceFrameRate=function(z){0>z||125nt?(z.sortIndex=N,l(d,z),e(c)===null&&z===e(d)&&(p?(s(E),E=-1):p=!0,qc(T,N-nt))):(z.sortIndex=vt,l(c,z),b||v||(b=!0,A||(A=!0,ee()))),z},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(z){var Y=y;return function(){var N=y;y=Y;try{return z.apply(this,arguments)}finally{y=N}}}})(Pc),Ic.exports=Pc;var ih=Ic.exports,ts={exports:{}},zt={};/** + */(function(t){function l(z,Y){var N=z.length;z.push(Y);t:for(;0>>1,vt=z[nt];if(0>>1;nt<$n;){var Wn=2*(nt+1)-1,Qc=z[Wn],_e=Wn+1,Fn=z[_e];if(0>a(Qc,N))_ea(Fn,Qc)?(z[nt]=Fn,z[_e]=N,nt=_e):(z[nt]=Qc,z[Wn]=N,nt=Wn);else if(_ea(Fn,N))z[nt]=Fn,z[_e]=N,nt=_e;else break t}}return Y}function a(z,Y){var N=z.sortIndex-Y.sortIndex;return N!==0?N:z.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,f=i.now();t.unstable_now=function(){return i.now()-f}}var c=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(z){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=z)u(d),Y.sortIndex=Y.expirationTime,l(c,Y);else break;Y=e(d)}}function T(z){if(p=!1,S(z),!b)if(e(c)!==null)b=!0,A||(A=!0,ue());else{var Y=e(d);Y!==null&&Gc(T,Y.startTime-z)}}var A=!1,E=-1,O=5,M=-1;function R(){return H?!0:!(t.unstable_now()-Mz&&R());){var nt=m.callback;if(typeof nt=="function"){m.callback=null,y=m.priorityLevel;var vt=nt(m.expirationTime<=z);if(z=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(z),Y=!0;break l}m===e(c)&&u(c),S(z)}else u(c);m=e(c)}if(m!==null)Y=!0;else{var $n=e(d);$n!==null&&Gc(T,$n.startTime-z),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ue():A=!1}}}var ue;if(typeof h=="function")ue=function(){h(At)};else if(typeof MessageChannel<"u"){var L0=new MessageChannel,rm=L0.port2;L0.port1.onmessage=At,ue=function(){rm.postMessage(null)}}else ue=function(){o(At,0)};function Gc(z,Y){E=o(function(){z(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(z){z.callback=null},t.unstable_forceFrameRate=function(z){0>z||125nt?(z.sortIndex=N,l(d,z),e(c)===null&&z===e(d)&&(p?(s(E),E=-1):p=!0,Gc(T,N-nt))):(z.sortIndex=vt,l(c,z),b||v||(b=!0,A||(A=!0,ue()))),z},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(z){var Y=y;return function(){var N=y;y=Y;try{return z.apply(this,arguments)}finally{y=N}}}})(us),es.exports=us;var ch=es.exports,as={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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 fh=V;function ls(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(es)}catch(t){console.error(t)}}es(),ts.exports=zt;var oh=ts.exports;/** + */var sh=q;function ns(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(is)}catch(t){console.error(t)}}is(),as.exports=zt;var yh=as.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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=ih,us=V,dh=oh;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=oi[He],oi[He]=null,He--)}function J(t,l){He++,oi[He]=t.current,t.current=l}var ul=el(null),Ou=el(null),Hl=el(null),pa=el(null);function Aa(t,l){switch(J(Hl,l),J(Ou,t),J(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?Vy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=Vy(l),t=jy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),J(ul,t)}function Re(){yt(ul),yt(Ou),yt(Hl)}function di(t){t.memoizedState!==null&&J(pa,t);var l=ul.current,e=jy(l,t.type);l!==e&&(J(Ou,t),J(ul,e))}function Oa(t){Ou.current===t&&(yt(ul),yt(Ou)),pa.current===t&&(yt(pa),ra._currentValue=ne)}var yi,ys;function ie(t){if(yi===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);yi=l&&l[1]||"",ys=-1He||(t.current=di[He],di[He]=null,He--)}function J(t,l){He++,di[He]=t.current,t.current=l}var al=ul(null),Ou=ul(null),Rl=ul(null),pa=ul(null);function Aa(t,l){switch(J(Rl,l),J(Ou,t),J(al,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?Xy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=Xy(l),t=Zy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(al),J(al,t)}function Re(){yt(al),yt(Ou),yt(Rl)}function yi(t){t.memoizedState!==null&&J(pa,t);var l=al.current,e=Zy(l,t.type);l!==e&&(J(Ou,t),J(al,e))}function Oa(t){Ou.current===t&&(yt(al),yt(Ou)),pa.current===t&&(yt(pa),ra._currentValue=ne)}var hi,ms;function ie(t){if(hi===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);hi=l&&l[1]||"",ms=-1)":-1a||c[u]!==d[a]){var r=` -`+c[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{hi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function mh(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 ri(t.type,!1);case 11:return ri(t.type.render,!1);case 1:return ri(t.type,!0);case 31:return ie("Activity");default:return""}}function hs(t){try{var l="",e=null;do l+=mh(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+c[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{ri=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function gh(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 vi(t.type,!1);case 11:return vi(t.type.render,!1);case 1:return vi(t.type,!0);case 31:return ie("Activity");default:return""}}function Ss(t){try{var l="",e=null;do l+=gh(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,mi=ot.unstable_scheduleCallback,Si=ot.unstable_cancelCallback,Sh=ot.unstable_shouldYield,gh=ot.unstable_requestPaint,Nt=ot.unstable_now,bh=ot.unstable_getCurrentPriorityLevel,rs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,_a=ot.unstable_NormalPriority,Eh=ot.unstable_LowPriority,ms=ot.unstable_IdlePriority,zh=ot.log,Th=ot.unstable_setDisableYieldValue,_u=null,Ct=null;function Rl(t){if(typeof zh=="function"&&Th(t),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(_u,t)}catch{}}var Bt=Math.clz32?Math.clz32:Oh,ph=Math.log,Ah=Math.LN2;function Oh(t){return t>>>=0,t===0?32:31-(ph(t)/Ah|0)|0}var Ma=256,Da=262144,Ua=4194304;function fe(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 Ha(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 f=u&134217727;return f!==0?(u=f&~n,u!==0?a=fe(u):(i&=f,i!==0?a=fe(i):e||(e=f&~t,e!==0&&(a=fe(e))))):(f=u&~n,f!==0?a=fe(f):i!==0?a=fe(i):e||(e=u&~t,e!==0&&(a=fe(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 Mu(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function _h(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 Ss(){var t=Ua;return Ua<<=1,!(Ua&62914560)&&(Ua=4194304),t}function gi(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Du(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Mh(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 f=t.entanglements,c=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Ch=/[\n"\\]/g;function Lt(t){return t.replace(Ch,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,f){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=""+xt(l)):t.value!==""+xt(l)&&(t.value=""+xt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Oi(t,i,xt(l)):e!=null?Oi(t,i,xt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?t.name=""+xt(f):t.removeAttribute("name")}function Hs(t,l,e,u,a,n,i,f){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)){pi(t);return}e=e!=null?""+xt(e):"",l=l!=null?""+xt(l):e,f||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=f?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),pi(t)}function Oi(t,l,e){l==="number"&&Ca(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"),Hi=!1;if(dl)try{var Nu={};Object.defineProperty(Nu,"passive",{get:function(){Hi=!0}}),window.addEventListener("test",Nu,Nu),window.removeEventListener("test",Nu,Nu)}catch{Hi=!1}var Cl=null,Ri=null,Ya=null;function Vs(){if(Ya)return Ya;var t,l=Ri,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Yu),xs=" ",Ls=!1;function Ks(t,l){switch(t){case"keyup":return fr.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Js(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function sr(t,l){switch(t){case"compositionend":return Js(l);case"keypress":return l.which!==32?null:(Ls=!0,xs);case"textInput":return t=l.data,t===xs&&Ls?null:t;default:return null}}function or(t,l){if(Qe)return t==="compositionend"||!qi&&Ks(t,l)?(t=Vs(),Ya=Ri=Cl=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=to(e)}}function eo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?eo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function uo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ca(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=Ca(t.document)}return l}function Gi(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 gr=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Xi=null,Gu=null,Qi=!1;function ao(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Qi||Ze==null||Ze!==Ca(u)||(u=Ze,"selectionStart"in u&&Gi(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}),Gu&&ju(Gu,u)||(Gu=u,u=Un(Xi,"onSelect"),0>=i,a-=i,al=1<<32-Bt(l)+a|e<O?(M=E,E=null):M=E.sibling;var R=y(o,E,h[O],S);if(R===null){E===null&&(E=M);break}t&&E&&R.alternate===null&&l(o,E),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R,E=M}if(O===h.length)return e(o,E),j&&hl(o,O),T;if(E===null){for(;OO?(M=E,E=null):M=E.sibling;var At=y(o,E,R.value,S);if(At===null){E===null&&(E=M);break}t&&E&&At.alternate===null&&l(o,E),s=n(At,s,O),A===null?T=At:A.sibling=At,A=At,E=M}if(R.done)return e(o,E),j&&hl(o,O),T;if(E===null){for(;!R.done;O++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return j&&hl(o,O),T}for(E=u(E);!R.done;O++,R=h.next())R=v(E,o,O,R.value,S),R!==null&&(t&&R.alternate!==null&&E.delete(R.key===null?O:R.key),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return t&&E.forEach(function(ee){return l(o,ee)}),j&&hl(o,O),T}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 Ta:t:{for(var T=h.key;s!==null;){if(s.key===T){if(T=h.type,T===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===T||typeof T=="object"&&T!==null&&T.$$typeof===Ul&&ge(T)===s.type){e(o,s.sibling),S=a(s,h.props),Ku(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=Ka(h.type,h.key,h.props,null,o.mode,S),Ku(S,h),S.return=o,o=S)}return i(o);case Tu:t:{for(T=h.key;s!==null;){if(s.key===T)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=$i(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(pu(h)){if(T=pu(h),typeof T!="function")throw Error(g(150));return h=T.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Ia(h),S);if(h.$$typeof===cl)return H(o,s,$a(o,h),S);Pa(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=wi(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var T=H(o,s,h,S);return Pe=null,T}catch(E){if(E===Ie||E===Fa)throw E;var A=qt(29,E,null,o.mode);return A.lanes=S,A.return=o,A}finally{}}}var Ee=Do(!0),Uo=Do(!1),jl=!1;function ff(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function cf(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),yo(t,null,e),l}return xa(t,u,l,e),La(t)}function Ju(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,bs(t,e)}}function sf(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 of=!1;function wu(){if(of){var t=ke;if(t!==null)throw t}}function $u(t,l,e,u){of=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,f=a.shared.pending;if(f!==null){a.shared.pending=null;var c=f,d=c.next;c.next=null,i===null?n=d:i.next=d,i=c;var r=t.alternate;r!==null&&(r=r.updateQueue,f=r.lastBaseUpdate,f!==i&&(f===null?r.firstBaseUpdate=d:f.next=d,r.lastBaseUpdate=c))}if(n!==null){var m=a.baseState;i=0,r=d=c=null,f=n;do{var y=f.lane&-536870913,v=y!==f.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(of=!0),r!==null&&(r=r.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});t:{var b=t,p=f;y=l;var H=e;switch(p.tag){case 1:if(b=p.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=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=W({},m,y);break t;case 2:jl=!0}}y=f.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:f.tag,payload:f.payload,callback:f.callback,next:null},r===null?(d=r=v,c=m):r=r.next=v,i|=y;if(f=f.next,f===null){if(f=a.shared.pending,f===null)break;v=f,f=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(c=m),a.baseState=c,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Ho(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ro(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=_.T,f={};_.T=f,Uf(t,!1,l,e);try{var c=a(),d=_.S;if(d!==null&&d(f,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var r=Mr(c,u);ku(t,l,r,Qt(t))}else ku(t,l,u,Qt(t))}catch(m){ku(t,l,{then:function(){},status:"rejected",reason:m},Qt())}finally{G.p=n,i!==null&&f.types!==null&&(i.types=f.types),_.T=i}}function Cr(){}function Mf(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=sd(t).queue;cd(t,a,l,ne,e===null?Cr:function(){return od(t),e(u)})}function sd(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 od(t){var l=sd(t);l.next===null&&(l=t.alternate.memoizedState),ku(t,l.next.queue,{},Qt())}function Df(){return gt(ra)}function dd(){return at().memoizedState}function yd(){return at().memoizedState}function Br(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Qt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Rt(u,l,e),Ju(u,l,e)),l={cache:ef()},t.payload=l;return}l=l.return}}function Yr(t,l,e){var u=Qt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},on(t)?rd(l,e):(e=Ki(t,l,e,u),e!==null&&(Rt(e,t,u),vd(e,l,u)))}function hd(t,l,e){var u=Qt();ku(t,l,e,u)}function ku(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(on(t))rd(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,f=n(i,e);if(a.hasEagerState=!0,a.eagerState=f,Yt(f,i))return xa(t,l,a,0),K===null&&Za(),!1}catch{}finally{}if(e=Ki(t,l,a,u),e!==null)return Rt(e,t,u),vd(e,l,u),!0}return!1}function Uf(t,l,e,u){if(u={lane:2,revertLane:fc(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},on(t)){if(l)throw Error(g(479))}else l=Ki(t,e,u,2),l!==null&&Rt(l,t,2)}function on(t){var l=t.alternate;return t===U||l!==null&&l===U}function rd(t,l){lu=en=!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,bs(t,e)}}var Iu={readContext:gt,use:nn,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};Iu.useEffectEvent=tt;var md={readContext:gt,use:nn,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Po,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ud.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=pt();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=pt();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=Yr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Tf(t);var l=t.queue,e=hd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Of,useDeferredValue:function(t,l){var e=pt();return _f(e,t,l)},useTransition:function(){var t=Tf(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),K===null)throw Error(g(349));q&127||Vo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Po(Go.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},jo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=K.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Bt(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=un++,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[Ot]=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 k(l),xf(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,$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||Yy(t.nodeValue,e)),t||ql(l,!0)}else t=Hn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),t=!1}else e=Ii(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(jt(l),l):(jt(l),null);if(l.flags&128)throw Error(g(558))}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),a=!1}else a=Ii(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(jt(l),l):(jt(l),null)}return jt(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),k(l),null);case 4:return Re(),t===null&&dc(l.stateNode.containerInfo),k(l),null;case 10:return vl(l.type),k(l),null;case 19:if(yt(ut),u=l.memoizedState,u===null)return k(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)ta(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=ln(t),n!==null){for(l.flags|=128,ta(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)ho(e,t),e=e.sibling;return J(ut,ut.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Nt()>En&&(l.flags|=128,a=!0,ta(u,!1),l.lanes=4194304)}else{if(!a)if(t=ln(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),ta(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return k(l),null}else 2*Nt()-u.renderingStartTime>En&&e!==536870912&&(l.flags|=128,a=!0,ta(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=Nt(),t.sibling=null,e=ut.current,J(ut,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(k(l),null);case 22:case 23:return jt(l),yf(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(k(l),l.subtreeFlags&6&&(l.flags|=8192)):k(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),vl(it),k(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Xr(t,l){switch(Fi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Oa(l),null;case 31:if(l.memoizedState!==null){if(jt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(jt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(ut),null;case 4:return Re(),null;case 10:return vl(l.type),null;case 22:case 23:return jt(l),yf(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Xd(t,l){switch(Fi(l),l.tag){case 3:vl(it),Re();break;case 26:case 27:case 5:Oa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&jt(l);break;case 13:jt(l);break;case 19:yt(ut);break;case 10:vl(l.type);break;case 22:case 23:jt(l),yf(),t!==null&&yt(Se);break;case 24:vl(it)}}function la(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(f){Z(l,l.return,f)}}function xl(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,f=i.destroy;if(f!==void 0){i.destroy=void 0,a=l;var c=e,d=f;try{d()}catch(r){Z(a,c,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Qd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ro(l,e)}catch(u){Z(t,t.return,u)}}}function Zd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ea(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 xd(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 Lf(t,l,e){try{var u=t.stateNode;cv(u,t.type,e,l),u[Ot]=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 Kf(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 Jf(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(Jf(t,l,e),t=t.sibling;t!==null;)Jf(t,l,e),t=t.sibling}function mn(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(mn(t,l,e),t=t.sibling;t!==null;)mn(t,l,e),t=t.sibling}function Kd(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[Ot]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,wf=!1,Jd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function Qr(t,l){if(t=t.containerInfo,rc=Vn,t=uo(t),Gi(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,f=-1,c=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(f=i+a),m!==n||u!==0&&m.nodeType!==3||(c=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(f=i),y===n&&++r===u&&(c=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=f===-1||c===-1?null:{start:f,end:c}}else e=null}e=e||{start:0,end:0}}else e=null;for(vc={focusedElem:t,selectionRange:e},Vn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,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=Iy("link","href",a).get(u+(e.href||""));if(i){for(var f=0;fH&&(i=H,H=p,p=i);var o=lo(f,p),s=lo(f,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=f;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fe?32:e,_.T=null,e=tc,tc=null;var n=wl,i=Ol;if(dt=0,cu=wl=null,Ol=0,X&6)throw Error(g(331));var f=X;if(X|=4,uy(n.current),ty(n,n.current,i,e),X=f,ca(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(_u,n)}catch{}return!0}finally{G.p=a,_.T=u,zy(t,l)}}function py(t,l,e){l=Jt(e,l),l=Cf(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Du(t,2),fl(t))}function Z(t,l,e){if(t.tag===3)py(t,t,e);else for(;l!==null;){if(l.tag===3){py(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=Jt(e,t),e=Ad(2),u=Xl(l,e,2),u!==null&&(Od(e,u,l,t),Du(u,2),fl(u));break}}l=l.return}}function ac(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Lr;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)||(Ff=!0,a.add(e),t=Wr.bind(null,t,l,e),l.then(t,t))}function Wr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,K===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Nt()-bn?!(X&2)&&su(t,0):kf|=e,fu===q&&(fu=0)),fl(t)}function Ay(t,l){l===0&&(l=Ss()),t=ye(t,l),t!==null&&(Du(t,l),fl(t))}function Fr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function kr(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 Ir(t,l){return mi(t,l)}var _n=null,du=null,nc=!1,Mn=!1,ic=!1,Wl=0;function fl(t){t!==du&&t.next===null&&(du===null?_n=du=t:du=du.next=t),Mn=!0,nc||(nc=!0,tv())}function ca(t,l){if(!ic&&Mn){ic=!0;do for(var e=!1,u=_n;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,f=u.pingedLanes;n=(1<<31-Bt(42|t)+1)-1,n&=a&~(i&~f),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,Dy(u,n))}else n=q,n=Ha(u,u===K?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Mu(u,n)||(e=!0,Dy(u,n));u=u.next}while(e);ic=!1}}function Pr(){Oy()}function Oy(){Mn=nc=!1;var t=0;Wl!==0&&ov()&&(t=Wl);for(var l=Nt(),e=null,u=_n;u!==null;){var a=u.next,n=_y(u,l);n===0?(u.next=null,e===null?_n=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(Mn=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function _y(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0f)break;var r=c.transferSize,m=c.initiatorType;r&&qy(m)&&(c=c.responseEnd,i+=r*(c"u"?null:document;function $y(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Lt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),wy.has(a)||(wy.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 bv(t){_l.D(t),$y("dns-prefetch",t,null)}function Ev(t,l){_l.C(t,l),$y("preconnect",t,l)}function zv(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Lt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Lt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Lt(e.imageSizes)+'"]')):a+='[href="'+Lt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}It.has(n)||(t=W({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),It.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(ya(n))||l==="script"&&u.querySelector(ha(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Tv(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="'+Lt(u)+'"][href="'+Lt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!It.has(n)&&(t=W({rel:"modulepreload",href:t},l),It.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ha(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function pv(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 f={loading:0,preload:null};if(i=u.querySelector(ya(n)))f.loading=5;else{t=W({rel:"stylesheet",href:t,"data-precedence":l},e),(e=It.get(n))&&Tc(t,e);var c=i=u.createElement("link");ht(c),Et(c,"link",t),c._p=new Promise(function(d,r){c.onload=d,c.onerror=r}),c.addEventListener("load",function(){f.loading|=1}),c.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Nn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:f},a.set(n,i)}}}function Av(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0},l),(l=It.get(a))&&pc(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 Ov(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0,type:"module"},l),(l=It.get(a))&&pc(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 Wy(t,l,e,u){var a=(a=Hl.current)?Rn(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(ya(t)))&&!n._p&&(i.instance=n,i.state.loading=5),It.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},It.set(t,e),n||_v(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=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="'+Lt(t)+'"'}function ya(t){return'link[rel="stylesheet"]['+t+"]"}function Fy(t){return W({},t,{"data-precedence":t.precedence,precedence:null})}function _v(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="'+Lt(t)+'"]'}function ha(t){return"script[async]"+t}function ky(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Lt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=W({},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),Nn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(ya(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Fy(e),(a=It.get(a))&&Tc(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),Et(n,"link",u),l.state.loading|=4,Nn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ha(n)))?(l.instance=a,ht(a),a):(u=e,(a=It.get(n))&&(u=W({},e),pc(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,Nn(u,e.precedence,t));return l.instance}function Nn(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 Mv(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 t0(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Dv(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(ya(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Bn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Fy(u),(a=It.get(a))&&Tc(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),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=Bn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Ac=0;function Uv(t,l){return t.stylesheets&&t.count===0&&qn(t,t.stylesheets),0Ac?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Bn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Yn=null;function qn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Yn=new Map,l.forEach(Hv,t),Yn=null,Bn.call(t))}function Hv(t,l){if(!(l.state.loading&4)){var e=Yn.get(t);if(e)var u=e.get(null);else{e=new Map,Yn.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(r0)}catch(t){console.error(t)}}r0(),kc.exports=Ea;var v0=kc.exports;const jv=ue({__proto__:null,default:jc(v0)},[v0]);var m0={exports:{}},Ln={};/** +`+u.stack}}var mi=Object.prototype.hasOwnProperty,Si=ot.unstable_scheduleCallback,gi=ot.unstable_cancelCallback,bh=ot.unstable_shouldYield,Eh=ot.unstable_requestPaint,Nt=ot.unstable_now,zh=ot.unstable_getCurrentPriorityLevel,gs=ot.unstable_ImmediatePriority,bs=ot.unstable_UserBlockingPriority,_a=ot.unstable_NormalPriority,Th=ot.unstable_LowPriority,Es=ot.unstable_IdlePriority,ph=ot.log,Ah=ot.unstable_setDisableYieldValue,_u=null,Ct=null;function Nl(t){if(typeof ph=="function"&&Ah(t),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(_u,t)}catch{}}var Bt=Math.clz32?Math.clz32:Mh,Oh=Math.log,_h=Math.LN2;function Mh(t){return t>>>=0,t===0?32:31-(Oh(t)/_h|0)|0}var Ma=256,Da=262144,Ua=4194304;function fe(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 Ha(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 f=u&134217727;return f!==0?(u=f&~n,u!==0?a=fe(u):(i&=f,i!==0?a=fe(i):e||(e=f&~t,e!==0&&(a=fe(e))))):(f=u&~n,f!==0?a=fe(f):i!==0?a=fe(i):e||(e=u&~t,e!==0&&(a=fe(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 Mu(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function Dh(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 zs(){var t=Ua;return Ua<<=1,!(Ua&62914560)&&(Ua=4194304),t}function bi(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Du(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Uh(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 f=t.entanglements,c=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Yh=/[\n"\\]/g;function Lt(t){return t.replace(Yh,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Oi(t,l,e,u,a,n,i,f){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=""+xt(l)):t.value!==""+xt(l)&&(t.value=""+xt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?_i(t,i,xt(l)):e!=null?_i(t,i,xt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?t.name=""+xt(f):t.removeAttribute("name")}function Bs(t,l,e,u,a,n,i,f){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)){Ai(t);return}e=e!=null?""+xt(e):"",l=l!=null?""+xt(l):e,f||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=f?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ai(t)}function _i(t,l,e){l==="number"&&Ca(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"),Ri=!1;if(yl)try{var Nu={};Object.defineProperty(Nu,"passive",{get:function(){Ri=!0}}),window.addEventListener("test",Nu,Nu),window.removeEventListener("test",Nu,Nu)}catch{Ri=!1}var Bl=null,Ni=null,Ya=null;function Xs(){if(Ya)return Ya;var t,l=Ni,e=l.length,u,a="value"in Bl?Bl.value:Bl.textContent,n=a.length;for(t=0;t=Yu),ws=" ",$s=!1;function Ws(t,l){switch(t){case"keyup":return sr.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Xe=!1;function dr(t,l){switch(t){case"compositionend":return Fs(l);case"keypress":return l.which!==32?null:($s=!0,ws);case"textInput":return t=l.data,t===ws&&$s?null:t;default:return null}}function yr(t,l){if(Xe)return t==="compositionend"||!Vi&&Ws(t,l)?(t=Xs(),Ya=Ni=Bl=null,Xe=!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=ao(e)}}function io(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?io(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function fo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ca(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=Ca(t.document)}return l}function Qi(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 Er=yl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Xi=null,Gu=null,Zi=!1;function co(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Zi||Ze==null||Ze!==Ca(u)||(u=Ze,"selectionStart"in u&&Qi(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}),Gu&&ju(Gu,u)||(Gu=u,u=Un(Xi,"onSelect"),0>=i,a-=i,nl=1<<32-Bt(l)+a|e<O?(M=E,E=null):M=E.sibling;var R=y(o,E,h[O],S);if(R===null){E===null&&(E=M);break}t&&E&&R.alternate===null&&l(o,E),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R,E=M}if(O===h.length)return e(o,E),j&&rl(o,O),T;if(E===null){for(;OO?(M=E,E=null):M=E.sibling;var At=y(o,E,R.value,S);if(At===null){E===null&&(E=M);break}t&&E&&At.alternate===null&&l(o,E),s=n(At,s,O),A===null?T=At:A.sibling=At,A=At,E=M}if(R.done)return e(o,E),j&&rl(o,O),T;if(E===null){for(;!R.done;O++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return j&&rl(o,O),T}for(E=u(E);!R.done;O++,R=h.next())R=v(E,o,O,R.value,S),R!==null&&(t&&R.alternate!==null&&E.delete(R.key===null?O:R.key),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return t&&E.forEach(function(ue){return l(o,ue)}),j&&rl(o,O),T}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 Ta:t:{for(var T=h.key;s!==null;){if(s.key===T){if(T=h.type,T===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===T||typeof T=="object"&&T!==null&&T.$$typeof===Hl&&ge(T)===s.type){e(o,s.sibling),S=a(s,h.props),Ku(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=Ka(h.type,h.key,h.props,null,o.mode,S),Ku(S,h),S.return=o,o=S)}return i(o);case Tu:t:{for(T=h.key;s!==null;){if(s.key===T)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 Hl:return h=ge(h),H(o,s,h,S)}if(Au(h))return b(o,s,h,S);if(pu(h)){if(T=pu(h),typeof T!="function")throw Error(g(150));return h=T.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Ia(h),S);if(h.$$typeof===sl)return H(o,s,$a(o,h),S);Pa(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=$i(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var T=H(o,s,h,S);return Pe=null,T}catch(E){if(E===Ie||E===Fa)throw E;var A=qt(29,E,null,o.mode);return A.lanes=S,A.return=o,A}finally{}}}var Ee=No(!0),Co=No(!1),Gl=!1;function cf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function sf(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 Ql(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,Q&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=La(t),mo(t,null,e),l}return xa(t,u,l,e),La(t)}function Ju(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,ps(t,e)}}function of(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 df=!1;function wu(){if(df){var t=ke;if(t!==null)throw t}}function $u(t,l,e,u){df=!1;var a=t.updateQueue;Gl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,f=a.shared.pending;if(f!==null){a.shared.pending=null;var c=f,d=c.next;c.next=null,i===null?n=d:i.next=d,i=c;var r=t.alternate;r!==null&&(r=r.updateQueue,f=r.lastBaseUpdate,f!==i&&(f===null?r.firstBaseUpdate=d:f.next=d,r.lastBaseUpdate=c))}if(n!==null){var m=a.baseState;i=0,r=d=c=null,f=n;do{var y=f.lane&-536870913,v=y!==f.lane;if(v?(V&y)===y:(u&y)===y){y!==0&&y===Fe&&(df=!0),r!==null&&(r=r.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});t:{var b=t,p=f;y=l;var H=e;switch(p.tag){case 1:if(b=p.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=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=W({},m,y);break t;case 2:Gl=!0}}y=f.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:f.tag,payload:f.payload,callback:f.callback,next:null},r===null?(d=r=v,c=m):r=r.next=v,i|=y;if(f=f.next,f===null){if(f=a.shared.pending,f===null)break;v=f,f=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(c=m),a.baseState=c,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Jl|=i,t.lanes=i,t.memoizedState=m}}function Bo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Yo(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=_.T,f={};_.T=f,Hf(t,!1,l,e);try{var c=a(),d=_.S;if(d!==null&&d(f,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var r=Ur(c,u);ku(t,l,r,Xt(t))}else ku(t,l,u,Xt(t))}catch(m){ku(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&f.types!==null&&(i.types=f.types),_.T=i}}function Yr(){}function Df(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=hd(t).queue;yd(t,a,l,ne,e===null?Yr:function(){return rd(t),e(u)})}function hd(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:gl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:gl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function rd(t){var l=hd(t);l.next===null&&(l=t.alternate.memoizedState),ku(t,l.next.queue,{},Xt())}function Uf(){return gt(ra)}function vd(){return at().memoizedState}function md(){return at().memoizedState}function qr(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Ql(e);var u=Xl(l,t,e);u!==null&&(Rt(u,l,e),Ju(u,l,e)),l={cache:uf()},t.payload=l;return}l=l.return}}function Vr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},on(t)?gd(l,e):(e=Ji(t,l,e,u),e!==null&&(Rt(e,t,u),bd(e,l,u)))}function Sd(t,l,e){var u=Xt();ku(t,l,e,u)}function ku(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(on(t))gd(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,f=n(i,e);if(a.hasEagerState=!0,a.eagerState=f,Yt(f,i))return xa(t,l,a,0),K===null&&Za(),!1}catch{}finally{}if(e=Ji(t,l,a,u),e!==null)return Rt(e,t,u),bd(e,l,u),!0}return!1}function Hf(t,l,e,u){if(u={lane:2,revertLane:cc(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},on(t)){if(l)throw Error(g(479))}else l=Ji(t,e,u,2),l!==null&&Rt(l,t,2)}function on(t){var l=t.alternate;return t===U||l!==null&&l===U}function gd(t,l){lu=en=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function bd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,ps(t,e)}}var Iu={readContext:gt,use:nn,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};Iu.useEffectEvent=lt;var Ed={readContext:gt,use:nn,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:ud,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,fd.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=pt();l=l===void 0?null:l;var u=t();if(ze){Nl(!0);try{t()}finally{Nl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(ze){Nl(!0);try{e(l)}finally{Nl(!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=Vr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=pf(t);var l=t.queue,e=Sd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:_f,useDeferredValue:function(t,l){var e=pt();return Mf(e,t,l)},useTransition:function(){var t=pf(!1);return t=yd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),K===null)throw Error(g(349));V&127||Xo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,ud(xo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Zo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=K.identifierPrefix;if(j){var e=il,u=nl;e=(u&~(1<<32-Bt(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=un++,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[Ot]=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&&El(l)}}return k(l),Lf(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&El(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Rl.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||Gy(t.nodeValue,e)),t||Vl(l,!0)}else t=Hn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),t=!1}else e=Pi(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(jt(l),l):(jt(l),null);if(l.flags&128)throw Error(g(558))}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),a=!1}else a=Pi(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(jt(l),l):(jt(l),null)}return jt(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),k(l),null);case 4:return Re(),t===null&&yc(l.stateNode.containerInfo),k(l),null;case 10:return ml(l.type),k(l),null;case 19:if(yt(ut),u=l.memoizedState,u===null)return k(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)ta(u,!1);else{if(et!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=ln(t),n!==null){for(l.flags|=128,ta(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)So(e,t),e=e.sibling;return J(ut,ut.current&1|2),j&&rl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Nt()>En&&(l.flags|=128,a=!0,ta(u,!1),l.lanes=4194304)}else{if(!a)if(t=ln(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),ta(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return k(l),null}else 2*Nt()-u.renderingStartTime>En&&e!==536870912&&(l.flags|=128,a=!0,ta(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=Nt(),t.sibling=null,e=ut.current,J(ut,a?e&1|2:e&1),j&&rl(l,u.treeForkCount),t):(k(l),null);case 22:case 23:return jt(l),hf(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(k(l),l.subtreeFlags&6&&(l.flags|=8192)):k(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),ml(it),k(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Zr(t,l){switch(ki(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return ml(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Oa(l),null;case 31:if(l.memoizedState!==null){if(jt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(jt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(ut),null;case 4:return Re(),null;case 10:return ml(l.type),null;case 22:case 23:return jt(l),hf(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return ml(it),null;case 25:return null;default:return null}}function Ld(t,l){switch(ki(l),l.tag){case 3:ml(it),Re();break;case 26:case 27:case 5:Oa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&jt(l);break;case 13:jt(l);break;case 19:yt(ut);break;case 10:ml(l.type);break;case 22:case 23:jt(l),hf(),t!==null&&yt(Se);break;case 24:ml(it)}}function la(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(f){Z(l,l.return,f)}}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,f=i.destroy;if(f!==void 0){i.destroy=void 0,a=l;var c=e,d=f;try{d()}catch(r){Z(a,c,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Kd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Yo(l,e)}catch(u){Z(t,t.return,u)}}}function Jd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ea(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 fl(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 wd(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 Kf(t,l,e){try{var u=t.stateNode;ov(u,t.type,e,l),u[Ot]=l}catch(a){Z(t,t.return,a)}}function $d(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&kl(t.type)||t.tag===4}function Jf(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||$d(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&&kl(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 wf(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=dl));else if(u!==4&&(u===27&&kl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(wf(t,l,e),t=t.sibling;t!==null;)wf(t,l,e),t=t.sibling}function mn(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&&kl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(mn(t,l,e),t=t.sibling;t!==null;)mn(t,l,e),t=t.sibling}function Wd(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[Ot]=e}catch(n){Z(t,t.return,n)}}var zl=!1,st=!1,$f=!1,Fd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function xr(t,l){if(t=t.containerInfo,vc=Vn,t=fo(t),Qi(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,f=-1,c=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(f=i+a),m!==n||u!==0&&m.nodeType!==3||(c=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(f=i),y===n&&++r===u&&(c=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=f===-1||c===-1?null:{start:f,end:c}}else e=null}e=e||{start:0,end:0}}else e=null;for(mc={focusedElem:t,selectionRange:e},Vn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,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=e0("link","href",a).get(u+(e.href||""));if(i){for(var f=0;fH&&(i=H,H=p,p=i);var o=no(f,p),s=no(f,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=f;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fe?32:e,_.T=null,e=lc,lc=null;var n=$l,i=_l;if(dt=0,cu=$l=null,_l=0,Q&6)throw Error(g(331));var f=Q;if(Q|=4,fy(n.current),ay(n,n.current,i,e),Q=f,ca(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(_u,n)}catch{}return!0}finally{G.p=a,_.T=u,Oy(t,l)}}function My(t,l,e){l=Jt(e,l),l=Bf(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Du(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)My(t,t,e);else for(;l!==null;){if(l.tag===3){My(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(wl===null||!wl.has(u))){t=Jt(e,t),e=Dd(2),u=Xl(l,e,2),u!==null&&(Ud(e,u,l,t),Du(u,2),cl(u));break}}l=l.return}}function nc(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Jr;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)||(kf=!0,a.add(e),t=kr.bind(null,t,l,e),l.then(t,t))}function kr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,K===t&&(V&e)===e&&(et===4||et===3&&(V&62914560)===V&&300>Nt()-bn?!(Q&2)&&su(t,0):If|=e,fu===V&&(fu=0)),cl(t)}function Dy(t,l){l===0&&(l=zs()),t=ye(t,l),t!==null&&(Du(t,l),cl(t))}function Ir(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Dy(t,e)}function Pr(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),Dy(t,e)}function tv(t,l){return Si(t,l)}var _n=null,du=null,ic=!1,Mn=!1,fc=!1,Fl=0;function cl(t){t!==du&&t.next===null&&(du===null?_n=du=t:du=du.next=t),Mn=!0,ic||(ic=!0,ev())}function ca(t,l){if(!fc&&Mn){fc=!0;do for(var e=!1,u=_n;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,f=u.pingedLanes;n=(1<<31-Bt(42|t)+1)-1,n&=a&~(i&~f),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,Ny(u,n))}else n=V,n=Ha(u,u===K?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Mu(u,n)||(e=!0,Ny(u,n));u=u.next}while(e);fc=!1}}function lv(){Uy()}function Uy(){Mn=ic=!1;var t=0;Fl!==0&&yv()&&(t=Fl);for(var l=Nt(),e=null,u=_n;u!==null;){var a=u.next,n=Hy(u,l);n===0?(u.next=null,e===null?_n=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(Mn=!0)),u=a}dt!==0&&dt!==5||ca(t),Fl!==0&&(Fl=0)}function Hy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0f)break;var r=c.transferSize,m=c.initiatorType;r&&Qy(m)&&(c=c.responseEnd,i+=r*(c"u"?null:document;function Iy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Lt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),ky.has(a)||(ky.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 zv(t){Ml.D(t),Iy("dns-prefetch",t,null)}function Tv(t,l){Ml.C(t,l),Iy("preconnect",t,l)}function pv(t,l,e){Ml.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Lt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Lt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Lt(e.imageSizes)+'"]')):a+='[href="'+Lt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}It.has(n)||(t=W({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),It.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(ya(n))||l==="script"&&u.querySelector(ha(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Av(t,l){Ml.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Lt(u)+'"][href="'+Lt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!It.has(n)&&(t=W({rel:"modulepreload",href:t},l),It.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ha(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function Ov(t,l,e){Ml.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 f={loading:0,preload:null};if(i=u.querySelector(ya(n)))f.loading=5;else{t=W({rel:"stylesheet",href:t,"data-precedence":l},e),(e=It.get(n))&&pc(t,e);var c=i=u.createElement("link");ht(c),Et(c,"link",t),c._p=new Promise(function(d,r){c.onload=d,c.onerror=r}),c.addEventListener("load",function(){f.loading|=1}),c.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Nn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:f},a.set(n,i)}}}function _v(t,l){Ml.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0},l),(l=It.get(a))&&Ac(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 Mv(t,l){Ml.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0,type:"module"},l),(l=It.get(a))&&Ac(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 Py(t,l,e,u){var a=(a=Rl.current)?Rn(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(ya(t)))&&!n._p&&(i.instance=n,i.state.loading=5),It.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},It.set(t,e),n||Dv(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=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="'+Lt(t)+'"'}function ya(t){return'link[rel="stylesheet"]['+t+"]"}function t0(t){return W({},t,{"data-precedence":t.precedence,precedence:null})}function Dv(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="'+Lt(t)+'"]'}function ha(t){return"script[async]"+t}function l0(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Lt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=W({},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),Nn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(ya(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=t0(e),(a=It.get(a))&&pc(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),Et(n,"link",u),l.state.loading|=4,Nn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ha(n)))?(l.instance=a,ht(a),a):(u=e,(a=It.get(n))&&(u=W({},e),Ac(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,Nn(u,e.precedence,t));return l.instance}function Nn(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 Uv(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 a0(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Hv(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(ya(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Bn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=t0(u),(a=It.get(a))&&pc(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),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=Bn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Oc=0;function Rv(t,l){return t.stylesheets&&t.count===0&&qn(t,t.stylesheets),0Oc?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Bn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Yn=null;function qn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Yn=new Map,l.forEach(Nv,t),Yn=null,Bn.call(t))}function Nv(t,l){if(!(l.state.loading&4)){var e=Yn.get(t);if(e)var u=e.get(null);else{e=new Map,Yn.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(g0)}catch(t){console.error(t)}}g0(),ls.exports=Ea;var b0=ls.exports;const Qv=ae({__proto__:null,default:Zc(b0)},[b0]);var E0={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 Gv=Symbol.for("react.transitional.element"),Xv=Symbol.for("react.fragment");function S0(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:Gv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Xv,Ln.jsx=S0,Ln.jsxs=S0,m0.exports=Ln;var mu=m0.exports;const g0=V.createContext(null);function Qv({namespace:t,children:l}){return mu.jsx(g0.Provider,{value:t,children:l})}function Zv(){return V.useContext(g0)}function xv(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=Zv();return xv(t,l!==void 0?l:e)}const Su=new WeakMap,Rc=new Set;function b0(t,l,e){const u={promise:l.finally(()=>{Su.get(t)===u&&(Su.delete(t),Rc.delete(t))}),covers:e,consumed:!1};return Su.set(t,u),Rc.add(t),u}function E0(t){const l=[];for(const e of Rc){if(e===t||!e.contains(t)&&!t.contains(e))continue;const u=Su.get(e);u&&l.push(u)}return l}function z0(t){var u;const l=(u=window.Shiny)==null?void 0:u.bindAll;if(!l)return Promise.resolve();const e=new WeakSet(Array.from(t.children));return b0(t,Promise.resolve(l(t)),e).promise}function T0(t,l){const e=E0(t).map(a=>a.promise);l&&e.push(l);const u=b0(t,Promise.allSettled(e).then(()=>z0(t)),null);return u.promise.catch(a=>{u.consumed||console.error("[shinyreact] ShinyOutput bindAll failed:",a)}),u}function Lv(t,l){const e=Su.get(l);if(e&&(!e.covers||e.covers.has(t)))return e.consumed=!0,e.promise;if(!e&&E0(l).length===0)return z0(l);const u=T0(l,e==null?void 0:e.promise);return u.consumed=!0,u.promise}function Kv(t){const l=Su.get(t);l&&T0(t,l.promise)}function Jv({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,f=i==null?void 0:i.parentElement;if(!i||!f||!((d=window.Shiny)!=null&&d.bindAll))return;const c=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{Lv(i,f).catch(r=>c(r,"bindAll"))}catch(r){c(r,"bindAll")}return()=>{var r,m;Kv(f);try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){c(y,"unbindAll")}}},[a,l]),Fc.createElement(l,{id:a,ref:n,...u})}const gu=Symbol("MISSING"),p0="1.0";function wv(){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 $v(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Wv(t){const l=e=>e.split(".")[0];l(t)!==l(p0)&&$v(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${p0}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Fv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=wv();if(a!=null&&a.protocolVersion?Wv(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[f,c]of Object.entries(n))t.add(f,c),i[f]=c;e._restore={"-applied":!0,"-values":i}}let Nc=!1,Kn=!1;const Cc=new Set;let A0=!1,O0,_0,M0;function D0(){for(const t of Cc)t()}function U0(){Nc||(Nc=!0,D0())}function H0(t){Kn!==t&&(Kn=t,D0())}function kv(){if(A0||typeof document>"u")return;A0=!0,document.documentElement.classList.contains("shiny-busy")&&(Kn=!0),O0=()=>H0(!0),_0=()=>H0(!1),document.addEventListener("shiny:busy",O0),document.addEventListener("shiny:idle",_0);const t=et();if(t){t.initializedPromise.then(U0);return}M0=()=>{const l=et();l&&l.initializedPromise.then(U0)},document.addEventListener("shiny:connected",M0,{once:!0})}function R0(t){return kv(),Cc.add(t),()=>{Cc.delete(t)}}function N0(){return Nc}function C0(){return Kn}class Iv{constructor(){I(this,"messageHandlers",new Map);I(this,"initialized",!1)}init(){if(this.initialized)return;const l=et();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 B0=new Iv;function Y0(){const t=et();return t?t.messageRegistry??(t.messageRegistry=B0):B0}function Pv(){et()&&Y0()}class tm{constructor(l){I(this,"id");I(this,"el");I(this,"status","pending");I(this,"hasValue",!1);I(this,"lastValue");I(this,"lastError",null);I(this,"useStateSetValueFns");I(this,"useStateSetStatusFns");I(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 lm{constructor(){I(this,"outputs",new Map);I(this,"bindAllScheduled",!1);I(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 tm(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 a,n;const e=this.outputs.get(l);if(!e||!e.isEmpty())return;this.outputs.delete(l);const u=e.el;if(u){try{(n=(a=et())==null?void 0:a.unbindAll)==null||n.call(a,u,!0)}catch(i){console.error(`[shinyreact] unbindAll failed for output "${l}":`,i)}u.remove()}this.scheduleBindAll()})}scheduleBindAll(){const l=et();!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 em(t){const l=et();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){n.message!==""&&console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Bc(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 ga=class ga{constructor(l,e){I(this,"id");I(this,"value");I(this,"useStateSetValueFns");I(this,"shinySetInputValueDebounced");I(this,"opts",{debounceMs:100});I(this,"type");I(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Bc(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ga.DEFAULT_TYPE}`;(a=(u=et())==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}:${ga.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===gu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};I(ga,"DEFAULT_TYPE","shinyreact.default");let Yc=ga;class um{constructor(){I(this,"inputs",new Map);I(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 Yc(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 q0;function V0(){return q0??(q0={inputs:new um,outputs:new lm}),q0}function am(){Zt()}function Zt(){const t=et();return t?t.reactRegistry??(t.reactRegistry=V0()):V0()}function Jn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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),c=V.useRef(l).current;let d=c;const m=Zt().inputs.get(i);m&&(d=m.getValue());const[y,v]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=Zt().inputs.getOrCreate(i,c);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,c,n]);const p=V.useCallback(H=>{if(!b)return;const s=Zt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const bu=()=>{};function j0(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();Oe();const i=Ml(t,e),f=V.useRef(l);return V.useEffect(()=>{if(!n)return;const c=Zt();return a(f.current),c.outputs.add(i,a,bu,bu)},[i,n]),u}function G0(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();Oe();const n=Ml(t,l);return V.useEffect(()=>a?Zt().outputs.add(n,bu,u,bu):void 0,[n,a]),e}function X0(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();Oe();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),Zt().outputs.add(n,bu,bu,u)):void 0,[n,a]),e}function nm(t,{namespace:l}={}){Oe();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=Zt().inputs.get(e);if(!i)return;const f=i.getValue();return f===gu?void 0:f}),n=le();return V.useEffect(()=>n?Zt().inputs.subscribe(e,c=>{a(c===gu?void 0:c)}):void 0,[e,n]),u}function im(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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),c=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=Zt().inputs.getOrCreate(i,c);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,c,n]),V.useCallback(r=>{if(!d)return;const y=Zt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function fm(t,l,{namespace:e}={}){const u=le();Oe();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=c=>n.current(c),f=Y0();return f.addHandler(a,i),()=>{f.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(R0,N0,N0)}function cm(){return V.useSyncExternalStore(R0,C0,C0)}let Q0=!1;function Oe(){Q0||(am(),Fv(Zt().inputs),em(()=>Zt().outputs),Pv(),Q0=!0)}function sm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const f=Ml(t,i),c={namespace:null},[d,r]=Jn(`.clientdata_output_${f}_width`,gu,c),[m,y]=Jn(`.clientdata_output_${f}_height`,gu,c),[v]=Jn(`.clientdata_output_${f}_hidden`,!1,c),b=j0(f,void 0,c),p=G0(f,c),H=X0(f,c),o=V.useRef(null),s=V.useRef(null),[h,S]=V.useState(0);V.useEffect(()=>{b&&S(A=>A+1)},[b]),V.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const T=V.useCallback(()=>{if(o.current){const A=o.current.clientWidth,E=o.current.clientHeight;A>0&&E>0&&(r(A),y(E))}},[r,y]);if(V.useEffect(()=>{const A=o.current;if(!A)return;A.addEventListener("load",T);const E=Bc(()=>{A&&A.complete&&T()},a),O=new ResizeObserver(M=>{for(const R of M)R.target===A&&E()});return O.observe(A),()=>{A.removeEventListener("load",T),O.disconnect(),E.cancel()}},[o,h,r,y,a,T]),V.useEffect(()=>{if(b&&!H)return;const A=s.current;if(!A)return;const E=()=>{const R=A.clientWidth,At=A.clientHeight;R>0&&At>0&&(r(R),y(At))};E();const O=Bc(E,a),M=new ResizeObserver(()=>O());return M.observe(A),()=>{M.disconnect(),O.cancel()}},[b,H,r,y,a]),v)return null;if(H){const A=["shiny-output-error",...[].concat(H.type??[]).map(E=>`shiny-output-error-${E}`),l];return mu.jsx("div",{ref:s,className:A.filter(Boolean).join(" "),style:{width:e,height:u},children:H.message})}return b?mu.jsx("img",{ref:o,src:b.src,alt:b.alt??"",className:l,style:{width:e,height:u},onLoad:T}):mu.jsx("div",{ref:s,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:mu.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:mu.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}function om(){window.shinyreact={useSetShinyInput:im,useShinyBusy:cm,useShinyInput:Jn,useShinyInputValue:nm,useShinyOutputError:X0,useShinyOutputStatus:G0,useShinyOutputValue:j0,useShinyMessageHandler:fm,useShinyInitialized:le,ImageOutput:sm,MISSING:gu,ShinyModuleProvider:Qv,ShinyOutput:Jv,React:Fc,ReactDOM:jv}}om(),x0()})(); + */var Xv=Symbol.for("react.transitional.element"),Zv=Symbol.for("react.fragment");function z0(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:Xv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Zv,Ln.jsx=z0,Ln.jsxs=z0,E0.exports=Ln;var mu=E0.exports;const T0=q.createContext(null);function xv({namespace:t,children:l}){return mu.jsx(T0.Provider,{value:t,children:l})}function Lv(){return q.useContext(T0)}function Kv(t,l){return l?`${l}-${t}`:t}function Dl(t,l){const e=Lv();return Kv(t,l!==void 0?l:e)}const Su=new WeakMap,Nc=new Set;function p0(t,l,e){const u={promise:l.finally(()=>{Su.get(t)===u&&(Su.delete(t),Nc.delete(t))}),covers:e,consumed:!1};return Su.set(t,u),Nc.add(t),u}function A0(t){const l=[];for(const e of Nc){if(e===t||!e.contains(t)&&!t.contains(e))continue;const u=Su.get(e);u&&l.push(u)}return l}function O0(t){var u;const l=(u=window.Shiny)==null?void 0:u.bindAll;if(!l)return Promise.resolve();const e=new WeakSet(Array.from(t.children));return p0(t,Promise.resolve(l(t)),e).promise}function _0(t,l){const e=A0(t).map(a=>a.promise);l&&e.push(l);const u=p0(t,Promise.allSettled(e).then(()=>O0(t)),null);return u.promise.catch(a=>{u.consumed||console.error("[shinyreact] ShinyOutput bindAll failed:",a)}),u}function Jv(t,l){const e=Su.get(l);if(e&&(!e.covers||e.covers.has(t)))return e.consumed=!0,e.promise;if(!e&&A0(l).length===0)return O0(l);const u=_0(l,e==null?void 0:e.promise);return u.consumed=!0,u.promise}function wv(t){const l=Su.get(t);l&&_0(t,l.promise)}function $v({id:t,tagName:l="div",namespace:e,...u}){const a=Dl(t,e),n=q.useRef(null);return q.useEffect(()=>{var d;const i=n.current,f=i==null?void 0:i.parentElement;if(!i||!f||!((d=window.Shiny)!=null&&d.bindAll))return;const c=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{Jv(i,f).catch(r=>c(r,"bindAll"))}catch(r){c(r,"bindAll")}return()=>{var r,m;wv(f);try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){c(y,"unbindAll")}}},[a,l]),ts.createElement(l,{id:a,ref:n,...u})}const gu=Symbol("MISSING"),M0="1.0";function Wv(){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 Fv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function kv(t){const l=e=>e.split(".")[0];l(t)!==l(M0)&&Fv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${M0}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Iv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Wv();if(a!=null&&a.protocolVersion?kv(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[f,c]of Object.entries(n))t.add(f,c),i[f]=c;e._restore={"-applied":!0,"-values":i}}let Cc=!1,Kn=!1,Jn=!1;const Bc=new Set;let D0=!1,U0=[];function Yc(){for(const t of Bc)t()}function H0(){Cc||(Cc=!0,Yc())}function R0(t){Kn!==t&&(Kn=t,Yc())}function N0(t){Jn!==t&&(Jn=t,Yc())}function Pv(){var e;if(D0||typeof document>"u")return;D0=!0,document.documentElement.classList.contains("shiny-busy")&&(Kn=!0);const t=tt();if(Jn=((e=t==null?void 0:t.shinyapp)==null?void 0:e.isConnected())??!1,U0=[Pt("shiny:busy",()=>R0(!0)),Pt("shiny:idle",()=>R0(!1)),Pt("shiny:connected",()=>N0(!0)),Pt("shiny:disconnected",()=>N0(!1))],t){t.initializedPromise.then(H0);return}const l=Pt("shiny:connected",()=>{var u;l(),(u=tt())==null||u.initializedPromise.then(H0)});U0.push(l)}function qc(t){return Pv(),Bc.add(t),()=>{Bc.delete(t)}}function C0(){return Cc}function B0(){return Kn}function Y0(){return Jn}class tm{constructor(){I(this,"messageHandlers",new Map);I(this,"initialized",!1)}init(){if(this.initialized)return;const l=tt();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 q0=new tm;function V0(){const t=tt();return t?t.messageRegistry??(t.messageRegistry=q0):q0}function lm(){tt()&&V0()}class em{constructor(l){I(this,"id");I(this,"el");I(this,"status","pending");I(this,"hasValue",!1);I(this,"lastValue");I(this,"lastError",null);I(this,"useStateSetValueFns");I(this,"useStateSetStatusFns");I(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 um{constructor(){I(this,"outputs",new Map);I(this,"bindAllScheduled",!1);I(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 em(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 a,n;const e=this.outputs.get(l);if(!e||!e.isEmpty())return;this.outputs.delete(l);const u=e.el;if(u){try{(n=(a=tt())==null?void 0:a.unbindAll)==null||n.call(a,u,!0)}catch(i){console.error(`[shinyreact] unbindAll failed for output "${l}":`,i)}u.remove()}this.scheduleBindAll()})}scheduleBindAll(){const l=tt();!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 am(t){const l=tt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){n.message!==""&&console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Vc(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 ga=class ga{constructor(l,e){I(this,"id");I(this,"value");I(this,"useStateSetValueFns");I(this,"shinySetInputValueDebounced");I(this,"opts",{debounceMs:100});I(this,"type");I(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Vc(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ga.DEFAULT_TYPE}`;(a=(u=tt())==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}:${ga.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===gu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};I(ga,"DEFAULT_TYPE","shinyreact.default");let jc=ga;class nm{constructor(){I(this,"inputs",new Map);I(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 jc(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 j0;function G0(){return j0??(j0={inputs:new nm,outputs:new um}),j0}function im(){Zt()}function Zt(){const t=tt();return t?t.reactRegistry??(t.reactRegistry=G0()):G0()}function wn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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=Dl(t,a),c=q.useRef(l).current;let d=c;const m=Zt().inputs.get(i);m&&(d=m.getValue());const[y,v]=q.useState(d),b=ee();q.useEffect(()=>{if(!b)return;const o=Zt().inputs.getOrCreate(i,c);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,c,n]);const p=q.useCallback(H=>{if(!b)return;const s=Zt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const bu=()=>{};function Q0(t,l=void 0,{namespace:e}={}){const[u,a]=q.useState(l),n=ee();Oe();const i=Dl(t,e),f=q.useRef(l);return q.useEffect(()=>{if(!n)return;const c=Zt();return a(f.current),c.outputs.add(i,a,bu,bu)},[i,n]),u}function X0(t,{namespace:l}={}){const[e,u]=q.useState("pending"),a=ee();Oe();const n=Dl(t,l);return q.useEffect(()=>a?Zt().outputs.add(n,bu,u,bu):void 0,[n,a]),e}function Z0(t,{namespace:l}={}){const[e,u]=q.useState(null),a=ee();Oe();const n=Dl(t,l);return q.useEffect(()=>a?(u(null),Zt().outputs.add(n,bu,bu,u)):void 0,[n,a]),e}function fm(t,{namespace:l}={}){Oe();const e=Dl(t,l),[u,a]=q.useState(()=>{const i=Zt().inputs.get(e);if(!i)return;const f=i.getValue();return f===gu?void 0:f}),n=ee();return q.useEffect(()=>n?Zt().inputs.subscribe(e,c=>{a(c===gu?void 0:c)}):void 0,[e,n]),u}function cm(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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=Dl(t,a),c=q.useRef(l).current,d=ee();return q.useEffect(()=>{if(!d)return;const m=Zt().inputs.getOrCreate(i,c);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,c,n]),q.useCallback(r=>{if(!d)return;const y=Zt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function sm(t,l,{namespace:e}={}){const u=ee();Oe();const a=Dl(t,e),n=q.useRef(l);n.current=l,q.useEffect(()=>{if(!u||!a)return;const i=c=>n.current(c),f=V0();return f.addHandler(a,i),()=>{f.removeHandler(a,i)}},[u,a])}function ee(){return q.useSyncExternalStore(qc,C0,C0)}function om(){return q.useSyncExternalStore(qc,B0,B0)}function dm(){return q.useSyncExternalStore(qc,Y0,Y0)}let x0=!1;function Oe(){x0||(im(),Iv(Zt().inputs),am(()=>Zt().outputs),lm(),x0=!0)}function ym({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const f=Dl(t,i),c={namespace:null},[d,r]=wn(`.clientdata_output_${f}_width`,gu,c),[m,y]=wn(`.clientdata_output_${f}_height`,gu,c),[v]=wn(`.clientdata_output_${f}_hidden`,!1,c),b=Q0(f,void 0,c),p=X0(f,c),H=Z0(f,c),o=q.useRef(null),s=q.useRef(null),[h,S]=q.useState(0);q.useEffect(()=>{b&&S(A=>A+1)},[b]),q.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const T=q.useCallback(()=>{if(o.current){const A=o.current.clientWidth,E=o.current.clientHeight;A>0&&E>0&&(r(A),y(E))}},[r,y]);if(q.useEffect(()=>{const A=o.current;if(!A)return;A.addEventListener("load",T);const E=Vc(()=>{A&&A.complete&&T()},a),O=new ResizeObserver(M=>{for(const R of M)R.target===A&&E()});return O.observe(A),()=>{A.removeEventListener("load",T),O.disconnect(),E.cancel()}},[o,h,r,y,a,T]),q.useEffect(()=>{if(b&&!H)return;const A=s.current;if(!A)return;const E=()=>{const R=A.clientWidth,At=A.clientHeight;R>0&&At>0&&(r(R),y(At))};E();const O=Vc(E,a),M=new ResizeObserver(()=>O());return M.observe(A),()=>{M.disconnect(),O.cancel()}},[b,H,r,y,a]),v)return null;if(H){const A=["shiny-output-error",...[].concat(H.type??[]).map(E=>`shiny-output-error-${E}`),l];return mu.jsx("div",{ref:s,className:A.filter(Boolean).join(" "),style:{width:e,height:u},children:H.message})}return b?mu.jsx("img",{ref:o,src:b.src,alt:b.alt??"",className:l,style:{width:e,height:u},onLoad:T}):mu.jsx("div",{ref:s,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:mu.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:mu.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}function hm(){window.shinyreact={useSetShinyInput:cm,useShinyBusy:om,useShinyConnected:dm,useShinyInput:wn,useShinyInputValue:fm,useShinyOutputError:Z0,useShinyOutputStatus:X0,useShinyOutputValue:Q0,useShinyMessageHandler:sm,useShinyInitialized:ee,ImageOutput:ym,MISSING:gu,ShinyModuleProvider:xv,ShinyOutput:$v,React:ts,ReactDOM:Qv}}hm(),K0()})(); diff --git a/pkg-py/tests/playwright/apps/lifecycle/app.py b/pkg-py/tests/playwright/apps/lifecycle/app.py new file mode 100644 index 00000000..a1d7d193 --- /dev/null +++ b/pkg-py/tests/playwright/apps/lifecycle/app.py @@ -0,0 +1,21 @@ +import time + +from shiny import reactive +from shiny.express import input, session +from shinyreact import reactive_output, set_react_page + +set_react_page() + + +@reactive_output +@reactive.event(input.slow, ignore_init=True) +def slow(): + # Long enough for the client to see `shiny:busy` before `shiny:idle`. + time.sleep(1) + return input.slow() + + +@reactive.effect +@reactive.event(input.close, ignore_init=True) +async def _(): + await session.close() diff --git a/pkg-py/tests/playwright/apps/lifecycle/www/app.js b/pkg-py/tests/playwright/apps/lifecycle/www/app.js new file mode 100644 index 00000000..89d781a5 --- /dev/null +++ b/pkg-py/tests/playwright/apps/lifecycle/www/app.js @@ -0,0 +1,36 @@ +const { + React, + ReactDOM, + useSetShinyInput, + useShinyBusy, + useShinyConnected, + useShinyOutputValue, +} = window.shinyreact; + +const h = React.createElement; + +function App() { + const busy = useShinyBusy(); + const connected = useShinyConnected(); + const slow = useShinyOutputValue("slow"); + const setSlow = useSetShinyInput("slow", 0, { + debounceMs: 0, + priority: "event", + }); + const setClose = useSetShinyInput("close", 0, { + debounceMs: 0, + priority: "event", + }); + + return h( + "div", + null, + h("button", { "data-test": "slow", onClick: () => setSlow(1) }, "Slow"), + h("button", { "data-test": "close", onClick: () => setClose(1) }, "Close"), + h("span", { "data-test": "busy" }, String(busy)), + h("span", { "data-test": "connected" }, String(connected)), + h("span", { "data-test": "slow-value" }, slow ?? ""), + ); +} + +ReactDOM.createRoot(document.getElementById("root")).render(h(App)); diff --git a/pkg-py/tests/playwright/apps/lifecycle/www/index.html b/pkg-py/tests/playwright/apps/lifecycle/www/index.html new file mode 100644 index 00000000..09a03a42 --- /dev/null +++ b/pkg-py/tests/playwright/apps/lifecycle/www/index.html @@ -0,0 +1,18 @@ + +

+ On load: busy false, connected true. + Slow makes busy true for about a second, then + false with 1 shown. Close ends the session: + connected turns false. +

+
+ diff --git a/pkg-py/tests/playwright/test_lifecycle.py b/pkg-py/tests/playwright/test_lifecycle.py new file mode 100644 index 00000000..698e860e --- /dev/null +++ b/pkg-py/tests/playwright/test_lifecycle.py @@ -0,0 +1,34 @@ +"""Shiny fires its lifecycle events through jQuery's `trigger()`, which never +reaches an `addEventListener()` listener. These run against real Shiny, since +the jsdom tests can only send native events (#328).""" + +from playwright.sync_api import Page, expect +from shiny.pytest import create_app_fixture +from shiny.run import ShinyAppProc + +lifecycle_app = create_app_fixture("apps/lifecycle/app.py") + + +def test_use_shiny_busy_follows_a_slow_output( + page: Page, lifecycle_app: ShinyAppProc +) -> None: + page.goto(lifecycle_app.url) + busy = page.locator("[data-test=busy]") + expect(page.locator("[data-test=connected]")).to_have_text("true") + expect(busy).to_have_text("false") + + page.locator("[data-test=slow]").click() + expect(busy).to_have_text("true") + expect(page.locator("[data-test=slow-value]")).to_have_text("1") + expect(busy).to_have_text("false") + + +def test_use_shiny_connected_turns_false_when_the_session_closes( + page: Page, lifecycle_app: ShinyAppProc +) -> None: + page.goto(lifecycle_app.url) + connected = page.locator("[data-test=connected]") + expect(connected).to_have_text("true") + + page.locator("[data-test=close]").click() + expect(connected).to_have_text("false") diff --git a/pkg-r/inst/lib/shiny/shinyreact.js b/pkg-r/inst/lib/shiny/shinyreact.js index 13ae75ad..cc17fcf2 100644 --- a/pkg-r/inst/lib/shiny/shinyreact.js +++ b/pkg-r/inst/lib/shiny/shinyreact.js @@ -1,4 +1,4 @@ -var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[et]=ae;var I=(ue,et,ae)=>hm(ue,typeof et!="symbol"?et+"":et,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 et(){if(!(typeof window>"u"))return window.Shiny}let ae=!1;function x0(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=et();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(et()){t();return}const l=()=>{et()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function jc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Gc={exports:{}},D={};/** +var vm=Object.defineProperty;var mm=(ae,tt,Pt)=>tt in ae?vm(ae,tt,{enumerable:!0,configurable:!0,writable:!0,value:Pt}):ae[tt]=Pt;var I=(ae,tt,Pt)=>mm(ae,typeof tt!="symbol"?tt+"":tt,Pt);(function(){"use strict";function ae(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function tt(){if(!(typeof window>"u"))return window.Shiny}function Pt(t,l){const e=window.jQuery;return e?(e(document).on(t,l),()=>e(document).off(t,l)):(tt()&&console.warn(`[shinyreact] window.Shiny is present but window.jQuery is not; "${t}" will never be heard.`),document.addEventListener(t,l),()=>document.removeEventListener(t,l))}let Xc=!1;function K0(){if(typeof document>"u"||Xc)return;Xc=!0;const t=()=>{const e=tt();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(tt()){t();return}const l=Pt("shiny:connected",()=>{tt()&&(l(),t())})}function Zc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var xc={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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 Fn=Symbol.for("react.transitional.element"),L0=Symbol.for("react.portal"),K0=Symbol.for("react.fragment"),J0=Symbol.for("react.strict_mode"),w0=Symbol.for("react.profiler"),$0=Symbol.for("react.consumer"),W0=Symbol.for("react.context"),F0=Symbol.for("react.forward_ref"),k0=Symbol.for("react.suspense"),I0=Symbol.for("react.memo"),Xc=Symbol.for("react.lazy"),P0=Symbol.for("react.activity"),Qc=Symbol.iterator;function th(t){return t===null||typeof t!="object"?null:(t=Qc&&t[Qc]||t["@@iterator"],typeof t=="function"?t:null)}var Zc={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},xc=Object.assign,Lc={};function Me(t,l,e){this.props=t,this.context=l,this.refs=Lc,this.updater=e||Zc}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 Kc(){}Kc.prototype=Me.prototype;function kn(t,l,e){this.props=t,this.context=l,this.refs=Lc,this.updater=e||Zc}var In=kn.prototype=new Kc;In.constructor=kn,xc(In,Me.prototype),In.isPureReactComponent=!0;var Jc=Array.isArray;function Pn(){}var w={H:null,A:null,T:null,S:null},wc=Object.prototype.hasOwnProperty;function ti(t,l,e){var u=e.ref;return{$$typeof:Fn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function lh(t,l){return ti(t.type,l,t.props)}function li(t){return typeof t=="object"&&t!==null&&t.$$typeof===Fn}function eh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var $c=/\/+/g;function ei(t,l){return typeof t=="object"&&t!==null&&t.key!=null?eh(""+t.key):l.toString(36)}function uh(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(Pn,Pn):(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 Fn:case L0:i=!0;break;case Xc:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+ei(t,0):u,Jc(a)?(e="",i!=null&&(e=i.replace($c,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(li(a)&&(a=lh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace($c,"$&/")+"/")+i)),l.push(a)),1;i=0;var f=u===""?".":u+":";if(Jc(t))for(var c=0;cet in ue?ym(ue,et,{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(z,Y){var N=z.length;z.push(Y);t:for(;0>>1,vt=z[nt];if(0>>1;nta(Vc,N))_ea(Wn,Vc)?(z[nt]=Wn,z[_e]=N,nt=_e):(z[nt]=Vc,z[$n]=N,nt=$n);else if(_ea(Wn,N))z[nt]=Wn,z[_e]=N,nt=_e;else break t}}return Y}function a(z,Y){var N=z.sortIndex-Y.sortIndex;return N!==0?N:z.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,f=i.now();t.unstable_now=function(){return i.now()-f}}var c=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(z){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=z)u(d),Y.sortIndex=Y.expirationTime,l(c,Y);else break;Y=e(d)}}function T(z){if(p=!1,S(z),!b)if(e(c)!==null)b=!0,A||(A=!0,ee());else{var Y=e(d);Y!==null&&qc(T,Y.startTime-z)}}var A=!1,E=-1,O=5,M=-1;function R(){return H?!0:!(t.unstable_now()-Mz&&R());){var nt=m.callback;if(typeof nt=="function"){m.callback=null,y=m.priorityLevel;var vt=nt(m.expirationTime<=z);if(z=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(z),Y=!0;break l}m===e(c)&&u(c),S(z)}else u(c);m=e(c)}if(m!==null)Y=!0;else{var wn=e(d);wn!==null&&qc(T,wn.startTime-z),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ee():A=!1}}}var ee;if(typeof h=="function")ee=function(){h(At)};else if(typeof MessageChannel<"u"){var Z0=new MessageChannel,dm=Z0.port2;Z0.port1.onmessage=At,ee=function(){dm.postMessage(null)}}else ee=function(){o(At,0)};function qc(z,Y){E=o(function(){z(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(z){z.callback=null},t.unstable_forceFrameRate=function(z){0>z||125nt?(z.sortIndex=N,l(d,z),e(c)===null&&z===e(d)&&(p?(s(E),E=-1):p=!0,qc(T,N-nt))):(z.sortIndex=vt,l(c,z),b||v||(b=!0,A||(A=!0,ee()))),z},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(z){var Y=y;return function(){var N=y;y=Y;try{return z.apply(this,arguments)}finally{y=N}}}})(Pc),Ic.exports=Pc;var ih=Ic.exports,ts={exports:{}},zt={};/** + */(function(t){function l(z,Y){var N=z.length;z.push(Y);t:for(;0>>1,vt=z[nt];if(0>>1;nt<$n;){var Wn=2*(nt+1)-1,Qc=z[Wn],_e=Wn+1,Fn=z[_e];if(0>a(Qc,N))_ea(Fn,Qc)?(z[nt]=Fn,z[_e]=N,nt=_e):(z[nt]=Qc,z[Wn]=N,nt=Wn);else if(_ea(Fn,N))z[nt]=Fn,z[_e]=N,nt=_e;else break t}}return Y}function a(z,Y){var N=z.sortIndex-Y.sortIndex;return N!==0?N:z.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,f=i.now();t.unstable_now=function(){return i.now()-f}}var c=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(z){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=z)u(d),Y.sortIndex=Y.expirationTime,l(c,Y);else break;Y=e(d)}}function T(z){if(p=!1,S(z),!b)if(e(c)!==null)b=!0,A||(A=!0,ue());else{var Y=e(d);Y!==null&&Gc(T,Y.startTime-z)}}var A=!1,E=-1,O=5,M=-1;function R(){return H?!0:!(t.unstable_now()-Mz&&R());){var nt=m.callback;if(typeof nt=="function"){m.callback=null,y=m.priorityLevel;var vt=nt(m.expirationTime<=z);if(z=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(z),Y=!0;break l}m===e(c)&&u(c),S(z)}else u(c);m=e(c)}if(m!==null)Y=!0;else{var $n=e(d);$n!==null&&Gc(T,$n.startTime-z),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ue():A=!1}}}var ue;if(typeof h=="function")ue=function(){h(At)};else if(typeof MessageChannel<"u"){var L0=new MessageChannel,rm=L0.port2;L0.port1.onmessage=At,ue=function(){rm.postMessage(null)}}else ue=function(){o(At,0)};function Gc(z,Y){E=o(function(){z(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(z){z.callback=null},t.unstable_forceFrameRate=function(z){0>z||125nt?(z.sortIndex=N,l(d,z),e(c)===null&&z===e(d)&&(p?(s(E),E=-1):p=!0,Gc(T,N-nt))):(z.sortIndex=vt,l(c,z),b||v||(b=!0,A||(A=!0,ue()))),z},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(z){var Y=y;return function(){var N=y;y=Y;try{return z.apply(this,arguments)}finally{y=N}}}})(us),es.exports=us;var ch=es.exports,as={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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 fh=V;function ls(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(es)}catch(t){console.error(t)}}es(),ts.exports=zt;var oh=ts.exports;/** + */var sh=q;function ns(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(is)}catch(t){console.error(t)}}is(),as.exports=zt;var yh=as.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var ym=Object.defineProperty;var hm=(ue,et,ae)=>et in ue?ym(ue,et,{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=ih,us=V,dh=oh;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=oi[He],oi[He]=null,He--)}function J(t,l){He++,oi[He]=t.current,t.current=l}var ul=el(null),Ou=el(null),Hl=el(null),pa=el(null);function Aa(t,l){switch(J(Hl,l),J(Ou,t),J(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?Vy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=Vy(l),t=jy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),J(ul,t)}function Re(){yt(ul),yt(Ou),yt(Hl)}function di(t){t.memoizedState!==null&&J(pa,t);var l=ul.current,e=jy(l,t.type);l!==e&&(J(Ou,t),J(ul,e))}function Oa(t){Ou.current===t&&(yt(ul),yt(Ou)),pa.current===t&&(yt(pa),ra._currentValue=ne)}var yi,ys;function ie(t){if(yi===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);yi=l&&l[1]||"",ys=-1He||(t.current=di[He],di[He]=null,He--)}function J(t,l){He++,di[He]=t.current,t.current=l}var al=ul(null),Ou=ul(null),Rl=ul(null),pa=ul(null);function Aa(t,l){switch(J(Rl,l),J(Ou,t),J(al,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?Xy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=Xy(l),t=Zy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(al),J(al,t)}function Re(){yt(al),yt(Ou),yt(Rl)}function yi(t){t.memoizedState!==null&&J(pa,t);var l=al.current,e=Zy(l,t.type);l!==e&&(J(Ou,t),J(al,e))}function Oa(t){Ou.current===t&&(yt(al),yt(Ou)),pa.current===t&&(yt(pa),ra._currentValue=ne)}var hi,ms;function ie(t){if(hi===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);hi=l&&l[1]||"",ms=-1)":-1a||c[u]!==d[a]){var r=` -`+c[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{hi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function mh(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 ri(t.type,!1);case 11:return ri(t.type.render,!1);case 1:return ri(t.type,!0);case 31:return ie("Activity");default:return""}}function hs(t){try{var l="",e=null;do l+=mh(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+c[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{ri=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function gh(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 vi(t.type,!1);case 11:return vi(t.type.render,!1);case 1:return vi(t.type,!0);case 31:return ie("Activity");default:return""}}function Ss(t){try{var l="",e=null;do l+=gh(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,mi=ot.unstable_scheduleCallback,Si=ot.unstable_cancelCallback,Sh=ot.unstable_shouldYield,gh=ot.unstable_requestPaint,Nt=ot.unstable_now,bh=ot.unstable_getCurrentPriorityLevel,rs=ot.unstable_ImmediatePriority,vs=ot.unstable_UserBlockingPriority,_a=ot.unstable_NormalPriority,Eh=ot.unstable_LowPriority,ms=ot.unstable_IdlePriority,zh=ot.log,Th=ot.unstable_setDisableYieldValue,_u=null,Ct=null;function Rl(t){if(typeof zh=="function"&&Th(t),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(_u,t)}catch{}}var Bt=Math.clz32?Math.clz32:Oh,ph=Math.log,Ah=Math.LN2;function Oh(t){return t>>>=0,t===0?32:31-(ph(t)/Ah|0)|0}var Ma=256,Da=262144,Ua=4194304;function fe(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 Ha(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 f=u&134217727;return f!==0?(u=f&~n,u!==0?a=fe(u):(i&=f,i!==0?a=fe(i):e||(e=f&~t,e!==0&&(a=fe(e))))):(f=u&~n,f!==0?a=fe(f):i!==0?a=fe(i):e||(e=u&~t,e!==0&&(a=fe(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 Mu(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function _h(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 Ss(){var t=Ua;return Ua<<=1,!(Ua&62914560)&&(Ua=4194304),t}function gi(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Du(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Mh(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 f=t.entanglements,c=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Ch=/[\n"\\]/g;function Lt(t){return t.replace(Ch,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ai(t,l,e,u,a,n,i,f){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=""+xt(l)):t.value!==""+xt(l)&&(t.value=""+xt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Oi(t,i,xt(l)):e!=null?Oi(t,i,xt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?t.name=""+xt(f):t.removeAttribute("name")}function Hs(t,l,e,u,a,n,i,f){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)){pi(t);return}e=e!=null?""+xt(e):"",l=l!=null?""+xt(l):e,f||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=f?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),pi(t)}function Oi(t,l,e){l==="number"&&Ca(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"),Hi=!1;if(dl)try{var Nu={};Object.defineProperty(Nu,"passive",{get:function(){Hi=!0}}),window.addEventListener("test",Nu,Nu),window.removeEventListener("test",Nu,Nu)}catch{Hi=!1}var Cl=null,Ri=null,Ya=null;function Vs(){if(Ya)return Ya;var t,l=Ri,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Yu),xs=" ",Ls=!1;function Ks(t,l){switch(t){case"keyup":return fr.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Js(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function sr(t,l){switch(t){case"compositionend":return Js(l);case"keypress":return l.which!==32?null:(Ls=!0,xs);case"textInput":return t=l.data,t===xs&&Ls?null:t;default:return null}}function or(t,l){if(Qe)return t==="compositionend"||!qi&&Ks(t,l)?(t=Vs(),Ya=Ri=Cl=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=to(e)}}function eo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?eo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function uo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ca(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=Ca(t.document)}return l}function Gi(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 gr=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Xi=null,Gu=null,Qi=!1;function ao(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Qi||Ze==null||Ze!==Ca(u)||(u=Ze,"selectionStart"in u&&Gi(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}),Gu&&ju(Gu,u)||(Gu=u,u=Un(Xi,"onSelect"),0>=i,a-=i,al=1<<32-Bt(l)+a|e<O?(M=E,E=null):M=E.sibling;var R=y(o,E,h[O],S);if(R===null){E===null&&(E=M);break}t&&E&&R.alternate===null&&l(o,E),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R,E=M}if(O===h.length)return e(o,E),j&&hl(o,O),T;if(E===null){for(;OO?(M=E,E=null):M=E.sibling;var At=y(o,E,R.value,S);if(At===null){E===null&&(E=M);break}t&&E&&At.alternate===null&&l(o,E),s=n(At,s,O),A===null?T=At:A.sibling=At,A=At,E=M}if(R.done)return e(o,E),j&&hl(o,O),T;if(E===null){for(;!R.done;O++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return j&&hl(o,O),T}for(E=u(E);!R.done;O++,R=h.next())R=v(E,o,O,R.value,S),R!==null&&(t&&R.alternate!==null&&E.delete(R.key===null?O:R.key),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return t&&E.forEach(function(ee){return l(o,ee)}),j&&hl(o,O),T}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 Ta:t:{for(var T=h.key;s!==null;){if(s.key===T){if(T=h.type,T===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===T||typeof T=="object"&&T!==null&&T.$$typeof===Ul&&ge(T)===s.type){e(o,s.sibling),S=a(s,h.props),Ku(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=Ka(h.type,h.key,h.props,null,o.mode,S),Ku(S,h),S.return=o,o=S)}return i(o);case Tu:t:{for(T=h.key;s!==null;){if(s.key===T)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=$i(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(pu(h)){if(T=pu(h),typeof T!="function")throw Error(g(150));return h=T.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Ia(h),S);if(h.$$typeof===cl)return H(o,s,$a(o,h),S);Pa(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=wi(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var T=H(o,s,h,S);return Pe=null,T}catch(E){if(E===Ie||E===Fa)throw E;var A=qt(29,E,null,o.mode);return A.lanes=S,A.return=o,A}finally{}}}var Ee=Do(!0),Uo=Do(!1),jl=!1;function ff(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function cf(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),yo(t,null,e),l}return xa(t,u,l,e),La(t)}function Ju(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,bs(t,e)}}function sf(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 of=!1;function wu(){if(of){var t=ke;if(t!==null)throw t}}function $u(t,l,e,u){of=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,f=a.shared.pending;if(f!==null){a.shared.pending=null;var c=f,d=c.next;c.next=null,i===null?n=d:i.next=d,i=c;var r=t.alternate;r!==null&&(r=r.updateQueue,f=r.lastBaseUpdate,f!==i&&(f===null?r.firstBaseUpdate=d:f.next=d,r.lastBaseUpdate=c))}if(n!==null){var m=a.baseState;i=0,r=d=c=null,f=n;do{var y=f.lane&-536870913,v=y!==f.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(of=!0),r!==null&&(r=r.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});t:{var b=t,p=f;y=l;var H=e;switch(p.tag){case 1:if(b=p.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=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=W({},m,y);break t;case 2:jl=!0}}y=f.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:f.tag,payload:f.payload,callback:f.callback,next:null},r===null?(d=r=v,c=m):r=r.next=v,i|=y;if(f=f.next,f===null){if(f=a.shared.pending,f===null)break;v=f,f=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(c=m),a.baseState=c,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Ho(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ro(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=_.T,f={};_.T=f,Uf(t,!1,l,e);try{var c=a(),d=_.S;if(d!==null&&d(f,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var r=Mr(c,u);ku(t,l,r,Qt(t))}else ku(t,l,u,Qt(t))}catch(m){ku(t,l,{then:function(){},status:"rejected",reason:m},Qt())}finally{G.p=n,i!==null&&f.types!==null&&(i.types=f.types),_.T=i}}function Cr(){}function Mf(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=sd(t).queue;cd(t,a,l,ne,e===null?Cr:function(){return od(t),e(u)})}function sd(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 od(t){var l=sd(t);l.next===null&&(l=t.alternate.memoizedState),ku(t,l.next.queue,{},Qt())}function Df(){return gt(ra)}function dd(){return at().memoizedState}function yd(){return at().memoizedState}function Br(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Qt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Rt(u,l,e),Ju(u,l,e)),l={cache:ef()},t.payload=l;return}l=l.return}}function Yr(t,l,e){var u=Qt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},on(t)?rd(l,e):(e=Ki(t,l,e,u),e!==null&&(Rt(e,t,u),vd(e,l,u)))}function hd(t,l,e){var u=Qt();ku(t,l,e,u)}function ku(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(on(t))rd(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,f=n(i,e);if(a.hasEagerState=!0,a.eagerState=f,Yt(f,i))return xa(t,l,a,0),K===null&&Za(),!1}catch{}finally{}if(e=Ki(t,l,a,u),e!==null)return Rt(e,t,u),vd(e,l,u),!0}return!1}function Uf(t,l,e,u){if(u={lane:2,revertLane:fc(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},on(t)){if(l)throw Error(g(479))}else l=Ki(t,e,u,2),l!==null&&Rt(l,t,2)}function on(t){var l=t.alternate;return t===U||l!==null&&l===U}function rd(t,l){lu=en=!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,bs(t,e)}}var Iu={readContext:gt,use:nn,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};Iu.useEffectEvent=tt;var md={readContext:gt,use:nn,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Po,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ud.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=pt();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=pt();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=Yr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Tf(t);var l=t.queue,e=hd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:Of,useDeferredValue:function(t,l){var e=pt();return _f(e,t,l)},useTransition:function(){var t=Tf(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),K===null)throw Error(g(349));q&127||Vo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Po(Go.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},jo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=K.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Bt(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=un++,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[Ot]=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 k(l),xf(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,$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||Yy(t.nodeValue,e)),t||ql(l,!0)}else t=Hn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),t=!1}else e=Ii(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(jt(l),l):(jt(l),null);if(l.flags&128)throw Error(g(558))}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),a=!1}else a=Ii(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(jt(l),l):(jt(l),null)}return jt(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),k(l),null);case 4:return Re(),t===null&&dc(l.stateNode.containerInfo),k(l),null;case 10:return vl(l.type),k(l),null;case 19:if(yt(ut),u=l.memoizedState,u===null)return k(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)ta(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=ln(t),n!==null){for(l.flags|=128,ta(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)ho(e,t),e=e.sibling;return J(ut,ut.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Nt()>En&&(l.flags|=128,a=!0,ta(u,!1),l.lanes=4194304)}else{if(!a)if(t=ln(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),ta(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return k(l),null}else 2*Nt()-u.renderingStartTime>En&&e!==536870912&&(l.flags|=128,a=!0,ta(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=Nt(),t.sibling=null,e=ut.current,J(ut,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(k(l),null);case 22:case 23:return jt(l),yf(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(k(l),l.subtreeFlags&6&&(l.flags|=8192)):k(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),vl(it),k(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Xr(t,l){switch(Fi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Oa(l),null;case 31:if(l.memoizedState!==null){if(jt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(jt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(ut),null;case 4:return Re(),null;case 10:return vl(l.type),null;case 22:case 23:return jt(l),yf(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Xd(t,l){switch(Fi(l),l.tag){case 3:vl(it),Re();break;case 26:case 27:case 5:Oa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&jt(l);break;case 13:jt(l);break;case 19:yt(ut);break;case 10:vl(l.type);break;case 22:case 23:jt(l),yf(),t!==null&&yt(Se);break;case 24:vl(it)}}function la(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(f){Z(l,l.return,f)}}function xl(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,f=i.destroy;if(f!==void 0){i.destroy=void 0,a=l;var c=e,d=f;try{d()}catch(r){Z(a,c,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Qd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ro(l,e)}catch(u){Z(t,t.return,u)}}}function Zd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ea(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 xd(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 Lf(t,l,e){try{var u=t.stateNode;cv(u,t.type,e,l),u[Ot]=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 Kf(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 Jf(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(Jf(t,l,e),t=t.sibling;t!==null;)Jf(t,l,e),t=t.sibling}function mn(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(mn(t,l,e),t=t.sibling;t!==null;)mn(t,l,e),t=t.sibling}function Kd(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[Ot]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,wf=!1,Jd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function Qr(t,l){if(t=t.containerInfo,rc=Vn,t=uo(t),Gi(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,f=-1,c=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(f=i+a),m!==n||u!==0&&m.nodeType!==3||(c=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(f=i),y===n&&++r===u&&(c=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=f===-1||c===-1?null:{start:f,end:c}}else e=null}e=e||{start:0,end:0}}else e=null;for(vc={focusedElem:t,selectionRange:e},Vn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,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=Iy("link","href",a).get(u+(e.href||""));if(i){for(var f=0;fH&&(i=H,H=p,p=i);var o=lo(f,p),s=lo(f,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=f;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fe?32:e,_.T=null,e=tc,tc=null;var n=wl,i=Ol;if(dt=0,cu=wl=null,Ol=0,X&6)throw Error(g(331));var f=X;if(X|=4,uy(n.current),ty(n,n.current,i,e),X=f,ca(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(_u,n)}catch{}return!0}finally{G.p=a,_.T=u,zy(t,l)}}function py(t,l,e){l=Jt(e,l),l=Cf(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Du(t,2),fl(t))}function Z(t,l,e){if(t.tag===3)py(t,t,e);else for(;l!==null;){if(l.tag===3){py(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=Jt(e,t),e=Ad(2),u=Xl(l,e,2),u!==null&&(Od(e,u,l,t),Du(u,2),fl(u));break}}l=l.return}}function ac(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Lr;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)||(Ff=!0,a.add(e),t=Wr.bind(null,t,l,e),l.then(t,t))}function Wr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,K===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Nt()-bn?!(X&2)&&su(t,0):kf|=e,fu===q&&(fu=0)),fl(t)}function Ay(t,l){l===0&&(l=Ss()),t=ye(t,l),t!==null&&(Du(t,l),fl(t))}function Fr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Ay(t,e)}function kr(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 Ir(t,l){return mi(t,l)}var _n=null,du=null,nc=!1,Mn=!1,ic=!1,Wl=0;function fl(t){t!==du&&t.next===null&&(du===null?_n=du=t:du=du.next=t),Mn=!0,nc||(nc=!0,tv())}function ca(t,l){if(!ic&&Mn){ic=!0;do for(var e=!1,u=_n;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,f=u.pingedLanes;n=(1<<31-Bt(42|t)+1)-1,n&=a&~(i&~f),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,Dy(u,n))}else n=q,n=Ha(u,u===K?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Mu(u,n)||(e=!0,Dy(u,n));u=u.next}while(e);ic=!1}}function Pr(){Oy()}function Oy(){Mn=nc=!1;var t=0;Wl!==0&&ov()&&(t=Wl);for(var l=Nt(),e=null,u=_n;u!==null;){var a=u.next,n=_y(u,l);n===0?(u.next=null,e===null?_n=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(Mn=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function _y(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0f)break;var r=c.transferSize,m=c.initiatorType;r&&qy(m)&&(c=c.responseEnd,i+=r*(c"u"?null:document;function $y(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Lt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),wy.has(a)||(wy.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 bv(t){_l.D(t),$y("dns-prefetch",t,null)}function Ev(t,l){_l.C(t,l),$y("preconnect",t,l)}function zv(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Lt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Lt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Lt(e.imageSizes)+'"]')):a+='[href="'+Lt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}It.has(n)||(t=W({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),It.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(ya(n))||l==="script"&&u.querySelector(ha(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Tv(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="'+Lt(u)+'"][href="'+Lt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!It.has(n)&&(t=W({rel:"modulepreload",href:t},l),It.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ha(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function pv(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 f={loading:0,preload:null};if(i=u.querySelector(ya(n)))f.loading=5;else{t=W({rel:"stylesheet",href:t,"data-precedence":l},e),(e=It.get(n))&&Tc(t,e);var c=i=u.createElement("link");ht(c),Et(c,"link",t),c._p=new Promise(function(d,r){c.onload=d,c.onerror=r}),c.addEventListener("load",function(){f.loading|=1}),c.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Nn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:f},a.set(n,i)}}}function Av(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0},l),(l=It.get(a))&&pc(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 Ov(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0,type:"module"},l),(l=It.get(a))&&pc(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 Wy(t,l,e,u){var a=(a=Hl.current)?Rn(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(ya(t)))&&!n._p&&(i.instance=n,i.state.loading=5),It.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},It.set(t,e),n||_v(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=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="'+Lt(t)+'"'}function ya(t){return'link[rel="stylesheet"]['+t+"]"}function Fy(t){return W({},t,{"data-precedence":t.precedence,precedence:null})}function _v(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="'+Lt(t)+'"]'}function ha(t){return"script[async]"+t}function ky(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Lt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=W({},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),Nn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(ya(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Fy(e),(a=It.get(a))&&Tc(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),Et(n,"link",u),l.state.loading|=4,Nn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ha(n)))?(l.instance=a,ht(a),a):(u=e,(a=It.get(n))&&(u=W({},e),pc(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,Nn(u,e.precedence,t));return l.instance}function Nn(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 Mv(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 t0(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Dv(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(ya(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Bn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Fy(u),(a=It.get(a))&&Tc(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),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=Bn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Ac=0;function Uv(t,l){return t.stylesheets&&t.count===0&&qn(t,t.stylesheets),0Ac?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Bn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Yn=null;function qn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Yn=new Map,l.forEach(Hv,t),Yn=null,Bn.call(t))}function Hv(t,l){if(!(l.state.loading&4)){var e=Yn.get(t);if(e)var u=e.get(null);else{e=new Map,Yn.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(r0)}catch(t){console.error(t)}}r0(),kc.exports=Ea;var v0=kc.exports;const jv=ue({__proto__:null,default:jc(v0)},[v0]);var m0={exports:{}},Ln={};/** +`+u.stack}}var mi=Object.prototype.hasOwnProperty,Si=ot.unstable_scheduleCallback,gi=ot.unstable_cancelCallback,bh=ot.unstable_shouldYield,Eh=ot.unstable_requestPaint,Nt=ot.unstable_now,zh=ot.unstable_getCurrentPriorityLevel,gs=ot.unstable_ImmediatePriority,bs=ot.unstable_UserBlockingPriority,_a=ot.unstable_NormalPriority,Th=ot.unstable_LowPriority,Es=ot.unstable_IdlePriority,ph=ot.log,Ah=ot.unstable_setDisableYieldValue,_u=null,Ct=null;function Nl(t){if(typeof ph=="function"&&Ah(t),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(_u,t)}catch{}}var Bt=Math.clz32?Math.clz32:Mh,Oh=Math.log,_h=Math.LN2;function Mh(t){return t>>>=0,t===0?32:31-(Oh(t)/_h|0)|0}var Ma=256,Da=262144,Ua=4194304;function fe(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 Ha(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 f=u&134217727;return f!==0?(u=f&~n,u!==0?a=fe(u):(i&=f,i!==0?a=fe(i):e||(e=f&~t,e!==0&&(a=fe(e))))):(f=u&~n,f!==0?a=fe(f):i!==0?a=fe(i):e||(e=u&~t,e!==0&&(a=fe(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 Mu(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function Dh(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 zs(){var t=Ua;return Ua<<=1,!(Ua&62914560)&&(Ua=4194304),t}function bi(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Du(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Uh(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 f=t.entanglements,c=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Yh=/[\n"\\]/g;function Lt(t){return t.replace(Yh,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Oi(t,l,e,u,a,n,i,f){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=""+xt(l)):t.value!==""+xt(l)&&(t.value=""+xt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?_i(t,i,xt(l)):e!=null?_i(t,i,xt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?t.name=""+xt(f):t.removeAttribute("name")}function Bs(t,l,e,u,a,n,i,f){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)){Ai(t);return}e=e!=null?""+xt(e):"",l=l!=null?""+xt(l):e,f||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=f?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ai(t)}function _i(t,l,e){l==="number"&&Ca(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"),Ri=!1;if(yl)try{var Nu={};Object.defineProperty(Nu,"passive",{get:function(){Ri=!0}}),window.addEventListener("test",Nu,Nu),window.removeEventListener("test",Nu,Nu)}catch{Ri=!1}var Bl=null,Ni=null,Ya=null;function Xs(){if(Ya)return Ya;var t,l=Ni,e=l.length,u,a="value"in Bl?Bl.value:Bl.textContent,n=a.length;for(t=0;t=Yu),ws=" ",$s=!1;function Ws(t,l){switch(t){case"keyup":return sr.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Xe=!1;function dr(t,l){switch(t){case"compositionend":return Fs(l);case"keypress":return l.which!==32?null:($s=!0,ws);case"textInput":return t=l.data,t===ws&&$s?null:t;default:return null}}function yr(t,l){if(Xe)return t==="compositionend"||!Vi&&Ws(t,l)?(t=Xs(),Ya=Ni=Bl=null,Xe=!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=ao(e)}}function io(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?io(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function fo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ca(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=Ca(t.document)}return l}function Qi(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 Er=yl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Xi=null,Gu=null,Zi=!1;function co(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Zi||Ze==null||Ze!==Ca(u)||(u=Ze,"selectionStart"in u&&Qi(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}),Gu&&ju(Gu,u)||(Gu=u,u=Un(Xi,"onSelect"),0>=i,a-=i,nl=1<<32-Bt(l)+a|e<O?(M=E,E=null):M=E.sibling;var R=y(o,E,h[O],S);if(R===null){E===null&&(E=M);break}t&&E&&R.alternate===null&&l(o,E),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R,E=M}if(O===h.length)return e(o,E),j&&rl(o,O),T;if(E===null){for(;OO?(M=E,E=null):M=E.sibling;var At=y(o,E,R.value,S);if(At===null){E===null&&(E=M);break}t&&E&&At.alternate===null&&l(o,E),s=n(At,s,O),A===null?T=At:A.sibling=At,A=At,E=M}if(R.done)return e(o,E),j&&rl(o,O),T;if(E===null){for(;!R.done;O++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return j&&rl(o,O),T}for(E=u(E);!R.done;O++,R=h.next())R=v(E,o,O,R.value,S),R!==null&&(t&&R.alternate!==null&&E.delete(R.key===null?O:R.key),s=n(R,s,O),A===null?T=R:A.sibling=R,A=R);return t&&E.forEach(function(ue){return l(o,ue)}),j&&rl(o,O),T}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 Ta:t:{for(var T=h.key;s!==null;){if(s.key===T){if(T=h.type,T===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===T||typeof T=="object"&&T!==null&&T.$$typeof===Hl&&ge(T)===s.type){e(o,s.sibling),S=a(s,h.props),Ku(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=Ka(h.type,h.key,h.props,null,o.mode,S),Ku(S,h),S.return=o,o=S)}return i(o);case Tu:t:{for(T=h.key;s!==null;){if(s.key===T)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 Hl:return h=ge(h),H(o,s,h,S)}if(Au(h))return b(o,s,h,S);if(pu(h)){if(T=pu(h),typeof T!="function")throw Error(g(150));return h=T.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Ia(h),S);if(h.$$typeof===sl)return H(o,s,$a(o,h),S);Pa(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=$i(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Lu=0;var T=H(o,s,h,S);return Pe=null,T}catch(E){if(E===Ie||E===Fa)throw E;var A=qt(29,E,null,o.mode);return A.lanes=S,A.return=o,A}finally{}}}var Ee=No(!0),Co=No(!1),Gl=!1;function cf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function sf(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 Ql(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,Q&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=La(t),mo(t,null,e),l}return xa(t,u,l,e),La(t)}function Ju(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,ps(t,e)}}function of(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 df=!1;function wu(){if(df){var t=ke;if(t!==null)throw t}}function $u(t,l,e,u){df=!1;var a=t.updateQueue;Gl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,f=a.shared.pending;if(f!==null){a.shared.pending=null;var c=f,d=c.next;c.next=null,i===null?n=d:i.next=d,i=c;var r=t.alternate;r!==null&&(r=r.updateQueue,f=r.lastBaseUpdate,f!==i&&(f===null?r.firstBaseUpdate=d:f.next=d,r.lastBaseUpdate=c))}if(n!==null){var m=a.baseState;i=0,r=d=c=null,f=n;do{var y=f.lane&-536870913,v=y!==f.lane;if(v?(V&y)===y:(u&y)===y){y!==0&&y===Fe&&(df=!0),r!==null&&(r=r.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});t:{var b=t,p=f;y=l;var H=e;switch(p.tag){case 1:if(b=p.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=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=W({},m,y);break t;case 2:Gl=!0}}y=f.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:f.tag,payload:f.payload,callback:f.callback,next:null},r===null?(d=r=v,c=m):r=r.next=v,i|=y;if(f=f.next,f===null){if(f=a.shared.pending,f===null)break;v=f,f=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(c=m),a.baseState=c,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Jl|=i,t.lanes=i,t.memoizedState=m}}function Bo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Yo(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=_.T,f={};_.T=f,Hf(t,!1,l,e);try{var c=a(),d=_.S;if(d!==null&&d(f,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var r=Ur(c,u);ku(t,l,r,Xt(t))}else ku(t,l,u,Xt(t))}catch(m){ku(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&f.types!==null&&(i.types=f.types),_.T=i}}function Yr(){}function Df(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=hd(t).queue;yd(t,a,l,ne,e===null?Yr:function(){return rd(t),e(u)})}function hd(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:gl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:gl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function rd(t){var l=hd(t);l.next===null&&(l=t.alternate.memoizedState),ku(t,l.next.queue,{},Xt())}function Uf(){return gt(ra)}function vd(){return at().memoizedState}function md(){return at().memoizedState}function qr(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Ql(e);var u=Xl(l,t,e);u!==null&&(Rt(u,l,e),Ju(u,l,e)),l={cache:uf()},t.payload=l;return}l=l.return}}function Vr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},on(t)?gd(l,e):(e=Ji(t,l,e,u),e!==null&&(Rt(e,t,u),bd(e,l,u)))}function Sd(t,l,e){var u=Xt();ku(t,l,e,u)}function ku(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(on(t))gd(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,f=n(i,e);if(a.hasEagerState=!0,a.eagerState=f,Yt(f,i))return xa(t,l,a,0),K===null&&Za(),!1}catch{}finally{}if(e=Ji(t,l,a,u),e!==null)return Rt(e,t,u),bd(e,l,u),!0}return!1}function Hf(t,l,e,u){if(u={lane:2,revertLane:cc(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},on(t)){if(l)throw Error(g(479))}else l=Ji(t,e,u,2),l!==null&&Rt(l,t,2)}function on(t){var l=t.alternate;return t===U||l!==null&&l===U}function gd(t,l){lu=en=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function bd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,ps(t,e)}}var Iu={readContext:gt,use:nn,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};Iu.useEffectEvent=lt;var Ed={readContext:gt,use:nn,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:ud,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,fd.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=pt();l=l===void 0?null:l;var u=t();if(ze){Nl(!0);try{t()}finally{Nl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(ze){Nl(!0);try{e(l)}finally{Nl(!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=Vr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=pf(t);var l=t.queue,e=Sd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:_f,useDeferredValue:function(t,l){var e=pt();return Mf(e,t,l)},useTransition:function(){var t=pf(!1);return t=yd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),K===null)throw Error(g(349));V&127||Xo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,ud(xo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Zo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=K.identifierPrefix;if(j){var e=il,u=nl;e=(u&~(1<<32-Bt(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=un++,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[Ot]=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&&El(l)}}return k(l),Lf(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&El(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Rl.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||Gy(t.nodeValue,e)),t||Vl(l,!0)}else t=Hn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),t=!1}else e=Pi(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(jt(l),l):(jt(l),null);if(l.flags&128)throw Error(g(558))}return k(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 re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;k(l),a=!1}else a=Pi(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(jt(l),l):(jt(l),null)}return jt(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),k(l),null);case 4:return Re(),t===null&&yc(l.stateNode.containerInfo),k(l),null;case 10:return ml(l.type),k(l),null;case 19:if(yt(ut),u=l.memoizedState,u===null)return k(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)ta(u,!1);else{if(et!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=ln(t),n!==null){for(l.flags|=128,ta(u,!1),t=n.updateQueue,l.updateQueue=t,vn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)So(e,t),e=e.sibling;return J(ut,ut.current&1|2),j&&rl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Nt()>En&&(l.flags|=128,a=!0,ta(u,!1),l.lanes=4194304)}else{if(!a)if(t=ln(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,vn(l,t),ta(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return k(l),null}else 2*Nt()-u.renderingStartTime>En&&e!==536870912&&(l.flags|=128,a=!0,ta(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=Nt(),t.sibling=null,e=ut.current,J(ut,a?e&1|2:e&1),j&&rl(l,u.treeForkCount),t):(k(l),null);case 22:case 23:return jt(l),hf(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(k(l),l.subtreeFlags&6&&(l.flags|=8192)):k(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),ml(it),k(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Zr(t,l){switch(ki(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return ml(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Oa(l),null;case 31:if(l.memoizedState!==null){if(jt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(jt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(ut),null;case 4:return Re(),null;case 10:return ml(l.type),null;case 22:case 23:return jt(l),hf(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return ml(it),null;case 25:return null;default:return null}}function Ld(t,l){switch(ki(l),l.tag){case 3:ml(it),Re();break;case 26:case 27:case 5:Oa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&jt(l);break;case 13:jt(l);break;case 19:yt(ut);break;case 10:ml(l.type);break;case 22:case 23:jt(l),hf(),t!==null&&yt(Se);break;case 24:ml(it)}}function la(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(f){Z(l,l.return,f)}}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,f=i.destroy;if(f!==void 0){i.destroy=void 0,a=l;var c=e,d=f;try{d()}catch(r){Z(a,c,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Kd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Yo(l,e)}catch(u){Z(t,t.return,u)}}}function Jd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ea(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 fl(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 wd(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 Kf(t,l,e){try{var u=t.stateNode;ov(u,t.type,e,l),u[Ot]=l}catch(a){Z(t,t.return,a)}}function $d(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&kl(t.type)||t.tag===4}function Jf(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||$d(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&&kl(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 wf(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=dl));else if(u!==4&&(u===27&&kl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(wf(t,l,e),t=t.sibling;t!==null;)wf(t,l,e),t=t.sibling}function mn(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&&kl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(mn(t,l,e),t=t.sibling;t!==null;)mn(t,l,e),t=t.sibling}function Wd(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[Ot]=e}catch(n){Z(t,t.return,n)}}var zl=!1,st=!1,$f=!1,Fd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function xr(t,l){if(t=t.containerInfo,vc=Vn,t=fo(t),Qi(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,f=-1,c=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(f=i+a),m!==n||u!==0&&m.nodeType!==3||(c=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(f=i),y===n&&++r===u&&(c=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=f===-1||c===-1?null:{start:f,end:c}}else e=null}e=e||{start:0,end:0}}else e=null;for(mc={focusedElem:t,selectionRange:e},Vn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,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=e0("link","href",a).get(u+(e.href||""));if(i){for(var f=0;fH&&(i=H,H=p,p=i);var o=no(f,p),s=no(f,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=f;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fe?32:e,_.T=null,e=lc,lc=null;var n=$l,i=_l;if(dt=0,cu=$l=null,_l=0,Q&6)throw Error(g(331));var f=Q;if(Q|=4,fy(n.current),ay(n,n.current,i,e),Q=f,ca(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(_u,n)}catch{}return!0}finally{G.p=a,_.T=u,Oy(t,l)}}function My(t,l,e){l=Jt(e,l),l=Bf(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Du(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)My(t,t,e);else for(;l!==null;){if(l.tag===3){My(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(wl===null||!wl.has(u))){t=Jt(e,t),e=Dd(2),u=Xl(l,e,2),u!==null&&(Ud(e,u,l,t),Du(u,2),cl(u));break}}l=l.return}}function nc(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Jr;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)||(kf=!0,a.add(e),t=kr.bind(null,t,l,e),l.then(t,t))}function kr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,K===t&&(V&e)===e&&(et===4||et===3&&(V&62914560)===V&&300>Nt()-bn?!(Q&2)&&su(t,0):If|=e,fu===V&&(fu=0)),cl(t)}function Dy(t,l){l===0&&(l=zs()),t=ye(t,l),t!==null&&(Du(t,l),cl(t))}function Ir(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),Dy(t,e)}function Pr(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),Dy(t,e)}function tv(t,l){return Si(t,l)}var _n=null,du=null,ic=!1,Mn=!1,fc=!1,Fl=0;function cl(t){t!==du&&t.next===null&&(du===null?_n=du=t:du=du.next=t),Mn=!0,ic||(ic=!0,ev())}function ca(t,l){if(!fc&&Mn){fc=!0;do for(var e=!1,u=_n;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,f=u.pingedLanes;n=(1<<31-Bt(42|t)+1)-1,n&=a&~(i&~f),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,Ny(u,n))}else n=V,n=Ha(u,u===K?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Mu(u,n)||(e=!0,Ny(u,n));u=u.next}while(e);fc=!1}}function lv(){Uy()}function Uy(){Mn=ic=!1;var t=0;Fl!==0&&yv()&&(t=Fl);for(var l=Nt(),e=null,u=_n;u!==null;){var a=u.next,n=Hy(u,l);n===0?(u.next=null,e===null?_n=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(Mn=!0)),u=a}dt!==0&&dt!==5||ca(t),Fl!==0&&(Fl=0)}function Hy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0f)break;var r=c.transferSize,m=c.initiatorType;r&&Qy(m)&&(c=c.responseEnd,i+=r*(c"u"?null:document;function Iy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Lt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),ky.has(a)||(ky.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 zv(t){Ml.D(t),Iy("dns-prefetch",t,null)}function Tv(t,l){Ml.C(t,l),Iy("preconnect",t,l)}function pv(t,l,e){Ml.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Lt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Lt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Lt(e.imageSizes)+'"]')):a+='[href="'+Lt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}It.has(n)||(t=W({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),It.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(ya(n))||l==="script"&&u.querySelector(ha(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Av(t,l){Ml.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Lt(u)+'"][href="'+Lt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!It.has(n)&&(t=W({rel:"modulepreload",href:t},l),It.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ha(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function Ov(t,l,e){Ml.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 f={loading:0,preload:null};if(i=u.querySelector(ya(n)))f.loading=5;else{t=W({rel:"stylesheet",href:t,"data-precedence":l},e),(e=It.get(n))&&pc(t,e);var c=i=u.createElement("link");ht(c),Et(c,"link",t),c._p=new Promise(function(d,r){c.onload=d,c.onerror=r}),c.addEventListener("load",function(){f.loading|=1}),c.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Nn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:f},a.set(n,i)}}}function _v(t,l){Ml.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0},l),(l=It.get(a))&&Ac(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 Mv(t,l){Ml.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(ha(a)),n||(t=W({src:t,async:!0,type:"module"},l),(l=It.get(a))&&Ac(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 Py(t,l,e,u){var a=(a=Rl.current)?Rn(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(ya(t)))&&!n._p&&(i.instance=n,i.state.loading=5),It.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},It.set(t,e),n||Dv(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=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="'+Lt(t)+'"'}function ya(t){return'link[rel="stylesheet"]['+t+"]"}function t0(t){return W({},t,{"data-precedence":t.precedence,precedence:null})}function Dv(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="'+Lt(t)+'"]'}function ha(t){return"script[async]"+t}function l0(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Lt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=W({},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),Nn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(ya(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=t0(e),(a=It.get(a))&&pc(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),Et(n,"link",u),l.state.loading|=4,Nn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(ha(n)))?(l.instance=a,ht(a),a):(u=e,(a=It.get(n))&&(u=W({},e),Ac(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,Nn(u,e.precedence,t));return l.instance}function Nn(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 Uv(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 a0(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function Hv(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(ya(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Bn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=t0(u),(a=It.get(a))&&pc(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(f,c){i.onload=f,i.onerror=c}),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=Bn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var Oc=0;function Rv(t,l){return t.stylesheets&&t.count===0&&qn(t,t.stylesheets),0Oc?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Bn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Yn=null;function qn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Yn=new Map,l.forEach(Nv,t),Yn=null,Bn.call(t))}function Nv(t,l){if(!(l.state.loading&4)){var e=Yn.get(t);if(e)var u=e.get(null);else{e=new Map,Yn.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(g0)}catch(t){console.error(t)}}g0(),ls.exports=Ea;var b0=ls.exports;const Qv=ae({__proto__:null,default:Zc(b0)},[b0]);var E0={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 Gv=Symbol.for("react.transitional.element"),Xv=Symbol.for("react.fragment");function S0(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:Gv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Xv,Ln.jsx=S0,Ln.jsxs=S0,m0.exports=Ln;var mu=m0.exports;const g0=V.createContext(null);function Qv({namespace:t,children:l}){return mu.jsx(g0.Provider,{value:t,children:l})}function Zv(){return V.useContext(g0)}function xv(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=Zv();return xv(t,l!==void 0?l:e)}const Su=new WeakMap,Rc=new Set;function b0(t,l,e){const u={promise:l.finally(()=>{Su.get(t)===u&&(Su.delete(t),Rc.delete(t))}),covers:e,consumed:!1};return Su.set(t,u),Rc.add(t),u}function E0(t){const l=[];for(const e of Rc){if(e===t||!e.contains(t)&&!t.contains(e))continue;const u=Su.get(e);u&&l.push(u)}return l}function z0(t){var u;const l=(u=window.Shiny)==null?void 0:u.bindAll;if(!l)return Promise.resolve();const e=new WeakSet(Array.from(t.children));return b0(t,Promise.resolve(l(t)),e).promise}function T0(t,l){const e=E0(t).map(a=>a.promise);l&&e.push(l);const u=b0(t,Promise.allSettled(e).then(()=>z0(t)),null);return u.promise.catch(a=>{u.consumed||console.error("[shinyreact] ShinyOutput bindAll failed:",a)}),u}function Lv(t,l){const e=Su.get(l);if(e&&(!e.covers||e.covers.has(t)))return e.consumed=!0,e.promise;if(!e&&E0(l).length===0)return z0(l);const u=T0(l,e==null?void 0:e.promise);return u.consumed=!0,u.promise}function Kv(t){const l=Su.get(t);l&&T0(t,l.promise)}function Jv({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,f=i==null?void 0:i.parentElement;if(!i||!f||!((d=window.Shiny)!=null&&d.bindAll))return;const c=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{Lv(i,f).catch(r=>c(r,"bindAll"))}catch(r){c(r,"bindAll")}return()=>{var r,m;Kv(f);try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){c(y,"unbindAll")}}},[a,l]),Fc.createElement(l,{id:a,ref:n,...u})}const gu=Symbol("MISSING"),p0="1.0";function wv(){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 $v(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Wv(t){const l=e=>e.split(".")[0];l(t)!==l(p0)&&$v(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${p0}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Fv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=wv();if(a!=null&&a.protocolVersion?Wv(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[f,c]of Object.entries(n))t.add(f,c),i[f]=c;e._restore={"-applied":!0,"-values":i}}let Nc=!1,Kn=!1;const Cc=new Set;let A0=!1,O0,_0,M0;function D0(){for(const t of Cc)t()}function U0(){Nc||(Nc=!0,D0())}function H0(t){Kn!==t&&(Kn=t,D0())}function kv(){if(A0||typeof document>"u")return;A0=!0,document.documentElement.classList.contains("shiny-busy")&&(Kn=!0),O0=()=>H0(!0),_0=()=>H0(!1),document.addEventListener("shiny:busy",O0),document.addEventListener("shiny:idle",_0);const t=et();if(t){t.initializedPromise.then(U0);return}M0=()=>{const l=et();l&&l.initializedPromise.then(U0)},document.addEventListener("shiny:connected",M0,{once:!0})}function R0(t){return kv(),Cc.add(t),()=>{Cc.delete(t)}}function N0(){return Nc}function C0(){return Kn}class Iv{constructor(){I(this,"messageHandlers",new Map);I(this,"initialized",!1)}init(){if(this.initialized)return;const l=et();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 B0=new Iv;function Y0(){const t=et();return t?t.messageRegistry??(t.messageRegistry=B0):B0}function Pv(){et()&&Y0()}class tm{constructor(l){I(this,"id");I(this,"el");I(this,"status","pending");I(this,"hasValue",!1);I(this,"lastValue");I(this,"lastError",null);I(this,"useStateSetValueFns");I(this,"useStateSetStatusFns");I(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 lm{constructor(){I(this,"outputs",new Map);I(this,"bindAllScheduled",!1);I(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 tm(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 a,n;const e=this.outputs.get(l);if(!e||!e.isEmpty())return;this.outputs.delete(l);const u=e.el;if(u){try{(n=(a=et())==null?void 0:a.unbindAll)==null||n.call(a,u,!0)}catch(i){console.error(`[shinyreact] unbindAll failed for output "${l}":`,i)}u.remove()}this.scheduleBindAll()})}scheduleBindAll(){const l=et();!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 em(t){const l=et();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){n.message!==""&&console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Bc(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 ga=class ga{constructor(l,e){I(this,"id");I(this,"value");I(this,"useStateSetValueFns");I(this,"shinySetInputValueDebounced");I(this,"opts",{debounceMs:100});I(this,"type");I(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Bc(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ga.DEFAULT_TYPE}`;(a=(u=et())==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}:${ga.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===gu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};I(ga,"DEFAULT_TYPE","shinyreact.default");let Yc=ga;class um{constructor(){I(this,"inputs",new Map);I(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 Yc(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 q0;function V0(){return q0??(q0={inputs:new um,outputs:new lm}),q0}function am(){Zt()}function Zt(){const t=et();return t?t.reactRegistry??(t.reactRegistry=V0()):V0()}function Jn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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),c=V.useRef(l).current;let d=c;const m=Zt().inputs.get(i);m&&(d=m.getValue());const[y,v]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=Zt().inputs.getOrCreate(i,c);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,c,n]);const p=V.useCallback(H=>{if(!b)return;const s=Zt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const bu=()=>{};function j0(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();Oe();const i=Ml(t,e),f=V.useRef(l);return V.useEffect(()=>{if(!n)return;const c=Zt();return a(f.current),c.outputs.add(i,a,bu,bu)},[i,n]),u}function G0(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();Oe();const n=Ml(t,l);return V.useEffect(()=>a?Zt().outputs.add(n,bu,u,bu):void 0,[n,a]),e}function X0(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();Oe();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),Zt().outputs.add(n,bu,bu,u)):void 0,[n,a]),e}function nm(t,{namespace:l}={}){Oe();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=Zt().inputs.get(e);if(!i)return;const f=i.getValue();return f===gu?void 0:f}),n=le();return V.useEffect(()=>n?Zt().inputs.subscribe(e,c=>{a(c===gu?void 0:c)}):void 0,[e,n]),u}function im(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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),c=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=Zt().inputs.getOrCreate(i,c);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,c,n]),V.useCallback(r=>{if(!d)return;const y=Zt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function fm(t,l,{namespace:e}={}){const u=le();Oe();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=c=>n.current(c),f=Y0();return f.addHandler(a,i),()=>{f.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(R0,N0,N0)}function cm(){return V.useSyncExternalStore(R0,C0,C0)}let Q0=!1;function Oe(){Q0||(am(),Fv(Zt().inputs),em(()=>Zt().outputs),Pv(),Q0=!0)}function sm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const f=Ml(t,i),c={namespace:null},[d,r]=Jn(`.clientdata_output_${f}_width`,gu,c),[m,y]=Jn(`.clientdata_output_${f}_height`,gu,c),[v]=Jn(`.clientdata_output_${f}_hidden`,!1,c),b=j0(f,void 0,c),p=G0(f,c),H=X0(f,c),o=V.useRef(null),s=V.useRef(null),[h,S]=V.useState(0);V.useEffect(()=>{b&&S(A=>A+1)},[b]),V.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const T=V.useCallback(()=>{if(o.current){const A=o.current.clientWidth,E=o.current.clientHeight;A>0&&E>0&&(r(A),y(E))}},[r,y]);if(V.useEffect(()=>{const A=o.current;if(!A)return;A.addEventListener("load",T);const E=Bc(()=>{A&&A.complete&&T()},a),O=new ResizeObserver(M=>{for(const R of M)R.target===A&&E()});return O.observe(A),()=>{A.removeEventListener("load",T),O.disconnect(),E.cancel()}},[o,h,r,y,a,T]),V.useEffect(()=>{if(b&&!H)return;const A=s.current;if(!A)return;const E=()=>{const R=A.clientWidth,At=A.clientHeight;R>0&&At>0&&(r(R),y(At))};E();const O=Bc(E,a),M=new ResizeObserver(()=>O());return M.observe(A),()=>{M.disconnect(),O.cancel()}},[b,H,r,y,a]),v)return null;if(H){const A=["shiny-output-error",...[].concat(H.type??[]).map(E=>`shiny-output-error-${E}`),l];return mu.jsx("div",{ref:s,className:A.filter(Boolean).join(" "),style:{width:e,height:u},children:H.message})}return b?mu.jsx("img",{ref:o,src:b.src,alt:b.alt??"",className:l,style:{width:e,height:u},onLoad:T}):mu.jsx("div",{ref:s,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:mu.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:mu.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}function om(){window.shinyreact={useSetShinyInput:im,useShinyBusy:cm,useShinyInput:Jn,useShinyInputValue:nm,useShinyOutputError:X0,useShinyOutputStatus:G0,useShinyOutputValue:j0,useShinyMessageHandler:fm,useShinyInitialized:le,ImageOutput:sm,MISSING:gu,ShinyModuleProvider:Qv,ShinyOutput:Jv,React:Fc,ReactDOM:jv}}om(),x0()})(); + */var Xv=Symbol.for("react.transitional.element"),Zv=Symbol.for("react.fragment");function z0(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:Xv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Ln.Fragment=Zv,Ln.jsx=z0,Ln.jsxs=z0,E0.exports=Ln;var mu=E0.exports;const T0=q.createContext(null);function xv({namespace:t,children:l}){return mu.jsx(T0.Provider,{value:t,children:l})}function Lv(){return q.useContext(T0)}function Kv(t,l){return l?`${l}-${t}`:t}function Dl(t,l){const e=Lv();return Kv(t,l!==void 0?l:e)}const Su=new WeakMap,Nc=new Set;function p0(t,l,e){const u={promise:l.finally(()=>{Su.get(t)===u&&(Su.delete(t),Nc.delete(t))}),covers:e,consumed:!1};return Su.set(t,u),Nc.add(t),u}function A0(t){const l=[];for(const e of Nc){if(e===t||!e.contains(t)&&!t.contains(e))continue;const u=Su.get(e);u&&l.push(u)}return l}function O0(t){var u;const l=(u=window.Shiny)==null?void 0:u.bindAll;if(!l)return Promise.resolve();const e=new WeakSet(Array.from(t.children));return p0(t,Promise.resolve(l(t)),e).promise}function _0(t,l){const e=A0(t).map(a=>a.promise);l&&e.push(l);const u=p0(t,Promise.allSettled(e).then(()=>O0(t)),null);return u.promise.catch(a=>{u.consumed||console.error("[shinyreact] ShinyOutput bindAll failed:",a)}),u}function Jv(t,l){const e=Su.get(l);if(e&&(!e.covers||e.covers.has(t)))return e.consumed=!0,e.promise;if(!e&&A0(l).length===0)return O0(l);const u=_0(l,e==null?void 0:e.promise);return u.consumed=!0,u.promise}function wv(t){const l=Su.get(t);l&&_0(t,l.promise)}function $v({id:t,tagName:l="div",namespace:e,...u}){const a=Dl(t,e),n=q.useRef(null);return q.useEffect(()=>{var d;const i=n.current,f=i==null?void 0:i.parentElement;if(!i||!f||!((d=window.Shiny)!=null&&d.bindAll))return;const c=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{Jv(i,f).catch(r=>c(r,"bindAll"))}catch(r){c(r,"bindAll")}return()=>{var r,m;wv(f);try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){c(y,"unbindAll")}}},[a,l]),ts.createElement(l,{id:a,ref:n,...u})}const gu=Symbol("MISSING"),M0="1.0";function Wv(){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 Fv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function kv(t){const l=e=>e.split(".")[0];l(t)!==l(M0)&&Fv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${M0}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Iv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Wv();if(a!=null&&a.protocolVersion?kv(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[f,c]of Object.entries(n))t.add(f,c),i[f]=c;e._restore={"-applied":!0,"-values":i}}let Cc=!1,Kn=!1,Jn=!1;const Bc=new Set;let D0=!1,U0=[];function Yc(){for(const t of Bc)t()}function H0(){Cc||(Cc=!0,Yc())}function R0(t){Kn!==t&&(Kn=t,Yc())}function N0(t){Jn!==t&&(Jn=t,Yc())}function Pv(){var e;if(D0||typeof document>"u")return;D0=!0,document.documentElement.classList.contains("shiny-busy")&&(Kn=!0);const t=tt();if(Jn=((e=t==null?void 0:t.shinyapp)==null?void 0:e.isConnected())??!1,U0=[Pt("shiny:busy",()=>R0(!0)),Pt("shiny:idle",()=>R0(!1)),Pt("shiny:connected",()=>N0(!0)),Pt("shiny:disconnected",()=>N0(!1))],t){t.initializedPromise.then(H0);return}const l=Pt("shiny:connected",()=>{var u;l(),(u=tt())==null||u.initializedPromise.then(H0)});U0.push(l)}function qc(t){return Pv(),Bc.add(t),()=>{Bc.delete(t)}}function C0(){return Cc}function B0(){return Kn}function Y0(){return Jn}class tm{constructor(){I(this,"messageHandlers",new Map);I(this,"initialized",!1)}init(){if(this.initialized)return;const l=tt();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 q0=new tm;function V0(){const t=tt();return t?t.messageRegistry??(t.messageRegistry=q0):q0}function lm(){tt()&&V0()}class em{constructor(l){I(this,"id");I(this,"el");I(this,"status","pending");I(this,"hasValue",!1);I(this,"lastValue");I(this,"lastError",null);I(this,"useStateSetValueFns");I(this,"useStateSetStatusFns");I(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 um{constructor(){I(this,"outputs",new Map);I(this,"bindAllScheduled",!1);I(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 em(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 a,n;const e=this.outputs.get(l);if(!e||!e.isEmpty())return;this.outputs.delete(l);const u=e.el;if(u){try{(n=(a=tt())==null?void 0:a.unbindAll)==null||n.call(a,u,!0)}catch(i){console.error(`[shinyreact] unbindAll failed for output "${l}":`,i)}u.remove()}this.scheduleBindAll()})}scheduleBindAll(){const l=tt();!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 am(t){const l=tt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){n.message!==""&&console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Vc(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 ga=class ga{constructor(l,e){I(this,"id");I(this,"value");I(this,"useStateSetValueFns");I(this,"shinySetInputValueDebounced");I(this,"opts",{debounceMs:100});I(this,"type");I(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Vc(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ga.DEFAULT_TYPE}`;(a=(u=tt())==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}:${ga.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===gu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};I(ga,"DEFAULT_TYPE","shinyreact.default");let jc=ga;class nm{constructor(){I(this,"inputs",new Map);I(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 jc(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 j0;function G0(){return j0??(j0={inputs:new nm,outputs:new um}),j0}function im(){Zt()}function Zt(){const t=tt();return t?t.reactRegistry??(t.reactRegistry=G0()):G0()}function wn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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=Dl(t,a),c=q.useRef(l).current;let d=c;const m=Zt().inputs.get(i);m&&(d=m.getValue());const[y,v]=q.useState(d),b=ee();q.useEffect(()=>{if(!b)return;const o=Zt().inputs.getOrCreate(i,c);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,c,n]);const p=q.useCallback(H=>{if(!b)return;const s=Zt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const bu=()=>{};function Q0(t,l=void 0,{namespace:e}={}){const[u,a]=q.useState(l),n=ee();Oe();const i=Dl(t,e),f=q.useRef(l);return q.useEffect(()=>{if(!n)return;const c=Zt();return a(f.current),c.outputs.add(i,a,bu,bu)},[i,n]),u}function X0(t,{namespace:l}={}){const[e,u]=q.useState("pending"),a=ee();Oe();const n=Dl(t,l);return q.useEffect(()=>a?Zt().outputs.add(n,bu,u,bu):void 0,[n,a]),e}function Z0(t,{namespace:l}={}){const[e,u]=q.useState(null),a=ee();Oe();const n=Dl(t,l);return q.useEffect(()=>a?(u(null),Zt().outputs.add(n,bu,bu,u)):void 0,[n,a]),e}function fm(t,{namespace:l}={}){Oe();const e=Dl(t,l),[u,a]=q.useState(()=>{const i=Zt().inputs.get(e);if(!i)return;const f=i.getValue();return f===gu?void 0:f}),n=ee();return q.useEffect(()=>n?Zt().inputs.subscribe(e,c=>{a(c===gu?void 0:c)}):void 0,[e,n]),u}function cm(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Oe(),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=Dl(t,a),c=q.useRef(l).current,d=ee();return q.useEffect(()=>{if(!d)return;const m=Zt().inputs.getOrCreate(i,c);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,c,n]),q.useCallback(r=>{if(!d)return;const y=Zt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function sm(t,l,{namespace:e}={}){const u=ee();Oe();const a=Dl(t,e),n=q.useRef(l);n.current=l,q.useEffect(()=>{if(!u||!a)return;const i=c=>n.current(c),f=V0();return f.addHandler(a,i),()=>{f.removeHandler(a,i)}},[u,a])}function ee(){return q.useSyncExternalStore(qc,C0,C0)}function om(){return q.useSyncExternalStore(qc,B0,B0)}function dm(){return q.useSyncExternalStore(qc,Y0,Y0)}let x0=!1;function Oe(){x0||(im(),Iv(Zt().inputs),am(()=>Zt().outputs),lm(),x0=!0)}function ym({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const f=Dl(t,i),c={namespace:null},[d,r]=wn(`.clientdata_output_${f}_width`,gu,c),[m,y]=wn(`.clientdata_output_${f}_height`,gu,c),[v]=wn(`.clientdata_output_${f}_hidden`,!1,c),b=Q0(f,void 0,c),p=X0(f,c),H=Z0(f,c),o=q.useRef(null),s=q.useRef(null),[h,S]=q.useState(0);q.useEffect(()=>{b&&S(A=>A+1)},[b]),q.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const T=q.useCallback(()=>{if(o.current){const A=o.current.clientWidth,E=o.current.clientHeight;A>0&&E>0&&(r(A),y(E))}},[r,y]);if(q.useEffect(()=>{const A=o.current;if(!A)return;A.addEventListener("load",T);const E=Vc(()=>{A&&A.complete&&T()},a),O=new ResizeObserver(M=>{for(const R of M)R.target===A&&E()});return O.observe(A),()=>{A.removeEventListener("load",T),O.disconnect(),E.cancel()}},[o,h,r,y,a,T]),q.useEffect(()=>{if(b&&!H)return;const A=s.current;if(!A)return;const E=()=>{const R=A.clientWidth,At=A.clientHeight;R>0&&At>0&&(r(R),y(At))};E();const O=Vc(E,a),M=new ResizeObserver(()=>O());return M.observe(A),()=>{M.disconnect(),O.cancel()}},[b,H,r,y,a]),v)return null;if(H){const A=["shiny-output-error",...[].concat(H.type??[]).map(E=>`shiny-output-error-${E}`),l];return mu.jsx("div",{ref:s,className:A.filter(Boolean).join(" "),style:{width:e,height:u},children:H.message})}return b?mu.jsx("img",{ref:o,src:b.src,alt:b.alt??"",className:l,style:{width:e,height:u},onLoad:T}):mu.jsx("div",{ref:s,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:mu.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:mu.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}function hm(){window.shinyreact={useSetShinyInput:cm,useShinyBusy:om,useShinyConnected:dm,useShinyInput:wn,useShinyInputValue:fm,useShinyOutputError:Z0,useShinyOutputStatus:X0,useShinyOutputValue:Q0,useShinyMessageHandler:sm,useShinyInitialized:ee,ImageOutput:ym,MISSING:gu,ShinyModuleProvider:xv,ShinyOutput:$v,React:ts,ReactDOM:Qv}}hm(),K0()})(); diff --git a/pkg-r/inst/skills/shinyreact-build-app/SKILL.md b/pkg-r/inst/skills/shinyreact-build-app/SKILL.md index a204ff77..3377eefb 100644 --- a/pkg-r/inst/skills/shinyreact-build-app/SKILL.md +++ b/pkg-r/inst/skills/shinyreact-build-app/SKILL.md @@ -252,7 +252,8 @@ an npm-tier build). | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | | **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | -Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and +Plus `useShinyInitialized()`, `useShinyConnected()`, `useShinyBusy()`, +`useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. **Pick the narrowest hook that fits the call site.** A button that pushes and @@ -328,6 +329,11 @@ 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. +**Lost connection** — `useShinyInitialized()` stays `true` after the session +disconnects. To react to a dropped session (a "reconnecting…" banner, disabled +controls), use `useShinyConnected()`: `false` once the socket closes, `true` +again if Shiny reconnects. + **App-wide activity** — `useShinyBusy()` is a boolean that tracks Shiny's `shiny:busy` / `shiny:idle` events, i.e. whether the server is working on *anything*: 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 cb5d93d0..84b0f30d 100644 --- a/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md +++ b/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md @@ -7,6 +7,7 @@ them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | +| `useShinyConnected()` | whether the WebSocket is open *now* (`false` after a disconnect) | | `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 |