From 34095f161dc68d5e6df0b9c1d746cbcd7fd8f833 Mon Sep 17 00:00:00 2001 From: Brian Beck Date: Wed, 18 Mar 2026 17:24:01 -0700 Subject: [PATCH] improve tours --- ...text-B-BTQZ7_.js => AudioContext-BCDmeKrq.js} | 0 ...tter-DQcaN3l9.js => AudioEmitter--xCrCrsV.js} | 2 +- ...atInput-C81PZzqT.js => ChatInput-C8HvzNcM.js} | 2 +- ...r-DgLOsG9m.js => ChatSoundPlayer-DXhoTssw.js} | 2 +- ...nts-Dj9DyZN_.js => DebugElements-Alpm8Fnw.js} | 2 +- ...nse-DTOoTVsz.js => DebugSuspense-qtqhYC4y.js} | 0 ...xHIt0.js => DemoPlaybackControls-yCGYNQxQ.js} | 2 +- ...bel-CXLHy5vc.js => FloatingLabel-BEL3jCDa.js} | 2 +- ...re-BNF6ljSM.js => ForceFieldBare-Boq27vkA.js} | 2 +- ...GameView-B-FWOVN5.js => GameView-D3reCMOl.js} | 6 +++--- ...hape-DCImTyf2.js => GenericShape-BbryN-E_.js} | 2 +- .../{Html-C5epU_38.js => Html-Cz_CVUsI.js} | 2 +- ...y-CpDInLSf.js => KeyboardOverlay-KilLZKKK.js} | 2 +- ...log-CpbFz03C.js => MapInfoDialog-Bg4n8WBg.js} | 2 +- .../{Mission-BRbZNPqp.js => Mission-CvvW4W8s.js} | 2 +- docs/assets/PlayerHUD-HAbQ-tte.js | 2 ++ docs/assets/PlayerHUD-UBJSra7Y.js | 2 -- ...Model-Beu7pkFZ.js => PlayerModel-CkXV0XVj.js} | 2 +- ...tiles-CMqanslS.js => Projectiles-0l_BpFsV.js} | 2 +- ...creen-C9NVaXTI.js => ScoreScreen-BQbXUe_V.js} | 2 +- ...ser-Dc3KGuyz.js => ServerBrowser-Dp9CuTIh.js} | 2 +- ...DMn5cgT.js => ShapeErrorBoundary-DEJ9vtex.js} | 0 ...eModel-Dfvda7ou.js => ShapeModel-DNodPIU5.js} | 2 +- ...lAT2Gw.js => StreamingController-CUy11rkV.js} | 2 +- .../{Texture-CI_Y9elU.js => Texture-CUOilM1U.js} | 0 ...dler-BEuKIyRb.js => TouchHandler-Cn4NqwVM.js} | 2 +- docs/assets/TouchJoystick-BEBTF5st.js | 2 -- docs/assets/TouchJoystick-lIhMSm3I.js | 2 ++ ...rBlock-cCfl8B1Q.js => WaterBlock-DPJdPJLc.js} | 2 +- ...ing-CyI0Mhez.js => demoStreaming-ZopkbEeD.js} | 2 +- ...Mdvfeq.js => demoTimelineScanner-NuKBiLD0.js} | 0 .../{extends-C_PM0Yom.js => extends-Cu_B6L18.js} | 0 ...s-n-ppAY7z.js => gameEntityTypes-9Mm4qfyP.js} | 0 ...DQn9KFk6.js => globalFogUniforms-CaAkHfiE.js} | 0 docs/assets/index-B_QKaSWI.js | 12 ------------ docs/assets/index-Chmtkuc3.js | 12 ++++++++++++ .../{loaders-C_1cX1lR.js => loaders-BRV0t4WA.js} | 0 ...nipplejs-l2bgT5Z7.js => nipplejs-TUj5E3G4.js} | 0 docs/assets/preload-helper-BcSNVXZP.js | 1 - ...zjeINn.js => streamPlaybackStore-uClZ1maO.js} | 0 ...uery-CZsAiqUk.js => useBaseQuery-CXuGTqsm.js} | 2 +- docs/assets/useQuery-CwJPnLi6.js | 1 - docs/assets/useQuery-DTlry7jQ.js | 1 + docs/index.html | 3 +-- src/components/CameraTourConsumer.tsx | 16 ++++++++++++++-- src/components/JoinServerButton.tsx | 2 ++ src/components/LoadDemoButton.tsx | 2 ++ src/components/MapInspector.tsx | 1 + 48 files changed, 62 insertions(+), 47 deletions(-) rename docs/assets/{AudioContext-B-BTQZ7_.js => AudioContext-BCDmeKrq.js} (100%) rename docs/assets/{AudioEmitter-DQcaN3l9.js => AudioEmitter--xCrCrsV.js} (97%) rename docs/assets/{ChatInput-C81PZzqT.js => ChatInput-C8HvzNcM.js} (94%) rename docs/assets/{ChatSoundPlayer-DgLOsG9m.js => ChatSoundPlayer-DXhoTssw.js} (86%) rename docs/assets/{DebugElements-Dj9DyZN_.js => DebugElements-Alpm8Fnw.js} (98%) rename docs/assets/{DebugSuspense-DTOoTVsz.js => DebugSuspense-qtqhYC4y.js} (100%) rename docs/assets/{DemoPlaybackControls-CYIxHIt0.js => DemoPlaybackControls-yCGYNQxQ.js} (97%) rename docs/assets/{FloatingLabel-CXLHy5vc.js => FloatingLabel-BEL3jCDa.js} (95%) rename docs/assets/{ForceFieldBare-BNF6ljSM.js => ForceFieldBare-Boq27vkA.js} (97%) rename docs/assets/{GameView-B-FWOVN5.js => GameView-D3reCMOl.js} (61%) rename docs/assets/{GenericShape-DCImTyf2.js => GenericShape-BbryN-E_.js} (99%) rename docs/assets/{Html-C5epU_38.js => Html-Cz_CVUsI.js} (98%) rename docs/assets/{KeyboardOverlay-CpDInLSf.js => KeyboardOverlay-KilLZKKK.js} (98%) rename docs/assets/{MapInfoDialog-CpbFz03C.js => MapInfoDialog-Bg4n8WBg.js} (97%) rename docs/assets/{Mission-BRbZNPqp.js => Mission-CvvW4W8s.js} (98%) create mode 100644 docs/assets/PlayerHUD-HAbQ-tte.js delete mode 100644 docs/assets/PlayerHUD-UBJSra7Y.js rename docs/assets/{PlayerModel-Beu7pkFZ.js => PlayerModel-CkXV0XVj.js} (96%) rename docs/assets/{Projectiles-CMqanslS.js => Projectiles-0l_BpFsV.js} (94%) rename docs/assets/{ScoreScreen-C9NVaXTI.js => ScoreScreen-BQbXUe_V.js} (98%) rename docs/assets/{ServerBrowser-Dc3KGuyz.js => ServerBrowser-Dp9CuTIh.js} (98%) rename docs/assets/{ShapeErrorBoundary-BDMn5cgT.js => ShapeErrorBoundary-DEJ9vtex.js} (100%) rename docs/assets/{ShapeModel-Dfvda7ou.js => ShapeModel-DNodPIU5.js} (95%) rename docs/assets/{StreamingController-rKlAT2Gw.js => StreamingController-CUy11rkV.js} (98%) rename docs/assets/{Texture-CI_Y9elU.js => Texture-CUOilM1U.js} (100%) rename docs/assets/{TouchHandler-BEuKIyRb.js => TouchHandler-Cn4NqwVM.js} (97%) delete mode 100644 docs/assets/TouchJoystick-BEBTF5st.js create mode 100644 docs/assets/TouchJoystick-lIhMSm3I.js rename docs/assets/{WaterBlock-cCfl8B1Q.js => WaterBlock-DPJdPJLc.js} (98%) rename docs/assets/{demoStreaming-CyI0Mhez.js => demoStreaming-ZopkbEeD.js} (99%) rename docs/assets/{demoTimelineScanner-CRMdvfeq.js => demoTimelineScanner-NuKBiLD0.js} (100%) rename docs/assets/{extends-C_PM0Yom.js => extends-Cu_B6L18.js} (100%) rename docs/assets/{gameEntityTypes-n-ppAY7z.js => gameEntityTypes-9Mm4qfyP.js} (100%) rename docs/assets/{globalFogUniforms-DQn9KFk6.js => globalFogUniforms-CaAkHfiE.js} (100%) delete mode 100644 docs/assets/index-B_QKaSWI.js create mode 100644 docs/assets/index-Chmtkuc3.js rename docs/assets/{loaders-C_1cX1lR.js => loaders-BRV0t4WA.js} (100%) rename docs/assets/{nipplejs-l2bgT5Z7.js => nipplejs-TUj5E3G4.js} (100%) delete mode 100644 docs/assets/preload-helper-BcSNVXZP.js rename docs/assets/{streamPlaybackStore-CszjeINn.js => streamPlaybackStore-uClZ1maO.js} (100%) rename docs/assets/{useBaseQuery-CZsAiqUk.js => useBaseQuery-CXuGTqsm.js} (55%) delete mode 100644 docs/assets/useQuery-CwJPnLi6.js create mode 100644 docs/assets/useQuery-DTlry7jQ.js diff --git a/docs/assets/AudioContext-B-BTQZ7_.js b/docs/assets/AudioContext-BCDmeKrq.js similarity index 100% rename from docs/assets/AudioContext-B-BTQZ7_.js rename to docs/assets/AudioContext-BCDmeKrq.js diff --git a/docs/assets/AudioEmitter-DQcaN3l9.js b/docs/assets/AudioEmitter--xCrCrsV.js similarity index 97% rename from docs/assets/AudioEmitter-DQcaN3l9.js rename to docs/assets/AudioEmitter--xCrCrsV.js index 6a44e00c..9c4d1431 100644 --- a/docs/assets/AudioEmitter-DQcaN3l9.js +++ b/docs/assets/AudioEmitter--xCrCrsV.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{i as r,o as i}from"./react-three-fiber.esm-dhSWjERg.js";import{a,i as o}from"./SettingsProvider-2cUUftaX.js";import{t as s}from"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{Ut as c,bt as l,c as u}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{r as d}from"./engineStore-Cio8vU1L.js";import{r as f}from"./loaders-C_1cX1lR.js";import{n as p}from"./AudioContext-B-BTQZ7_.js";import{t as m}from"./FloatingLabel-CXLHy5vc.js";var h=e(t(),1),g=n(),_=s(`AudioEmitter`),v=new Map,y=new Map;function b(e,t=1){y.set(e,t)}function x(e){y.delete(e)}var S=0;function C(){return S}function w(){S++;for(let[e]of y){try{e.stop()}catch{}try{e.disconnect()}catch{}}y.clear()}d.subscribe(e=>e.playback.rate,e=>{for(let[t,n]of y)try{t.setPlaybackRate(n*e)}catch{}});function T(e,t){let n=t(e),r=n?.filename;if(!r)return null;let i=r.endsWith(`.wav`)?r:`${r}.wav`,a=n.description,o=a==null?void 0:t(a);return{filename:i,is3D:o?.is3D??!0,isLooping:o?.isLooping??!1,refDist:o?.referenceDistance??20,maxDist:o?.maxDistance??100,volume:o?.volume??1}}function E(e,t,n,r,i){let a;try{a=f(e.filename)}catch{return}let o=d.getState().playback.rate,s=S;D(a,n,n=>{if(s===S)try{if(e.is3D&&i){let a=new l(t);a.setBuffer(n),a.setDistanceModel(`inverse`),a.setRefDistance(e.refDist),a.setMaxDistance(e.maxDist),a.setRolloffFactor(1),a.setVolume(e.volume),a.setPlaybackRate(o),r&&a.position.copy(r),i.add(a),y.set(a,1),a.play(),a.source.onended=()=>{y.delete(a);try{a.disconnect()}catch{}i.remove(a)}}else{let r=new u(t);r.setBuffer(n),r.setVolume(e.volume),r.setPlaybackRate(o),y.set(r,1),r.play(),r.source.onended=()=>{y.delete(r);try{r.disconnect()}catch{}}}}catch{}})}function D(e,t,n){v.has(e)?n(v.get(e)):t.load(e,t=>{v.set(e,t),n(t)},void 0,t=>{_.error(`Audio load error %s: %o`,e,t)})}var O=(0,h.memo)(function({entity:e}){let{debugMode:t}=o(),n=e.audioFileName??``,s=e.audioVolume??1,d=e.audioMinDistance??1,_=e.audioMaxDistance??1,v=e.audioMinLoopGap??0,y=e.audioMaxLoopGap??0,b=e.audioIs3D??!0?1:0,x=e.audioIsLooping??!0,[S,C,w]=e.position??[0,0,0],T=i(e=>e.scene),E=i(e=>e.camera),{audioLoader:O,audioListener:k}=p(),{audioEnabled:A}=a(),j=(0,h.useRef)(null),M=(0,h.useRef)(null),N=(0,h.useRef)(null),P=(0,h.useRef)(!1),F=(0,h.useRef)(!1),I=(0,h.useRef)(new c(S,C,w)),L=(0,h.useRef)(0),R=()=>{M.current!=null&&(clearTimeout(M.current),M.current=null),N.current!=null&&(clearTimeout(N.current),N.current=null)},[z]=(0,h.useState)(()=>Math.random());(0,h.useEffect)(()=>{if(!O||!k)return;L.current++;let e;if(b){let t=new l(k);t.position.copy(I.current),t.setDistanceModel(`inverse`),t.setRefDistance(d),t.setMaxDistance(_),t.setRolloffFactor(1),t.setVolume(s),e=t,T.add(e)}else e=new u(k),e.setVolume(s);return j.current=e,()=>{R();try{e.stop()}catch{}try{e.disconnect()}catch{}b&&T.remove(e),j.current=null,P.current=!1,F.current=!1}},[O,k,b,d,_,s,T]);let B=(e,t)=>{if(x)if(v>0||y>0){let n=Math.max(0,v),r=Math.max(n,y),i=n===r?n:z*(r-n)+n;e.loop=!1;let a=()=>{t===L.current&&(e.isPlaying===!1?M.current=setTimeout(()=>{if(t===L.current)try{e.play(),B(e,t)}catch{}},i):N.current=setTimeout(a,100))};N.current=setTimeout(a,100)}else e.setLoop(!0)},V=(0,h.useEffectEvent)(e=>{if(!O)return;let t=L.current;if(P.current)try{e.isPlaying||(e.play(),B(e,t))}catch{}else{let r;try{r=f(n)}catch{return}D(r,O,n=>{if(t===L.current&&!e.buffer){e.setBuffer(n),P.current=!0;try{e.play(),B(e,t)}catch{}}})}});return(0,h.useEffect)(()=>{let e=j.current;!e||b||!A||!n||V(e)},[A,b,n,O,k]),r(()=>{let e=j.current;if(!e||!b||!A||!n)return;let t=E.position.distanceTo(I.current),r=F.current,i=t<=_;if(i&&!r)F.current=!0,V(e);else if(!i&&r){F.current=!1,R();try{e.stop()}catch{}}}),(0,h.useEffect)(()=>{let e=j.current;if(e&&!A){R();try{e.stop()}catch{}F.current=!1}},[A]),t?(0,g.jsxs)(`mesh`,{position:I.current,children:[(0,g.jsx)(`sphereGeometry`,{args:[d,12,12]}),(0,g.jsx)(`meshBasicMaterial`,{color:`#00ff00`,wireframe:!0,opacity:.05,transparent:!0,toneMapped:!1}),(0,g.jsx)(m,{color:`#00ff00`,position:[0,d+1,0],children:n})]}):null});export{O as AudioEmitter,v as audioBufferCache,D as getCachedAudioBuffer,C as getSoundGeneration,E as playOneShotSound,T as resolveAudioProfile,w as stopAllTrackedSounds,b as trackSound,x as untrackSound}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{i as r,o as i}from"./react-three-fiber.esm-dhSWjERg.js";import{a,i as o}from"./SettingsProvider-2cUUftaX.js";import{t as s}from"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{Ut as c,bt as l,c as u}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{r as d}from"./engineStore-Cio8vU1L.js";import{r as f}from"./loaders-BRV0t4WA.js";import{n as p}from"./AudioContext-BCDmeKrq.js";import{t as m}from"./FloatingLabel-BEL3jCDa.js";var h=e(t(),1),g=n(),_=s(`AudioEmitter`),v=new Map,y=new Map;function b(e,t=1){y.set(e,t)}function x(e){y.delete(e)}var S=0;function C(){return S}function w(){S++;for(let[e]of y){try{e.stop()}catch{}try{e.disconnect()}catch{}}y.clear()}d.subscribe(e=>e.playback.rate,e=>{for(let[t,n]of y)try{t.setPlaybackRate(n*e)}catch{}});function T(e,t){let n=t(e),r=n?.filename;if(!r)return null;let i=r.endsWith(`.wav`)?r:`${r}.wav`,a=n.description,o=a==null?void 0:t(a);return{filename:i,is3D:o?.is3D??!0,isLooping:o?.isLooping??!1,refDist:o?.referenceDistance??20,maxDist:o?.maxDistance??100,volume:o?.volume??1}}function E(e,t,n,r,i){let a;try{a=f(e.filename)}catch{return}let o=d.getState().playback.rate,s=S;D(a,n,n=>{if(s===S)try{if(e.is3D&&i){let a=new l(t);a.setBuffer(n),a.setDistanceModel(`inverse`),a.setRefDistance(e.refDist),a.setMaxDistance(e.maxDist),a.setRolloffFactor(1),a.setVolume(e.volume),a.setPlaybackRate(o),r&&a.position.copy(r),i.add(a),y.set(a,1),a.play(),a.source.onended=()=>{y.delete(a);try{a.disconnect()}catch{}i.remove(a)}}else{let r=new u(t);r.setBuffer(n),r.setVolume(e.volume),r.setPlaybackRate(o),y.set(r,1),r.play(),r.source.onended=()=>{y.delete(r);try{r.disconnect()}catch{}}}}catch{}})}function D(e,t,n){v.has(e)?n(v.get(e)):t.load(e,t=>{v.set(e,t),n(t)},void 0,t=>{_.error(`Audio load error %s: %o`,e,t)})}var O=(0,h.memo)(function({entity:e}){let{debugMode:t}=o(),n=e.audioFileName??``,s=e.audioVolume??1,d=e.audioMinDistance??1,_=e.audioMaxDistance??1,v=e.audioMinLoopGap??0,y=e.audioMaxLoopGap??0,b=e.audioIs3D??!0?1:0,x=e.audioIsLooping??!0,[S,C,w]=e.position??[0,0,0],T=i(e=>e.scene),E=i(e=>e.camera),{audioLoader:O,audioListener:k}=p(),{audioEnabled:A}=a(),j=(0,h.useRef)(null),M=(0,h.useRef)(null),N=(0,h.useRef)(null),P=(0,h.useRef)(!1),F=(0,h.useRef)(!1),I=(0,h.useRef)(new c(S,C,w)),L=(0,h.useRef)(0),R=()=>{M.current!=null&&(clearTimeout(M.current),M.current=null),N.current!=null&&(clearTimeout(N.current),N.current=null)},[z]=(0,h.useState)(()=>Math.random());(0,h.useEffect)(()=>{if(!O||!k)return;L.current++;let e;if(b){let t=new l(k);t.position.copy(I.current),t.setDistanceModel(`inverse`),t.setRefDistance(d),t.setMaxDistance(_),t.setRolloffFactor(1),t.setVolume(s),e=t,T.add(e)}else e=new u(k),e.setVolume(s);return j.current=e,()=>{R();try{e.stop()}catch{}try{e.disconnect()}catch{}b&&T.remove(e),j.current=null,P.current=!1,F.current=!1}},[O,k,b,d,_,s,T]);let B=(e,t)=>{if(x)if(v>0||y>0){let n=Math.max(0,v),r=Math.max(n,y),i=n===r?n:z*(r-n)+n;e.loop=!1;let a=()=>{t===L.current&&(e.isPlaying===!1?M.current=setTimeout(()=>{if(t===L.current)try{e.play(),B(e,t)}catch{}},i):N.current=setTimeout(a,100))};N.current=setTimeout(a,100)}else e.setLoop(!0)},V=(0,h.useEffectEvent)(e=>{if(!O)return;let t=L.current;if(P.current)try{e.isPlaying||(e.play(),B(e,t))}catch{}else{let r;try{r=f(n)}catch{return}D(r,O,n=>{if(t===L.current&&!e.buffer){e.setBuffer(n),P.current=!0;try{e.play(),B(e,t)}catch{}}})}});return(0,h.useEffect)(()=>{let e=j.current;!e||b||!A||!n||V(e)},[A,b,n,O,k]),r(()=>{let e=j.current;if(!e||!b||!A||!n)return;let t=E.position.distanceTo(I.current),r=F.current,i=t<=_;if(i&&!r)F.current=!0,V(e);else if(!i&&r){F.current=!1,R();try{e.stop()}catch{}}}),(0,h.useEffect)(()=>{let e=j.current;if(e&&!A){R();try{e.stop()}catch{}F.current=!1}},[A]),t?(0,g.jsxs)(`mesh`,{position:I.current,children:[(0,g.jsx)(`sphereGeometry`,{args:[d,12,12]}),(0,g.jsx)(`meshBasicMaterial`,{color:`#00ff00`,wireframe:!0,opacity:.05,transparent:!0,toneMapped:!1}),(0,g.jsx)(m,{color:`#00ff00`,position:[0,d+1,0],children:n})]}):null});export{O as AudioEmitter,v as audioBufferCache,D as getCachedAudioBuffer,C as getSoundGeneration,E as playOneShotSound,T as resolveAudioProfile,w as stopAllTrackedSounds,b as trackSound,x as untrackSound}; \ No newline at end of file diff --git a/docs/assets/ChatInput-C81PZzqT.js b/docs/assets/ChatInput-C8HvzNcM.js similarity index 94% rename from docs/assets/ChatInput-C81PZzqT.js rename to docs/assets/ChatInput-C8HvzNcM.js index 5e67e3dc..44c801d4 100644 --- a/docs/assets/ChatInput-C81PZzqT.js +++ b/docs/assets/ChatInput-C8HvzNcM.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./streamHelpers-Be29sBCp.js";import"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{g as i}from"./index-B_QKaSWI.js";var a=t(),o=e(n(),1),s={InputForm:`_InputForm_18kom_1`,Input:`_Input_18kom_1`},c=r();function l(){let e=(0,a.c)(8),[t,n]=(0,o.useState)(``),r;e[0]===t?r=e[1]:(r=e=>{e.preventDefault();let r=t.trim();r&&(i.getState().sendCommand(`messageSent`,r),n(``))},e[0]=t,e[1]=r);let l=r,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>n(e.target.value),e[2]=f):f=e[2];let p;e[3]===t?p=e[4]:(p=(0,c.jsx)(`input`,{className:s.Input,type:`text`,placeholder:`Say something…`,value:t,onChange:f,onKeyDown:d,onKeyUp:u,maxLength:255}),e[3]=t,e[4]=p);let m;return e[5]!==l||e[6]!==p?(m=(0,c.jsx)(`form`,{className:s.InputForm,onSubmit:l,children:p}),e[5]=l,e[6]=p,e[7]=m):m=e[7],m}function u(e){return e.stopPropagation()}function d(e){return e.stopPropagation()}export{l as ChatInput}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./streamHelpers-Be29sBCp.js";import"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{g as i}from"./index-Chmtkuc3.js";var a=t(),o=e(n(),1),s={InputForm:`_InputForm_18kom_1`,Input:`_Input_18kom_1`},c=r();function l(){let e=(0,a.c)(8),[t,n]=(0,o.useState)(``),r;e[0]===t?r=e[1]:(r=e=>{e.preventDefault();let r=t.trim();r&&(i.getState().sendCommand(`messageSent`,r),n(``))},e[0]=t,e[1]=r);let l=r,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>n(e.target.value),e[2]=f):f=e[2];let p;e[3]===t?p=e[4]:(p=(0,c.jsx)(`input`,{className:s.Input,type:`text`,placeholder:`Say something…`,value:t,onChange:f,onKeyDown:d,onKeyUp:u,maxLength:255}),e[3]=t,e[4]=p);let m;return e[5]!==l||e[6]!==p?(m=(0,c.jsx)(`form`,{className:s.InputForm,onSubmit:l,children:p}),e[5]=l,e[6]=p,e[7]=m):m=e[7],m}function u(e){return e.stopPropagation()}function d(e){return e.stopPropagation()}export{l as ChatInput}; \ No newline at end of file diff --git a/docs/assets/ChatSoundPlayer-DgLOsG9m.js b/docs/assets/ChatSoundPlayer-DXhoTssw.js similarity index 86% rename from docs/assets/ChatSoundPlayer-DgLOsG9m.js rename to docs/assets/ChatSoundPlayer-DXhoTssw.js index 420b898c..fed27584 100644 --- a/docs/assets/ChatSoundPlayer-DgLOsG9m.js +++ b/docs/assets/ChatSoundPlayer-DXhoTssw.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import"./react-three-fiber.esm-dhSWjERg.js";import{a as n}from"./SettingsProvider-2cUUftaX.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{c as r}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{i,r as a}from"./engineStore-Cio8vU1L.js";import{r as o}from"./loaders-C_1cX1lR.js";import{n as s}from"./AudioContext-B-BTQZ7_.js";import"./FloatingLabel-CXLHy5vc.js";import{getCachedAudioBuffer as c,getSoundGeneration as l,trackSound as u,untrackSound as d}from"./AudioEmitter-DQcaN3l9.js";var f=e(t(),1);function p(){let{audioLoader:e,audioListener:t}=s(),{audioEnabled:p}=n(),m=i(e=>e.playback.streamSnapshot?.chatMessages),h=i(e=>e.playback.streamSnapshot?.timeSec),g=(0,f.useRef)(new WeakSet),_=(0,f.useRef)(new Map);return(0,f.useEffect)(()=>{if(!p||!e||!t||!m?.length||h==null)return;let n=g.current,i=_.current;for(let s of m)if(!n.has(s)&&(n.add(s),s.soundPath&&!(Math.abs(h-s.timeSec)>2)))try{let n=o(s.soundPath),f=s.soundPitch??1,p=a.getState().playback.rate,m=s.sender,h=l();c(n,e,e=>{if(h!==l())return;if(m){let e=i.get(m);if(e){try{e.stop()}catch{}d(e);try{e.disconnect()}catch{}i.delete(m)}}let n=new r(t);n.setBuffer(e),n.setPlaybackRate(f*p),u(n,f),m&&i.set(m,n),n.play(),n.source.onended=()=>{d(n);try{n.disconnect()}catch{}m&&i.get(m)===n&&i.delete(m)}})}catch{}},[p,e,t,m,h]),null}export{p as ChatSoundPlayer}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import"./react-three-fiber.esm-dhSWjERg.js";import{a as n}from"./SettingsProvider-2cUUftaX.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{c as r}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{i,r as a}from"./engineStore-Cio8vU1L.js";import{r as o}from"./loaders-BRV0t4WA.js";import{n as s}from"./AudioContext-BCDmeKrq.js";import"./FloatingLabel-BEL3jCDa.js";import{getCachedAudioBuffer as c,getSoundGeneration as l,trackSound as u,untrackSound as d}from"./AudioEmitter--xCrCrsV.js";var f=e(t(),1);function p(){let{audioLoader:e,audioListener:t}=s(),{audioEnabled:p}=n(),m=i(e=>e.playback.streamSnapshot?.chatMessages),h=i(e=>e.playback.streamSnapshot?.timeSec),g=(0,f.useRef)(new WeakSet),_=(0,f.useRef)(new Map);return(0,f.useEffect)(()=>{if(!p||!e||!t||!m?.length||h==null)return;let n=g.current,i=_.current;for(let s of m)if(!n.has(s)&&(n.add(s),s.soundPath&&!(Math.abs(h-s.timeSec)>2)))try{let n=o(s.soundPath),f=s.soundPitch??1,p=a.getState().playback.rate,m=s.sender,h=l();c(n,e,e=>{if(h!==l())return;if(m){let e=i.get(m);if(e){try{e.stop()}catch{}d(e);try{e.disconnect()}catch{}i.delete(m)}}let n=new r(t);n.setBuffer(e),n.setPlaybackRate(f*p),u(n,f),m&&i.set(m,n),n.play(),n.source.onended=()=>{d(n);try{n.disconnect()}catch{}m&&i.get(m)===n&&i.delete(m)}})}catch{}},[p,e,t,m,h]),null}export{p as ChatSoundPlayer}; \ No newline at end of file diff --git a/docs/assets/DebugElements-Dj9DyZN_.js b/docs/assets/DebugElements-Alpm8Fnw.js similarity index 98% rename from docs/assets/DebugElements-Dj9DyZN_.js rename to docs/assets/DebugElements-Alpm8Fnw.js index 6558b9ea..6a2b3ab5 100644 --- a/docs/assets/DebugElements-Dj9DyZN_.js +++ b/docs/assets/DebugElements-Alpm8Fnw.js @@ -1 +1 @@ -import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{n as a,r as o}from"./react-three-fiber.esm-dhSWjERg.js";import"./traditional-BTL5qX2E.js";import{t as s}from"./Html-C5epU_38.js";var c=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):n.Stats=r()})(e,function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function n(e){for(var t=0;to+1e3&&(c.update(1e3*s/(e-o),100),o=e,s=0,u)){var t=performance.memory;u.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){a=this.end()},domElement:i,setMode:n}};return e.Panel=function(e,t,n){var r=1/0,i=0,a=Math.round,o=a(window.devicePixelRatio||1),s=80*o,c=48*o,l=3*o,u=2*o,d=3*o,f=15*o,p=74*o,m=30*o,h=document.createElement(`canvas`);h.width=s,h.height=c,h.style.cssText=`width:80px;height:48px`;var g=h.getContext(`2d`);return g.font=`bold `+9*o+`px Helvetica,Arial,sans-serif`,g.textBaseline=`top`,g.fillStyle=n,g.fillRect(0,0,s,c),g.fillStyle=t,g.fillText(e,l,u),g.fillRect(d,f,p,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d,f,p,m),{dom:h,update:function(c,_){r=Math.min(r,c),i=Math.max(i,c),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,f),g.fillStyle=t,g.fillText(a(c)+` `+e+` (`+a(r)+`-`+a(i)+`)`,l,u),g.drawImage(h,d+o,f,p-o,m,d,f,p-o,m),g.fillRect(d+p-o,f,o,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d+p-o,f,o,a((1-c/_)*m))}}},e})})),l=e(r());function u(e,t){typeof e==`function`?e(t):e!=null&&(e.current=t)}function d(e,t=[],n){let[r,i]=l.useState();return l.useLayoutEffect(()=>{let t=e();return i(t),u(n,t),()=>u(n,null)},t),r}var f=e(c());function p({showPanel:e=0,className:t,parent:n}){let r=d(()=>new f.default,[]);return l.useEffect(()=>{if(r){let i=n&&n.current||document.body;r.showPanel(e),i?.appendChild(r.dom);let s=(t??``).split(` `).filter(e=>e);s.length&&r.dom.classList.add(...s);let c=o(()=>r.begin()),l=a(()=>r.end());return()=>{s.length&&r.dom.classList.remove(...s),i?.removeChild(r.dom),c(),l()}}},[n,r,t,e]),null}var m=n(),h={StatsPanel:`_StatsPanel_10m5i_1`,AxisLabel:`_AxisLabel_10m5i_8`},g=i();function _(){let e=(0,m.c)(10),t=(0,l.useRef)(null),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{let e=t.current;e&&e.setColors(`rgb(153, 255, 0)`,`rgb(0, 153, 255)`,`rgb(255, 153, 0)`)},e[0]=n):n=e[0],(0,l.useEffect)(n);let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,g.jsx)(p,{className:h.StatsPanel}),e[1]=r):r=e[1];let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=[70],e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,g.jsx)(`axesHelper`,{ref:t,args:i,renderOrder:999,children:(0,g.jsx)(`lineBasicMaterial`,{depthTest:!1,depthWrite:!1,fog:!1,vertexColors:!0})}),e[3]=a):a=e[3];let o;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=[80,0,0],e[4]=o):o=e[4];let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,g.jsx)(s,{position:o,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`y`,children:`Y`})}),e[5]=c):c=e[5];let u;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=[0,80,0],e[6]=u):u=e[6];let d;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,g.jsx)(s,{position:u,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`z`,children:`Z`})}),e[7]=d):d=e[7];let f;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=[0,0,80],e[8]=f):f=e[8];let _;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,g.jsxs)(g.Fragment,{children:[r,a,c,d,(0,g.jsx)(s,{position:f,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`x`,children:`X`})})]}),e[9]=_):_=e[9],_}export{_ as DebugElements}; \ No newline at end of file +import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{n as a,r as o}from"./react-three-fiber.esm-dhSWjERg.js";import"./traditional-BTL5qX2E.js";import{t as s}from"./Html-Cz_CVUsI.js";var c=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):n.Stats=r()})(e,function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function n(e){for(var t=0;to+1e3&&(c.update(1e3*s/(e-o),100),o=e,s=0,u)){var t=performance.memory;u.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){a=this.end()},domElement:i,setMode:n}};return e.Panel=function(e,t,n){var r=1/0,i=0,a=Math.round,o=a(window.devicePixelRatio||1),s=80*o,c=48*o,l=3*o,u=2*o,d=3*o,f=15*o,p=74*o,m=30*o,h=document.createElement(`canvas`);h.width=s,h.height=c,h.style.cssText=`width:80px;height:48px`;var g=h.getContext(`2d`);return g.font=`bold `+9*o+`px Helvetica,Arial,sans-serif`,g.textBaseline=`top`,g.fillStyle=n,g.fillRect(0,0,s,c),g.fillStyle=t,g.fillText(e,l,u),g.fillRect(d,f,p,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d,f,p,m),{dom:h,update:function(c,_){r=Math.min(r,c),i=Math.max(i,c),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,f),g.fillStyle=t,g.fillText(a(c)+` `+e+` (`+a(r)+`-`+a(i)+`)`,l,u),g.drawImage(h,d+o,f,p-o,m,d,f,p-o,m),g.fillRect(d+p-o,f,o,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d+p-o,f,o,a((1-c/_)*m))}}},e})})),l=e(r());function u(e,t){typeof e==`function`?e(t):e!=null&&(e.current=t)}function d(e,t=[],n){let[r,i]=l.useState();return l.useLayoutEffect(()=>{let t=e();return i(t),u(n,t),()=>u(n,null)},t),r}var f=e(c());function p({showPanel:e=0,className:t,parent:n}){let r=d(()=>new f.default,[]);return l.useEffect(()=>{if(r){let i=n&&n.current||document.body;r.showPanel(e),i?.appendChild(r.dom);let s=(t??``).split(` `).filter(e=>e);s.length&&r.dom.classList.add(...s);let c=o(()=>r.begin()),l=a(()=>r.end());return()=>{s.length&&r.dom.classList.remove(...s),i?.removeChild(r.dom),c(),l()}}},[n,r,t,e]),null}var m=n(),h={StatsPanel:`_StatsPanel_10m5i_1`,AxisLabel:`_AxisLabel_10m5i_8`},g=i();function _(){let e=(0,m.c)(10),t=(0,l.useRef)(null),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{let e=t.current;e&&e.setColors(`rgb(153, 255, 0)`,`rgb(0, 153, 255)`,`rgb(255, 153, 0)`)},e[0]=n):n=e[0],(0,l.useEffect)(n);let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,g.jsx)(p,{className:h.StatsPanel}),e[1]=r):r=e[1];let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=[70],e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,g.jsx)(`axesHelper`,{ref:t,args:i,renderOrder:999,children:(0,g.jsx)(`lineBasicMaterial`,{depthTest:!1,depthWrite:!1,fog:!1,vertexColors:!0})}),e[3]=a):a=e[3];let o;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=[80,0,0],e[4]=o):o=e[4];let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,g.jsx)(s,{position:o,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`y`,children:`Y`})}),e[5]=c):c=e[5];let u;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=[0,80,0],e[6]=u):u=e[6];let d;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,g.jsx)(s,{position:u,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`z`,children:`Z`})}),e[7]=d):d=e[7];let f;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=[0,0,80],e[8]=f):f=e[8];let _;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,g.jsxs)(g.Fragment,{children:[r,a,c,d,(0,g.jsx)(s,{position:f,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`x`,children:`X`})})]}),e[9]=_):_=e[9],_}export{_ as DebugElements}; \ No newline at end of file diff --git a/docs/assets/DebugSuspense-DTOoTVsz.js b/docs/assets/DebugSuspense-qtqhYC4y.js similarity index 100% rename from docs/assets/DebugSuspense-DTOoTVsz.js rename to docs/assets/DebugSuspense-qtqhYC4y.js diff --git a/docs/assets/DemoPlaybackControls-CYIxHIt0.js b/docs/assets/DemoPlaybackControls-yCGYNQxQ.js similarity index 97% rename from docs/assets/DemoPlaybackControls-CYIxHIt0.js rename to docs/assets/DemoPlaybackControls-yCGYNQxQ.js index 6452e469..41c5fcfc 100644 --- a/docs/assets/DemoPlaybackControls-CYIxHIt0.js +++ b/docs/assets/DemoPlaybackControls-yCGYNQxQ.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import"./traditional-BTL5qX2E.js";import"./engineStore-Cio8vU1L.js";import{d as i,f as a,h as o,m as s,p as c,u as l}from"./index-B_QKaSWI.js";var u=t(),d=e(n(),1),f={Root:`_Root_16j0q_1`,PlayPause:`_PlayPause_16j0q_10`,Time:`_Time_16j0q_32`,Seek:`_Seek_16j0q_38`,Speed:`_Speed_16j0q_44`},p=r(),m=[.25,.5,1,2,4];function h(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function g(){let e=(0,u.c)(33),t=s(),n=a(),r=l(),g=i(),x=o(),{play:S,pause:C,seek:w,setSpeed:T}=c(),E,D;e[0]!==n||e[1]!==C||e[2]!==S||e[3]!==t?(E=()=>{if(!t)return;let e=e=>{if(e.code!==`Space`)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.tagName===`BUTTON`||t.isContentEditable||(e.preventDefault(),n?C():S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},D=[t,n,S,C],e[0]=n,e[1]=C,e[2]=S,e[3]=t,e[4]=E,e[5]=D):(E=e[4],D=e[5]),(0,d.useEffect)(E,D);let O;e[6]===w?O=e[7]:(O=e=>{w(parseFloat(e.target.value))},e[6]=w,e[7]=O);let k=O,A;e[8]===T?A=e[9]:(A=e=>{T(parseFloat(e.target.value))},e[8]=T,e[9]=A);let j=A;if(!t||!Number.isFinite(t.duration))return null;let M=n?C:S,N=n?`Pause`:`Play`,P=n?`❚❚`:`▶`,F;e[10]!==M||e[11]!==N||e[12]!==P?(F=(0,p.jsx)(`button`,{className:f.PlayPause,onClick:M,"aria-label":N,autoFocus:!0,children:P}),e[10]=M,e[11]=N,e[12]=P,e[13]=F):F=e[13];let I;e[14]===r?I=e[15]:(I=h(r),e[14]=r,e[15]=I);let L;e[16]===g?L=e[17]:(L=h(g),e[16]=g,e[17]=L);let R=`${I} / ${L}`,z;e[18]===R?z=e[19]:(z=(0,p.jsx)(`span`,{className:f.Time,children:R}),e[18]=R,e[19]=z);let B;e[20]!==r||e[21]!==g||e[22]!==k?(B=(0,p.jsx)(`input`,{className:f.Seek,type:`range`,min:0,max:g,step:.01,value:r,onChange:k}),e[20]=r,e[21]=g,e[22]=k,e[23]=B):B=e[23];let V;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(V=m.map(_),e[24]=V):V=e[24];let H;e[25]!==j||e[26]!==x?(H=(0,p.jsx)(`select`,{className:f.Speed,value:x,onChange:j,children:V}),e[25]=j,e[26]=x,e[27]=H):H=e[27];let U;return e[28]!==z||e[29]!==B||e[30]!==H||e[31]!==F?(U=(0,p.jsxs)(`div`,{className:f.Root,onKeyDown:b,onPointerDown:y,onClick:v,children:[F,z,B,H]}),e[28]=z,e[29]=B,e[30]=H,e[31]=F,e[32]=U):U=e[32],U}function _(e){return(0,p.jsxs)(`option`,{value:e,children:[e,`x`]},e)}function v(e){return e.stopPropagation()}function y(e){return e.stopPropagation()}function b(e){return e.stopPropagation()}export{g as DemoPlaybackControls}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import"./traditional-BTL5qX2E.js";import"./engineStore-Cio8vU1L.js";import{d as i,f as a,h as o,m as s,p as c,u as l}from"./index-Chmtkuc3.js";var u=t(),d=e(n(),1),f={Root:`_Root_16j0q_1`,PlayPause:`_PlayPause_16j0q_10`,Time:`_Time_16j0q_32`,Seek:`_Seek_16j0q_38`,Speed:`_Speed_16j0q_44`},p=r(),m=[.25,.5,1,2,4];function h(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function g(){let e=(0,u.c)(33),t=s(),n=a(),r=l(),g=i(),x=o(),{play:S,pause:C,seek:w,setSpeed:T}=c(),E,D;e[0]!==n||e[1]!==C||e[2]!==S||e[3]!==t?(E=()=>{if(!t)return;let e=e=>{if(e.code!==`Space`)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.tagName===`BUTTON`||t.isContentEditable||(e.preventDefault(),n?C():S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},D=[t,n,S,C],e[0]=n,e[1]=C,e[2]=S,e[3]=t,e[4]=E,e[5]=D):(E=e[4],D=e[5]),(0,d.useEffect)(E,D);let O;e[6]===w?O=e[7]:(O=e=>{w(parseFloat(e.target.value))},e[6]=w,e[7]=O);let k=O,A;e[8]===T?A=e[9]:(A=e=>{T(parseFloat(e.target.value))},e[8]=T,e[9]=A);let j=A;if(!t||!Number.isFinite(t.duration))return null;let M=n?C:S,N=n?`Pause`:`Play`,P=n?`❚❚`:`▶`,F;e[10]!==M||e[11]!==N||e[12]!==P?(F=(0,p.jsx)(`button`,{className:f.PlayPause,onClick:M,"aria-label":N,autoFocus:!0,children:P}),e[10]=M,e[11]=N,e[12]=P,e[13]=F):F=e[13];let I;e[14]===r?I=e[15]:(I=h(r),e[14]=r,e[15]=I);let L;e[16]===g?L=e[17]:(L=h(g),e[16]=g,e[17]=L);let R=`${I} / ${L}`,z;e[18]===R?z=e[19]:(z=(0,p.jsx)(`span`,{className:f.Time,children:R}),e[18]=R,e[19]=z);let B;e[20]!==r||e[21]!==g||e[22]!==k?(B=(0,p.jsx)(`input`,{className:f.Seek,type:`range`,min:0,max:g,step:.01,value:r,onChange:k}),e[20]=r,e[21]=g,e[22]=k,e[23]=B):B=e[23];let V;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(V=m.map(_),e[24]=V):V=e[24];let H;e[25]!==j||e[26]!==x?(H=(0,p.jsx)(`select`,{className:f.Speed,value:x,onChange:j,children:V}),e[25]=j,e[26]=x,e[27]=H):H=e[27];let U;return e[28]!==z||e[29]!==B||e[30]!==H||e[31]!==F?(U=(0,p.jsxs)(`div`,{className:f.Root,onKeyDown:b,onPointerDown:y,onClick:v,children:[F,z,B,H]}),e[28]=z,e[29]=B,e[30]=H,e[31]=F,e[32]=U):U=e[32],U}function _(e){return(0,p.jsxs)(`option`,{value:e,children:[e,`x`]},e)}function v(e){return e.stopPropagation()}function y(e){return e.stopPropagation()}function b(e){return e.stopPropagation()}export{g as DemoPlaybackControls}; \ No newline at end of file diff --git a/docs/assets/FloatingLabel-CXLHy5vc.js b/docs/assets/FloatingLabel-BEL3jCDa.js similarity index 95% rename from docs/assets/FloatingLabel-CXLHy5vc.js rename to docs/assets/FloatingLabel-BEL3jCDa.js index 45b8ecdd..77241822 100644 --- a/docs/assets/FloatingLabel-CXLHy5vc.js +++ b/docs/assets/FloatingLabel-BEL3jCDa.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import{Ut as a}from"./three.module-CwgFV8Kd.js";import{t as o}from"./Html-C5epU_38.js";var s={Label:`_Label_8rn2m_1`},c=t(),l=e(n(),1),u=r(),d=[0,0,0],f=new a;function p(e,t,n,r){let i=e.matrixWorld.elements;return(t-i[12])*-i[8]+(n-i[13])*-i[9]+(r-i[14])*-i[10]<0}var m=(0,l.memo)(function(e){let t=(0,c.c)(11),{children:n,color:r,position:a,opacity:m}=e,h=r===void 0?`white`:r,g=a===void 0?d:a,_=m===void 0?`fadeWithDistance`:m,v=_===`fadeWithDistance`,y=(0,l.useRef)(null),[b,x]=(0,l.useState)(_!==0),S=(0,l.useRef)(null),C;t[0]!==v||t[1]!==b||t[2]!==_?(C=e=>{let{camera:t}=e,n=y.current;if(!n)return;n.getWorldPosition(f);let r=p(t,f.x,f.y,f.z);if(v){let e=r?1/0:t.position.distanceTo(f),n=e<200;if(b!==n&&x(n),S.current&&n){let t=Math.max(0,Math.min(1,1-e/200));S.current.style.opacity=t.toString()}}else{let e=!r&&_!==0;b!==e&&x(e),S.current&&(S.current.style.opacity=_.toString())}},t[0]=v,t[1]=b,t[2]=_,t[3]=C):C=t[3],i(C);let w;t[4]!==n||t[5]!==h||t[6]!==b||t[7]!==g?(w=b?(0,u.jsx)(o,{position:g,center:!0,children:(0,u.jsx)(`div`,{ref:S,className:s.Label,style:{color:h},children:n})}):null,t[4]=n,t[5]=h,t[6]=b,t[7]=g,t[8]=w):w=t[8];let T;return t[9]===w?T=t[10]:(T=(0,u.jsx)(`group`,{ref:y,children:w}),t[9]=w,t[10]=T),T});export{m as t}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import{Ut as a}from"./three.module-CwgFV8Kd.js";import{t as o}from"./Html-Cz_CVUsI.js";var s={Label:`_Label_8rn2m_1`},c=t(),l=e(n(),1),u=r(),d=[0,0,0],f=new a;function p(e,t,n,r){let i=e.matrixWorld.elements;return(t-i[12])*-i[8]+(n-i[13])*-i[9]+(r-i[14])*-i[10]<0}var m=(0,l.memo)(function(e){let t=(0,c.c)(11),{children:n,color:r,position:a,opacity:m}=e,h=r===void 0?`white`:r,g=a===void 0?d:a,_=m===void 0?`fadeWithDistance`:m,v=_===`fadeWithDistance`,y=(0,l.useRef)(null),[b,x]=(0,l.useState)(_!==0),S=(0,l.useRef)(null),C;t[0]!==v||t[1]!==b||t[2]!==_?(C=e=>{let{camera:t}=e,n=y.current;if(!n)return;n.getWorldPosition(f);let r=p(t,f.x,f.y,f.z);if(v){let e=r?1/0:t.position.distanceTo(f),n=e<200;if(b!==n&&x(n),S.current&&n){let t=Math.max(0,Math.min(1,1-e/200));S.current.style.opacity=t.toString()}}else{let e=!r&&_!==0;b!==e&&x(e),S.current&&(S.current.style.opacity=_.toString())}},t[0]=v,t[1]=b,t[2]=_,t[3]=C):C=t[3],i(C);let w;t[4]!==n||t[5]!==h||t[6]!==b||t[7]!==g?(w=b?(0,u.jsx)(o,{position:g,center:!0,children:(0,u.jsx)(`div`,{ref:S,className:s.Label,style:{color:h},children:n})}):null,t[4]=n,t[5]=h,t[6]=b,t[7]=g,t[8]=w):w=t[8];let T;return t[9]===w?T=t[10]:(T=(0,u.jsx)(`group`,{ref:y,children:w}),t[9]=w,t[10]=T),T});export{m as t}; \ No newline at end of file diff --git a/docs/assets/ForceFieldBare-BNF6ljSM.js b/docs/assets/ForceFieldBare-Boq27vkA.js similarity index 97% rename from docs/assets/ForceFieldBare-BNF6ljSM.js rename to docs/assets/ForceFieldBare-Boq27vkA.js index 9325d947..acf580db 100644 --- a/docs/assets/ForceFieldBare-BNF6ljSM.js +++ b/docs/assets/ForceFieldBare-Boq27vkA.js @@ -1,4 +1,4 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import{a}from"./SettingsProvider-2cUUftaX.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{At as o,Dt as s,Ht as c,b as l,p as u}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{t as d}from"./Texture-CI_Y9elU.js";import{p as f}from"./loaders-C_1cX1lR.js";import{t as p}from"./DebugSuspense-DTOoTVsz.js";var m=t(),h=e(n(),1),g=` +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import{a}from"./SettingsProvider-2cUUftaX.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{At as o,Dt as s,Ht as c,b as l,p as u}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{t as d}from"./Texture-CUOilM1U.js";import{p as f}from"./loaders-BRV0t4WA.js";import{t as p}from"./DebugSuspense-qtqhYC4y.js";var m=t(),h=e(n(),1),g=` #include varying vec2 vUv; diff --git a/docs/assets/GameView-B-FWOVN5.js b/docs/assets/GameView-D3reCMOl.js similarity index 61% rename from docs/assets/GameView-B-FWOVN5.js rename to docs/assets/GameView-D3reCMOl.js index 43d64887..6fc45968 100644 --- a/docs/assets/GameView-B-FWOVN5.js +++ b/docs/assets/GameView-D3reCMOl.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PlayerModel-Beu7pkFZ.js","assets/chunk-DECur_0Z.js","assets/mission-CFLOK_Oy.js","assets/logger-zy3b0zcG.js","assets/GenericShape-DCImTyf2.js","assets/Texture-CI_Y9elU.js","assets/react-three-fiber.esm-dhSWjERg.js","assets/jsx-runtime-BpGWiA-R.js","assets/three.module-CwgFV8Kd.js","assets/traditional-BTL5qX2E.js","assets/useBaseQuery-CZsAiqUk.js","assets/index-B_QKaSWI.js","assets/preload-helper-BcSNVXZP.js","assets/streamHelpers-Be29sBCp.js","assets/SettingsProvider-2cUUftaX.js","assets/manifest-CmJ-OiDc.js","assets/stringUtils-BfUKbRCH.js","assets/iconBase-BCRUFbxq.js","assets/engineStore-Cio8vU1L.js","assets/scene-B1EyKjda.js","assets/index-UOHJQQT_.css","assets/FloatingLabel-CXLHy5vc.js","assets/Html-C5epU_38.js","assets/extends-C_PM0Yom.js","assets/FloatingLabel-DfptgH-Y.css","assets/globalFogUniforms-DQn9KFk6.js","assets/loaders-C_1cX1lR.js","assets/AudioContext-B-BTQZ7_.js","assets/AudioEmitter-DQcaN3l9.js","assets/DebugSuspense-DTOoTVsz.js","assets/ShapeErrorBoundary-BDMn5cgT.js","assets/streamPlaybackStore-CszjeINn.js","assets/ShapeModel-Dfvda7ou.js","assets/Projectiles-CMqanslS.js","assets/ForceFieldBare-BNF6ljSM.js","assets/WaterBlock-cCfl8B1Q.js","assets/StreamingController-rKlAT2Gw.js","assets/gameEntityTypes-n-ppAY7z.js","assets/DebugElements-Dj9DyZN_.js","assets/DebugElements-BP0b5jan.css","assets/Mission-BRbZNPqp.js","assets/useQuery-CwJPnLi6.js","assets/misToScene-CcfLZFwc.js","assets/ChatSoundPlayer-DgLOsG9m.js"])))=>i.map(i=>d[i]); -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as i,i as a,o,t as s}from"./react-three-fiber.esm-dhSWjERg.js";import{a as c,i as l}from"./SettingsProvider-2cUUftaX.js";import{t as u}from"./useQuery-CwJPnLi6.js";import{C as d,D as f,E as p,T as m,d as h,n as g,r as _,t as v,u as y,w as b,x}from"./GenericShape-DCImTyf2.js";import{t as S}from"./stringUtils-BfUKbRCH.js";import{t as C}from"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{t as w,x as T}from"./streamHelpers-Be29sBCp.js";import{A as E,At as D,C as O,Dt as k,E as A,Et as j,Gt as M,Ht as N,K as P,M as F,O as I,Ot as L,S as ee,St as R,Ut as z,Vt as te,_ as ne,b as B,f as re,h as ie,k as ae,lt as oe,m as se,nt as ce,v as V,w as le}from"./three.module-CwgFV8Kd.js";import{n as ue,r as de,t as fe}from"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{a as pe,i as me}from"./engineStore-Cio8vU1L.js";import{t as H}from"./preload-helper-BcSNVXZP.js";import{t as he}from"./extends-C_PM0Yom.js";import{t as ge}from"./Html-C5epU_38.js";import{t as _e}from"./Texture-CI_Y9elU.js";import{S as ve,_ as ye,a as be,b as xe,g as Se,i as Ce,l as we,m as Te,n as Ee,t as De,x as Oe,y as ke}from"./index-B_QKaSWI.js";import{f as Ae,o as je,p as U,s as Me,t as Ne,u as Pe}from"./loaders-C_1cX1lR.js";import{t as Fe}from"./AudioContext-B-BTQZ7_.js";import{t as Ie}from"./FloatingLabel-CXLHy5vc.js";import{t as Le}from"./DebugSuspense-DTOoTVsz.js";import{t as Re}from"./gameEntityTypes-n-ppAY7z.js";import{n as ze}from"./streamPlaybackStore-CszjeINn.js";import{c as Be,d as Ve,f as He,i as Ue,n as We,o as Ge,r as Ke,s as qe,t as Je}from"./globalFogUniforms-DQn9KFk6.js";import{t as Ye}from"./ShapeErrorBoundary-BDMn5cgT.js";var W=e(n());function Xe(e,t,n){let r=o(e=>e.size),i=o(e=>e.viewport),a=typeof e==`number`?e:r.width*i.dpr,s=typeof t==`number`?t:r.height*i.dpr,c=(typeof e==`number`?n:e)||{},{samples:l=0,depth:u,...d}=c,f=u??c.depthBuffer,p=W.useMemo(()=>{let e=new M(a,s,{minFilter:P,magFilter:P,type:F,...d});return f&&(e.depthTexture=new le(a,s,ae)),e.samples=l,e},[]);return W.useLayoutEffect(()=>{p.setSize(a,s),l&&(p.samples=l)},[l,p,a,s]),W.useEffect(()=>()=>p.dispose(),[]),p}var Ze=e=>typeof e==`function`,Qe=W.forwardRef(({envMap:e,resolution:t=256,frames:n=1/0,makeDefault:r,children:i,...s},c)=>{let l=o(({set:e})=>e),u=o(({camera:e})=>e),d=o(({size:e})=>e),f=W.useRef(null);W.useImperativeHandle(c,()=>f.current,[]);let p=W.useRef(null),m=Xe(t);W.useLayoutEffect(()=>{s.manual||(f.current.aspect=d.width/d.height)},[d,s]),W.useLayoutEffect(()=>{f.current.updateProjectionMatrix()});let h=0,g=null,_=Ze(i);return a(t=>{_&&(n===1/0||h{if(r){let e=u;return l(()=>({camera:f.current})),()=>l(()=>({camera:e}))}},[f,r,l]),W.createElement(W.Fragment,null,W.createElement(`perspectiveCamera`,he({ref:f},s),!_&&i),W.createElement(`group`,{ref:p},_&&i(m.texture)))});function $e(e,{path:t}){let[n]=i(ee,[e],e=>e.setPath(t));return n}$e.preload=(e,{path:t})=>i.preload(ee,[e],e=>e.setPath(t));var G=t(),et={sunLightPointsDown:{value:!0}};function tt(e){et.sunLightPointsDown.value=e}var K=r(),nt=C(`SceneLighting`);function rt(){let e=(0,G.c)(6),t=ve(),n,r;if(e[0]===t?(n=e[1],r=e[2]):(n=()=>{t?nt.debug(`sunData: dir=(%s, %s, %s) color=(%s, %s, %s) ambient=(%s, %s, %s)`,t.direction.x.toFixed(3),t.direction.y.toFixed(3),t.direction.z.toFixed(3),t.color.r.toFixed(3),t.color.g.toFixed(3),t.color.b.toFixed(3),t.ambient.r.toFixed(3),t.ambient.g.toFixed(3),t.ambient.b.toFixed(3)):nt.debug(`No sunData — using fallback ambient #888`)},r=[t],e[0]=t,e[1]=n,e[2]=r),(0,W.useEffect)(n,r),!t){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,K.jsx)(`ambientLight`,{color:`#888888`,intensity:1}),e[3]=t):t=e[3],t}let i;return e[4]===t?i=e[5]:(i=(0,K.jsx)(it,{sunData:t}),e[4]=t,e[5]=i),i}function it(e){let t=(0,G.c)(29),{sunData:n}=e,r;t[0]===n.direction?r=t[1]:(r=de(n.direction),t[0]=n.direction,t[1]=r);let[i,a,o]=r,s=Math.sqrt(i*i+a*a+o*o),c=i/s,l=a/s,u=o/s,d;t[2]!==c||t[3]!==l||t[4]!==u?(d=new z(c,l,u),t[2]=c,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f=d,p=-f.x*5e3,m=-f.y*5e3,h=-f.z*5e3,g;t[6]!==p||t[7]!==m||t[8]!==h?(g=new z(p,m,h),t[6]=p,t[7]=m,t[8]=h,t[9]=g):g=t[9];let _=g,v;t[10]!==n.color.b||t[11]!==n.color.g||t[12]!==n.color.r?(v=new B(n.color.r,n.color.g,n.color.b),t[10]=n.color.b,t[11]=n.color.g,t[12]=n.color.r,t[13]=v):v=t[13];let y=v,b;t[14]!==n.ambient.b||t[15]!==n.ambient.g||t[16]!==n.ambient.r?(b=new B(n.ambient.r,n.ambient.g,n.ambient.b),t[14]=n.ambient.b,t[15]=n.ambient.g,t[16]=n.ambient.r,t[17]=b):b=t[17];let x=b,S=f.y<0,C,w;t[18]===S?(C=t[19],w=t[20]):(C=()=>{tt(S)},w=[S],t[18]=S,t[19]=C,t[20]=w),(0,W.useEffect)(C,w);let T;t[21]!==y||t[22]!==_?(T=(0,K.jsx)(`directionalLight`,{position:_,color:y,intensity:1,castShadow:!0,"shadow-mapSize-width":8192,"shadow-mapSize-height":8192,"shadow-camera-left":-4096,"shadow-camera-right":4096,"shadow-camera-top":4096,"shadow-camera-bottom":-4096,"shadow-camera-near":100,"shadow-camera-far":12e3,"shadow-bias":-1e-5,"shadow-normalBias":.4,"shadow-radius":2}),t[21]=y,t[22]=_,t[23]=T):T=t[23];let E;t[24]===x?E=t[25]:(E=(0,K.jsx)(`ambientLight`,{color:x,intensity:1}),t[24]=x,t[25]=E);let D;return t[26]!==T||t[27]!==E?(D=(0,K.jsxs)(K.Fragment,{children:[T,E]}),t[26]=T,t[27]=E,t[28]=D):D=t[28],D}function at(){let e=(0,G.c)(4),{fpsLimit:t}=c(),n=o(ot),r,i;return e[0]!==t||e[1]!==n?(r=()=>{if(t==null)return;let e=1e3/t,r=0,i;function a(t){i=requestAnimationFrame(a),t-r>=e&&(r=t-(t-r)%e,n())}return i=requestAnimationFrame(a),()=>cancelAnimationFrame(i)},i=[t,n],e[0]=t,e[1]=n,e[2]=r,e[3]=i):(r=e[2],i=e[3]),(0,W.useEffect)(r,i),t}function ot(e){return e.invalidate}function st(){return at(),null}var ct={toneMapping:0,outputColorSpace:L};function lt(e){let t=(0,G.c)(11),{children:n,renderOnDemand:r,dpr:i,onCreated:a}=e,o=r===void 0?!1:r,{renderOnDemand:u}=l(),d=o||u,{fpsLimit:f}=c(),p=f!=null&&!d,m=d||p?`demand`:`always`,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={type:1},t[0]=h):h=t[0];let g;t[1]===n?g=t[2]:(g=(0,K.jsx)(W.Suspense,{children:n}),t[1]=n,t[2]=g);let _;t[3]===p?_=t[4]:(_=p?(0,K.jsx)(st,{}):null,t[3]=p,t[4]=_);let v;return t[5]!==i||t[6]!==a||t[7]!==m||t[8]!==g||t[9]!==_?(v=(0,K.jsxs)(s,{frameloop:m,dpr:i,gl:ct,shadows:h,onCreated:a,children:[g,_]}),t[5]=i,t[6]=a,t[7]=m,t[8]=g,t[9]=_,t[10]=v):v=t[10],v}function ut(e){let t=(0,G.c)(12),{entity:n}=e,{registerCamera:r,unregisterCamera:i}=be(),a=(0,W.useId)(),o=n.cameraDataBlock,s;t[0]===n.position?s=t[1]:(s=n.position?new z(...n.position):new z,t[0]=n.position,t[1]=s);let c=s,l;t[2]===n.rotation?l=t[3]:(l=n.rotation?new R(...n.rotation):new R,t[2]=n.rotation,t[3]=l);let u=l,d,f;return t[4]!==o||t[5]!==a||t[6]!==c||t[7]!==r||t[8]!==u||t[9]!==i?(d=()=>{if(o===`Observer`){let e={id:a,position:c,rotation:u};return r(e),()=>{i(e)}}},f=[a,o,r,i,c,u],t[4]=o,t[5]=a,t[6]=c,t[7]=r,t[8]=u,t[9]=i,t[10]=d,t[11]=f):(d=t[10],f=t[11]),(0,W.useEffect)(d,f),null}function dt(e){let t=(0,G.c)(3),{entity:n}=e,r;return t[0]!==n.label||t[1]!==n.position?(r=n.label?(0,K.jsx)(Ie,{position:n.position,opacity:.6,children:n.label}):null,t[0]=n.label,t[1]=n.position,t[2]=r):r=t[2],r}function ft(e){let t=new Float32Array(e.length);for(let n=0;ni.map(i=>d[i]); +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as i,i as a,o,t as s}from"./react-three-fiber.esm-dhSWjERg.js";import{a as c,i as l}from"./SettingsProvider-2cUUftaX.js";import{t as u}from"./useQuery-DTlry7jQ.js";import{C as d,D as f,E as p,T as m,d as h,n as g,r as _,t as v,u as y,w as b,x}from"./GenericShape-BbryN-E_.js";import{t as S}from"./stringUtils-BfUKbRCH.js";import{t as C}from"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{t as w,x as T}from"./streamHelpers-Be29sBCp.js";import{A as E,At as D,C as O,Dt as k,E as A,Et as j,Gt as M,Ht as N,K as P,M as F,O as I,Ot as L,S as ee,St as R,Ut as z,Vt as te,_ as ne,b as B,f as re,h as ie,k as ae,lt as oe,m as se,nt as ce,v as V,w as le}from"./three.module-CwgFV8Kd.js";import{n as ue,r as de,t as fe}from"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{a as pe,i as me}from"./engineStore-Cio8vU1L.js";import{t as he}from"./extends-Cu_B6L18.js";import{t as ge}from"./Html-Cz_CVUsI.js";import{t as _e}from"./Texture-CUOilM1U.js";import{S as ve,_ as ye,a as be,b as xe,g as Se,i as Ce,l as H,m as we,n as Te,t as Ee,w as De,x as Oe,y as ke}from"./index-Chmtkuc3.js";import{f as Ae,o as je,p as U,s as Me,t as Ne,u as Pe}from"./loaders-BRV0t4WA.js";import{t as Fe}from"./AudioContext-BCDmeKrq.js";import{t as Ie}from"./FloatingLabel-BEL3jCDa.js";import{t as Le}from"./DebugSuspense-qtqhYC4y.js";import{t as Re}from"./gameEntityTypes-9Mm4qfyP.js";import{n as ze}from"./streamPlaybackStore-uClZ1maO.js";import{c as Be,d as Ve,f as He,i as Ue,n as We,o as Ge,r as Ke,s as qe,t as Je}from"./globalFogUniforms-CaAkHfiE.js";import{t as Ye}from"./ShapeErrorBoundary-DEJ9vtex.js";var W=e(n());function Xe(e,t,n){let r=o(e=>e.size),i=o(e=>e.viewport),a=typeof e==`number`?e:r.width*i.dpr,s=typeof t==`number`?t:r.height*i.dpr,c=(typeof e==`number`?n:e)||{},{samples:l=0,depth:u,...d}=c,f=u??c.depthBuffer,p=W.useMemo(()=>{let e=new M(a,s,{minFilter:P,magFilter:P,type:F,...d});return f&&(e.depthTexture=new le(a,s,ae)),e.samples=l,e},[]);return W.useLayoutEffect(()=>{p.setSize(a,s),l&&(p.samples=l)},[l,p,a,s]),W.useEffect(()=>()=>p.dispose(),[]),p}var Ze=e=>typeof e==`function`,Qe=W.forwardRef(({envMap:e,resolution:t=256,frames:n=1/0,makeDefault:r,children:i,...s},c)=>{let l=o(({set:e})=>e),u=o(({camera:e})=>e),d=o(({size:e})=>e),f=W.useRef(null);W.useImperativeHandle(c,()=>f.current,[]);let p=W.useRef(null),m=Xe(t);W.useLayoutEffect(()=>{s.manual||(f.current.aspect=d.width/d.height)},[d,s]),W.useLayoutEffect(()=>{f.current.updateProjectionMatrix()});let h=0,g=null,_=Ze(i);return a(t=>{_&&(n===1/0||h{if(r){let e=u;return l(()=>({camera:f.current})),()=>l(()=>({camera:e}))}},[f,r,l]),W.createElement(W.Fragment,null,W.createElement(`perspectiveCamera`,he({ref:f},s),!_&&i),W.createElement(`group`,{ref:p},_&&i(m.texture)))});function $e(e,{path:t}){let[n]=i(ee,[e],e=>e.setPath(t));return n}$e.preload=(e,{path:t})=>i.preload(ee,[e],e=>e.setPath(t));var G=t(),et={sunLightPointsDown:{value:!0}};function tt(e){et.sunLightPointsDown.value=e}var K=r(),nt=C(`SceneLighting`);function rt(){let e=(0,G.c)(6),t=ve(),n,r;if(e[0]===t?(n=e[1],r=e[2]):(n=()=>{t?nt.debug(`sunData: dir=(%s, %s, %s) color=(%s, %s, %s) ambient=(%s, %s, %s)`,t.direction.x.toFixed(3),t.direction.y.toFixed(3),t.direction.z.toFixed(3),t.color.r.toFixed(3),t.color.g.toFixed(3),t.color.b.toFixed(3),t.ambient.r.toFixed(3),t.ambient.g.toFixed(3),t.ambient.b.toFixed(3)):nt.debug(`No sunData — using fallback ambient #888`)},r=[t],e[0]=t,e[1]=n,e[2]=r),(0,W.useEffect)(n,r),!t){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,K.jsx)(`ambientLight`,{color:`#888888`,intensity:1}),e[3]=t):t=e[3],t}let i;return e[4]===t?i=e[5]:(i=(0,K.jsx)(it,{sunData:t}),e[4]=t,e[5]=i),i}function it(e){let t=(0,G.c)(29),{sunData:n}=e,r;t[0]===n.direction?r=t[1]:(r=de(n.direction),t[0]=n.direction,t[1]=r);let[i,a,o]=r,s=Math.sqrt(i*i+a*a+o*o),c=i/s,l=a/s,u=o/s,d;t[2]!==c||t[3]!==l||t[4]!==u?(d=new z(c,l,u),t[2]=c,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f=d,p=-f.x*5e3,m=-f.y*5e3,h=-f.z*5e3,g;t[6]!==p||t[7]!==m||t[8]!==h?(g=new z(p,m,h),t[6]=p,t[7]=m,t[8]=h,t[9]=g):g=t[9];let _=g,v;t[10]!==n.color.b||t[11]!==n.color.g||t[12]!==n.color.r?(v=new B(n.color.r,n.color.g,n.color.b),t[10]=n.color.b,t[11]=n.color.g,t[12]=n.color.r,t[13]=v):v=t[13];let y=v,b;t[14]!==n.ambient.b||t[15]!==n.ambient.g||t[16]!==n.ambient.r?(b=new B(n.ambient.r,n.ambient.g,n.ambient.b),t[14]=n.ambient.b,t[15]=n.ambient.g,t[16]=n.ambient.r,t[17]=b):b=t[17];let x=b,S=f.y<0,C,w;t[18]===S?(C=t[19],w=t[20]):(C=()=>{tt(S)},w=[S],t[18]=S,t[19]=C,t[20]=w),(0,W.useEffect)(C,w);let T;t[21]!==y||t[22]!==_?(T=(0,K.jsx)(`directionalLight`,{position:_,color:y,intensity:1,castShadow:!0,"shadow-mapSize-width":8192,"shadow-mapSize-height":8192,"shadow-camera-left":-4096,"shadow-camera-right":4096,"shadow-camera-top":4096,"shadow-camera-bottom":-4096,"shadow-camera-near":100,"shadow-camera-far":12e3,"shadow-bias":-1e-5,"shadow-normalBias":.4,"shadow-radius":2}),t[21]=y,t[22]=_,t[23]=T):T=t[23];let E;t[24]===x?E=t[25]:(E=(0,K.jsx)(`ambientLight`,{color:x,intensity:1}),t[24]=x,t[25]=E);let D;return t[26]!==T||t[27]!==E?(D=(0,K.jsxs)(K.Fragment,{children:[T,E]}),t[26]=T,t[27]=E,t[28]=D):D=t[28],D}function at(){let e=(0,G.c)(4),{fpsLimit:t}=c(),n=o(ot),r,i;return e[0]!==t||e[1]!==n?(r=()=>{if(t==null)return;let e=1e3/t,r=0,i;function a(t){i=requestAnimationFrame(a),t-r>=e&&(r=t-(t-r)%e,n())}return i=requestAnimationFrame(a),()=>cancelAnimationFrame(i)},i=[t,n],e[0]=t,e[1]=n,e[2]=r,e[3]=i):(r=e[2],i=e[3]),(0,W.useEffect)(r,i),t}function ot(e){return e.invalidate}function st(){return at(),null}var ct={toneMapping:0,outputColorSpace:L};function lt(e){let t=(0,G.c)(11),{children:n,renderOnDemand:r,dpr:i,onCreated:a}=e,o=r===void 0?!1:r,{renderOnDemand:u}=l(),d=o||u,{fpsLimit:f}=c(),p=f!=null&&!d,m=d||p?`demand`:`always`,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={type:1},t[0]=h):h=t[0];let g;t[1]===n?g=t[2]:(g=(0,K.jsx)(W.Suspense,{children:n}),t[1]=n,t[2]=g);let _;t[3]===p?_=t[4]:(_=p?(0,K.jsx)(st,{}):null,t[3]=p,t[4]=_);let v;return t[5]!==i||t[6]!==a||t[7]!==m||t[8]!==g||t[9]!==_?(v=(0,K.jsxs)(s,{frameloop:m,dpr:i,gl:ct,shadows:h,onCreated:a,children:[g,_]}),t[5]=i,t[6]=a,t[7]=m,t[8]=g,t[9]=_,t[10]=v):v=t[10],v}function ut(e){let t=(0,G.c)(12),{entity:n}=e,{registerCamera:r,unregisterCamera:i}=be(),a=(0,W.useId)(),o=n.cameraDataBlock,s;t[0]===n.position?s=t[1]:(s=n.position?new z(...n.position):new z,t[0]=n.position,t[1]=s);let c=s,l;t[2]===n.rotation?l=t[3]:(l=n.rotation?new R(...n.rotation):new R,t[2]=n.rotation,t[3]=l);let u=l,d,f;return t[4]!==o||t[5]!==a||t[6]!==c||t[7]!==r||t[8]!==u||t[9]!==i?(d=()=>{if(o===`Observer`){let e={id:a,position:c,rotation:u};return r(e),()=>{i(e)}}},f=[a,o,r,i,c,u],t[4]=o,t[5]=a,t[6]=c,t[7]=r,t[8]=u,t[9]=i,t[10]=d,t[11]=f):(d=t[10],f=t[11]),(0,W.useEffect)(d,f),null}function dt(e){let t=(0,G.c)(3),{entity:n}=e,r;return t[0]!==n.label||t[1]!==n.position?(r=n.label?(0,K.jsx)(Ie,{position:n.position,opacity:.6,children:n.label}):null,t[0]=n.label,t[1]=n.position,t[2]=r):r=t[2],r}function ft(e){let t=new Float32Array(e.length);for(let n=0;ne.scene),r=o(e=>e.camera),i=(0,W.useRef)(null),s=(0,W.useMemo)(()=>We(e.fogVolumes),[e.fogVolumes]);return(0,W.useEffect)(()=>{gn||=(qe(),!0)},[]),(0,W.useEffect)(()=>{Ke();let[t,a]=Cn(e,r.position.y),o=new E(e.fogColor,t,a);return n.fog=o,i.current=o,Ue(r.position.y,s),()=>{n.fog=null,i.current=null,Ke()}},[n,r,e,s]),(0,W.useEffect)(()=>{let n=i.current;if(n)if(t){let[t,i]=Cn(e,r.position.y);n.near=t,n.far=i}else n.near=1e10,n.far=1e10},[t,e,r.position.y]),a(()=>{let n=i.current;if(!n)return;let a=r.position.y;if(Ue(a,s,t),t){let[t,r]=Cn(e,a);n.near=t,n.far=r,n.color.copy(e.fogColor)}}),null}var Tn=(0,W.memo)(function({entity:e}){let{skyData:t}=e;hn.debug(`Rendering: materialList=%s, useSkyTextures=%s`,t.materialList,t.useSkyTextures);let{fogEnabled:n}=c(),r=t.materialList||void 0,i=(0,W.useMemo)(()=>_n(t.skySolidColor),[t.skySolidColor]),a=t.useSkyTextures,s=(0,W.useMemo)(()=>mn(t),[t]);hn.debug(`fogState: fogColor=(%s, %s, %s) visibleDistance=%d fogDistance=%d enabled=%s volumes=%d`,t.fogColor.r.toFixed(3),t.fogColor.g.toFixed(3),t.fogColor.b.toFixed(3),t.visibleDistance,t.fogDistance,s.enabled,s.fogVolumes.length);let l=(0,W.useMemo)(()=>_n(t.fogColor),[t.fogColor]),u=i||l,d=s.enabled&&n,f=s.fogColor,p=o(e=>e.scene),m=o(e=>e.gl);(0,W.useEffect)(()=>{if(d){let e=f.clone();p.background=e,m.setClearColor(e)}else if(u){let e=u[0].clone();p.background=e,m.setClearColor(e)}else p.background=null;return()=>{p.background=null}},[p,m,d,f,u]);let h=i?.[1];return(0,K.jsxs)(K.Fragment,{children:[r&&a&&r.length>0?(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(xn,{materialList:r,fogColor:d?f:void 0,fogState:d?s:void 0},r)}):h?(0,K.jsx)(Sn,{skyColor:h,fogColor:d?f:void 0,fogState:d?s:void 0}):null,(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(dn,{scene:t})}),s.enabled?(0,K.jsx)(wn,{fogState:s,enabled:n}):null]})});function En(e){let t=(0,G.c)(3),{children:n}=e,{audioEnabled:r}=c(),i;return t[0]!==r||t[1]!==n?(i=r?(0,K.jsx)(W.Suspense,{children:n}):null,t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function Z(e,t){let n=(0,W.lazy)(()=>t().then(t=>({default:t[e]}))),r=t=>{let r=(0,G.c)(5),{entity:i}=t,a=`${e}:${i.id}`,o;r[0]===i?o=r[1]:(o=(0,K.jsx)(n,{entity:i}),r[0]=i,r[1]=o);let s;return r[2]!==a||r[3]!==o?(s=(0,K.jsx)(Le,{name:a,children:o}),r[2]=a,r[3]=o,r[4]=s):s=r[4],s};return r.displayName=`createLazy(${e})`,r}var Dn=Z(`PlayerModel`,()=>H(()=>import(`./PlayerModel-Beu7pkFZ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]))),On=Z(`ExplosionShape`,()=>H(()=>import(`./ShapeModel-Dfvda7ou.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31]))),kn=Z(`TracerProjectile`,()=>H(()=>import(`./Projectiles-CMqanslS.js`),__vite__mapDeps([33,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]))),An=Z(`SpriteProjectile`,()=>H(()=>import(`./Projectiles-CMqanslS.js`),__vite__mapDeps([33,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]))),jn=Z(`ForceFieldBare`,()=>H(()=>import(`./ForceFieldBare-BNF6ljSM.js`),__vite__mapDeps([34,1,2,3,5,6,7,8,9,14,15,16,29,26]))),Mn=Z(`AudioEmitter`,()=>H(()=>import(`./AudioEmitter-DQcaN3l9.js`),__vite__mapDeps([28,1,2,3,6,7,8,9,14,15,16,18,27,21,22,11,12,13,17,19,20,23,24,26]))),Nn=Z(`WaterBlock`,()=>H(()=>import(`./WaterBlock-cCfl8B1Q.js`),__vite__mapDeps([35,1,2,3,23,5,6,7,8,9,14,15,16,25,26,19]))),Pn=Z(`WeaponModel`,()=>H(()=>import(`./ShapeModel-Dfvda7ou.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31]))),Fn=(0,W.memo)(function(e){let t=(0,G.c)(26),{entity:n}=e;switch(n.renderType){case`Shape`:{let e;return t[0]===n?e=t[1]:(e=(0,K.jsx)(In,{entity:n}),t[0]=n,t[1]=e),e}case`ForceFieldBare`:{let e;return t[2]===n?e=t[3]:(e=(0,K.jsx)(jn,{entity:n}),t[2]=n,t[3]=e),e}case`Player`:{let e;return t[4]===n?e=t[5]:(e=(0,K.jsx)(Dn,{entity:n}),t[4]=n,t[5]=e),e}case`Explosion`:{let e;return t[6]===n?e=t[7]:(e=(0,K.jsx)(On,{entity:n}),t[6]=n,t[7]=e),e}case`Tracer`:{let e;return t[8]===n?e=t[9]:(e=(0,K.jsx)(kn,{entity:n}),t[8]=n,t[9]=e),e}case`Sprite`:{let e;return t[10]===n?e=t[11]:(e=(0,K.jsx)(An,{entity:n}),t[10]=n,t[11]=e),e}case`AudioEmitter`:{let e;return t[12]===n?e=t[13]:(e=(0,K.jsx)(En,{children:(0,K.jsx)(Mn,{entity:n})}),t[12]=n,t[13]=e),e}case`Camera`:{let e;return t[14]===n?e=t[15]:(e=(0,K.jsx)(ut,{entity:n}),t[14]=n,t[15]=e),e}case`WayPoint`:{let e;return t[16]===n?e=t[17]:(e=(0,K.jsx)(dt,{entity:n}),t[16]=n,t[17]=e),e}case`TerrainBlock`:{let e;return t[18]===n.terrainData?e=t[19]:(e=(0,K.jsx)(Nt,{scene:n.terrainData}),t[18]=n.terrainData,t[19]=e),e}case`InteriorInstance`:{let e;return t[20]===n.interiorData?e=t[21]:(e=(0,K.jsx)(Jt,{scene:n.interiorData}),t[20]=n.interiorData,t[21]=e),e}case`Sky`:{let e;return t[22]===n?e=t[23]:(e=(0,K.jsx)(Tn,{entity:n}),t[22]=n,t[23]=e),e}case`Sun`:return null;case`WaterBlock`:{let e;return t[24]===n?e=t[25]:(e=(0,K.jsx)(Nn,{entity:n}),t[24]=n,t[25]=e),e}case`MissionArea`:return null;case`None`:return null;default:return null}});function In(e){let t=(0,G.c)(24),{entity:n}=e,{animationEnabled:r}=c(),i=(0,W.useRef)(null),o;if(t[0]!==r||t[1]!==n.rotate?(o=()=>{if(!i.current||!n.rotate||!r)return;let e=performance.now()/1e3;i.current.rotation.y=e/3*Math.PI*2},t[0]=r,t[1]=n.rotate,t[2]=o):o=t[2],a(o),!n.shapeName)throw Error(`Shape entity missing shapeName: ${n.id}`);let s=n.runtimeObject,l=n.shapeType??`StaticShape`,u=n.dataBlock?.toLowerCase()===`flag`,d=n.teamId&&n.teamId>0?S[n.teamId]:null,f=u&&d?`${d} Flag`:null,p=n.shapeType===`Item`?`pink`:n.threads?`#00ff88`:`yellow`,m=n.rotate?i:void 0,h=s?void 0:n,_;t[3]===f?_=t[4]:(_=f?(0,K.jsx)(Ie,{opacity:.6,children:f}):null,t[3]=f,t[4]=_);let y;t[5]!==p||t[6]!==h||t[7]!==_?(y=(0,K.jsx)(g,{loadingColor:p,streamEntity:h,children:_}),t[5]=p,t[6]=h,t[7]=_,t[8]=y):y=t[8];let b;t[9]!==n.barrelShapeName||t[10]!==s?(b=n.barrelShapeName&&(0,K.jsx)(x,{object:s,shapeName:n.barrelShapeName,type:`Turret`,children:(0,K.jsx)(`group`,{position:[0,1.5,0],children:(0,K.jsx)(g,{})})}),t[9]=n.barrelShapeName,t[10]=s,t[11]=b):b=t[11];let C;t[12]===n?C=t[13]:(C=n.weaponShape&&(0,K.jsx)(Ye,{fallback:(0,K.jsx)(v,{color:`red`,label:n.weaponShape}),children:(0,K.jsx)(Le,{name:`Weapon:${n.id}/${n.weaponShape}`,fallback:(0,K.jsx)(v,{color:`cyan`,label:n.weaponShape}),children:(0,K.jsx)(Pn,{entity:n})})}),t[12]=n,t[13]=C);let w;t[14]!==m||t[15]!==y||t[16]!==b||t[17]!==C?(w=(0,K.jsxs)(`group`,{ref:m,children:[y,b,C]}),t[14]=m,t[15]=y,t[16]=b,t[17]=C,t[18]=w):w=t[18];let T;return t[19]!==n.shapeName||t[20]!==l||t[21]!==w||t[22]!==s?(T=(0,K.jsx)(x,{object:s,shapeName:n.shapeName,type:l,children:w}),t[19]=n.shapeName,t[20]=l,t[21]=w,t[22]=s,t[23]=T):T=t[23],T}var Ln={Root:`_Root_dlg08_1`,Top:`_Top_dlg08_9 _Root_dlg08_1`,Bottom:`_Bottom_dlg08_14 _Root_dlg08_1`,IffArrow:`_IffArrow_dlg08_19`,Name:`_Name_dlg08_26`,HealthBar:`_HealthBar_dlg08_34`,HealthFill:`_HealthFill_dlg08_43`},Rn=150,zn=.1,Bn=-.2,Vn=U(`gui/hud_alliedtriangle`),Hn=U(`gui/hud_enemytriangle`),Un=new z,Wn=[];function Gn(e){let t=(0,G.c)(21),{entity:n}=e,r=_(n.shapeName??n.dataBlock),i=o(qn),s=(0,W.useRef)(null),c=(0,W.useRef)(null),l=(0,W.useRef)(null),u=(0,W.useRef)(null),d=(0,W.useRef)(null),[f,p]=(0,W.useState)(!0),m=(0,W.useRef)(null),g;t[0]===r.scene?g=t[1]:(g=new re().setFromObject(r.scene),t[0]=r.scene,t[1]=g);let v=g.max.y+zn,y=n.keyframes??Wn,b;t[2]===y?b=t[3]:(b=y.some(Kn),t[2]=y,t[3]=b);let x=b,S;t[4]!==i||t[5]!==n.id||t[6]!==n.iffColor||t[7]!==n.playerName||t[8]!==x||t[9]!==f||t[10]!==y?(S=()=>{let e=s.current;if(!e)return;e.getWorldPosition(Un);let t=i.position.distanceTo(Un),r=i.matrixWorld.elements,a=!((Un.x-r[12])*-r[8]+(Un.y-r[13])*-r[9]+(Un.z-r[14])*-r[10]<0)&&t=1){c.current&&(c.current.style.opacity=`0`),l.current&&(l.current.style.opacity=`0`);return}let _=Math.max(0,Math.min(1,1-t/Rn)).toString();if(c.current&&(c.current.style.opacity=_),l.current&&(l.current.style.opacity=_),m.current){let e=n.playerName??n.id;m.current.textContent!==e&&(m.current.textContent=e)}if(d.current&&n.iffColor){let e=n.iffColor.r>n.iffColor.g?Hn:Vn;d.current.getAttribute(`src`)!==e&&(d.current.src=e)}u.current&&x&&(u.current.style.width=`${Math.max(0,Math.min(100,g*100))}%`,u.current.style.background=n.iffColor?`rgb(${n.iffColor.r}, ${n.iffColor.g}, ${n.iffColor.b})`:``)},t[4]=i,t[5]=n.id,t[6]=n.iffColor,t[7]=n.playerName,t[8]=x,t[9]=f,t[10]=y,t[11]=S):S=t[11],a(S);let C=n.iffColor&&n.iffColor.r>n.iffColor.g?Hn:Vn,w;t[12]!==n.id||t[13]!==n.playerName||t[14]!==x||t[15]!==v||t[16]!==C||t[17]!==f?(w=f&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(ge,{position:[0,v,0],center:!0,children:(0,K.jsx)(`div`,{ref:c,className:Ln.Top,children:(0,K.jsx)(`img`,{ref:d,className:Ln.IffArrow,src:C,alt:``})})}),(0,K.jsx)(ge,{position:[0,Bn,0],center:!0,children:(0,K.jsxs)(`div`,{ref:l,className:Ln.Bottom,children:[(0,K.jsx)(`div`,{ref:m,className:Ln.Name,children:n.playerName??n.id}),x&&(0,K.jsx)(`div`,{className:Ln.HealthBar,children:(0,K.jsx)(`div`,{ref:u,className:Ln.HealthFill})})]})})]}),t[12]=n.id,t[13]=n.playerName,t[14]=x,t[15]=v,t[16]=C,t[17]=f,t[18]=w):w=t[18];let T;return t[19]===w?T=t[20]:(T=(0,K.jsx)(`group`,{ref:s,children:w}),t[19]=w,t[20]=T),T}function Kn(e){return e.health!=null}function qn(e){return e.camera}var Jn={Root:`_Root_yuidw_1`,Distance:`_Distance_yuidw_9`,Icon:`_Icon_yuidw_18`},Yn=1.5,Xn=U(`commander/MiniIcons/com_flag_grey`),Zn=new z;function Qn(e){let t=(0,G.c)(9),{entity:n}=e,r=(0,W.useRef)(null),i=(0,W.useRef)(null),s=(0,W.useRef)(null),c=o($n),l;t[0]!==c||t[1]!==n.iffColor?(l=()=>{if(i.current&&n.iffColor){let{r:e,g:t,b:r}=n.iffColor;i.current.style.backgroundColor=`rgb(${e},${t},${r})`}if(s.current&&r.current){r.current.getWorldPosition(Zn);let e=c.position.distanceTo(Zn);s.current.textContent=e.toFixed(1)}},t[0]=c,t[1]=n.iffColor,t[2]=l):l=t[2],a(l);let u=n.iffColor?`rgb(${n.iffColor.r},${n.iffColor.g},${n.iffColor.b})`:`rgb(200,200,200)`,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=[0,Yn,0],t[3]=d):d=t[3];let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,K.jsx)(`span`,{ref:s,className:Jn.Distance}),t[4]=f):f=t[4];let p;t[5]===u?p=t[6]:(p={backgroundColor:u,"--flag-icon-url":`url(${Xn})`},t[5]=u,t[6]=p);let m=p,h;return t[7]===m?h=t[8]:(h=(0,K.jsx)(`group`,{ref:r,children:(0,K.jsx)(ge,{position:d,center:!0,children:(0,K.jsxs)(`div`,{className:Jn.Root,children:[f,(0,K.jsx)(`div`,{ref:i,className:Jn.Icon,style:m})]})})}),t[7]=m,t[8]=h),h}function $n(e){return e.camera}function er(){let e=(0,G.c)(1),t=tr,n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,K.jsx)(`group`,{ref:t,children:(0,K.jsx)(nr,{})}),e[0]=n):n=e[0],n}function tr(e){ze.setState({root:e})}var nr=(0,W.memo)(function(){let e=ke(),t=(0,W.useRef)(new Map).current,n=new Set;for(let r of e)n.add(r.id),t.set(r.id,r);for(let e of t.keys())n.has(e)||t.delete(e);return(0,K.jsx)(K.Fragment,{children:[...t.values()].map(e=>(0,K.jsx)(rr,{entity:e},e.id))})}),rr=(0,W.memo)(function(e){let t=(0,G.c)(7),{entity:n}=e;if(Re(n)){let e;t[0]===n?e=t[1]:(e=(0,K.jsx)(Fn,{entity:n}),t[0]=n,t[1]=e);let r;return t[2]!==n.id||t[3]!==e?(r=(0,K.jsx)(`group`,{name:n.id,children:e}),t[2]=n.id,t[3]=e,t[4]=r):r=t[4],r}if(n.renderType===`None`)return null;let r;return t[5]===n?r=t[6]:(r=(0,K.jsx)(sr,{entity:n}),t[5]=n,t[6]=r),r});function ir(e){let t=(0,G.c)(2),{entity:n}=e,r=me(ar);if(n.id===r)return null;let i;return t[0]===n?i=t[1]:(i=(0,K.jsx)(Gn,{entity:n}),t[0]=n,t[1]=i),i}function ar(e){return e.playback.streamSnapshot?.controlPlayerGhostId}function or({entity:e}){let t=(0,W.useRef)(!1),[n,r]=(0,W.useState)(()=>(((`targetRenderFlags`in e?e.targetRenderFlags:void 0)??0)&2)!=0);return t.current=n,a(()=>{let n=(((`targetRenderFlags`in e?e.targetRenderFlags:void 0)??0)&2)!=0;n!==t.current&&(t.current=n,r(n))}),n?(0,K.jsx)(Qn,{entity:e}):null}function sr(e){let t=(0,G.c)(39),{entity:n}=e,r=n.position,i=n.scale,a;bb0:{if(!n.rotation){a=void 0;break bb0}let e;t[0]===n.rotation?e=t[1]:(e=new R(...n.rotation),t[0]=n.rotation,t[1]=e),a=e}let o=a,s=n.renderType===`Player`;if(n.renderType===`Shape`&&!n.shapeName){let e=n.id,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(`sphereGeometry`,{args:[.3,6,4]}),t[2]=a):a=t[2];let s;t[3]===n.className?s=t[4]:(s=y(n.className),t[3]=n.className,t[4]=s);let c;t[5]===s?c=t[6]:(c=(0,K.jsxs)(`mesh`,{children:[a,(0,K.jsx)(`meshBasicMaterial`,{color:s,wireframe:!0})]}),t[5]=s,t[6]=c);let l;t[7]===n?l=t[8]:(l=(0,K.jsx)(or,{entity:n}),t[7]=n,t[8]=l);let u;return t[9]!==n.id||t[10]!==r||t[11]!==o||t[12]!==i||t[13]!==c||t[14]!==l?(u=(0,K.jsxs)(`group`,{name:e,position:r,quaternion:o,scale:i,children:[c,l]}),t[9]=n.id,t[10]=r,t[11]=o,t[12]=i,t[13]=c,t[14]=l,t[15]=u):u=t[15],u}let c;t[16]!==n.className||t[17]!==n.renderType?(c=n.renderType===`Explosion`?null:(0,K.jsxs)(`mesh`,{children:[(0,K.jsx)(`sphereGeometry`,{args:[.5,8,6]}),(0,K.jsx)(`meshBasicMaterial`,{color:y(n.className),wireframe:!0})]}),t[16]=n.className,t[17]=n.renderType,t[18]=c):c=t[18];let l=c,u;t[19]===n?u=t[20]:(u=(0,K.jsx)(Fn,{entity:n}),t[19]=n,t[20]=u);let d;t[21]!==l||t[22]!==u?(d=(0,K.jsx)(Ye,{fallback:l,children:u}),t[21]=l,t[22]=u,t[23]=d):d=t[23];let f;t[24]!==n||t[25]!==s?(f=s&&(0,K.jsx)(ir,{entity:n}),t[24]=n,t[25]=s,t[26]=f):f=t[26];let p;t[27]===n?p=t[28]:(p=(0,K.jsx)(or,{entity:n}),t[27]=n,t[28]=p);let m;t[29]!==d||t[30]!==f||t[31]!==p?(m=(0,K.jsxs)(`group`,{name:`model`,children:[d,f,p]}),t[29]=d,t[30]=f,t[31]=p,t[32]=m):m=t[32];let h;return t[33]!==n.id||t[34]!==r||t[35]!==o||t[36]!==i||t[37]!==m?(h=(0,K.jsx)(`group`,{name:n.id,position:r,quaternion:o,scale:i,children:m}),t[33]=n.id,t[34]=r,t[35]=o,t[36]=i,t[37]=m,t[38]=h):h=t[38],h}function cr(){let e=(0,G.c)(3),{fov:t}=c(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[0,256,0],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r=(0,K.jsx)(Qe,{makeDefault:!0,position:n,fov:t}),e[1]=t,e[2]=r),r}function lr(e){let t=(0,G.c)(3),{children:n}=e,{debugMode:r}=l(),i;return t[0]!==n||t[1]!==r?(i=r?(0,K.jsx)(W.Suspense,{children:n}):null,t[0]=n,t[1]=r,t[2]=i):i=t[2],i}var ur=C(`InputConsumer`),dr=300,fr=Math.PI/2-.01,pr=45,mr=31,hr=40,gr=1/32,_r=2*Math.PI;function vr(e){return((Math.round(e/_r*65536)|0)<<16>>16)*_r/65536}var yr=new z,br=new z,Q=new z,xr=new A(0,0,0,`YXZ`);function Sr(e,t,n,r,i,a,o){if(r===0&&i===0&&a===0)return;let s=Math.sin(t),c=Math.cos(t),l=Math.sin(n),u=Math.cos(n),d=o*gr;e.x+=(c*r+s*u*i+s*l*a)*d,e.y+=(-s*r+c*u*i+c*l*a)*d,e.z+=(-l*i+u*a)*d}function Cr(){let{moveQueue:e,mode:t,setMode:n}=Ee(),r=ye(e=>e.adapter),i=ye(e=>e.gameStatus),s=ye(e=>e.liveReady),c=ye(e=>e.sendMoves),l=pe(),u=o(e=>e.camera),d=m(),f=(0,W.useRef)(null),h=(0,W.useRef)([]),g=(0,W.useRef)(0),_=(0,W.useRef)(0),v=(0,W.useRef)(null),y=(0,W.useRef)(0),b=(0,W.useRef)(0),x=(0,W.useRef)({x:0,y:0,z:0}),S=(0,W.useRef)(0),C=(0,W.useRef)(0),T=(0,W.useRef)({x:0,y:0,z:0}),E=(0,W.useRef)(!1),D=(0,W.useRef)({x:0,y:0,z:0}),O=(0,W.useRef)({x:0,y:0,z:0}),k=(0,W.useRef)(!1),A=(0,W.useRef)(null),j=(0,W.useRef)(0),M=(0,W.useRef)(0),N=(0,W.useRef)(0),P=(0,W.useRef)(0),F=(0,W.useRef)(0),I=(0,W.useRef)([!1,!1,!1,!1,!1,!1]),L=!!r&&(i===`connected`||i===`authenticating`);return(0,W.useEffect)(()=>{if(L&&r){if(f.current===r)return;ur.info(`wiring adapter to engine store`);let e=Se.getState(),t={source:`live`,duration:1/0,missionName:e.mapName??null,gameType:null,serverDisplayName:e.serverName??null,recorderName:e.warriorName??null,recordingDate:null,streamingPlayback:r};l.getState().setRecording(t),l.getState().setPlaybackStatus(`playing`),f.current=r,E.current=!1,k.current=!1,A.current=null,h.current.length=0,g.current=0,_.current=0,v.current=null,n(`fly`)}else !L&&f.current&&(l.getState().playback.recording?.source===`live`&&l.getState().setRecording(null),f.current=null,E.current=!1,k.current=!1,A.current=null,h.current.length=0,n(`local`))},[L,r,l,n]),(0,W.useEffect)(()=>{!s&&f.current&&(ur.info(`mission change: resetting prediction state and mode`),E.current=!1,k.current=!1,A.current=null,h.current.length=0,g.current=0,_.current=0,v.current=null,j.current=0,M.current=0,N.current=0,P.current=0,F.current=0,I.current.fill(!1),n(`fly`))},[s,n]),p(()=>{if(!f.current||i!==`connected`||!s)return;let e=j.current,t=M.current;j.current=0,M.current=0;let n=N.current,r=P.current,a=F.current;N.current=0,P.current=0,F.current=0;let o=[...I.current];I.current.fill(!1);let l=vr(e),u=vr(t);y.current+=l-e,b.current+=u-t,S.current=y.current,C.current=b.current,T.current={...x.current};let d=hr*2,p=y.current-l,m=b.current-u;Sr(x.current,p,m,n,r,a,d),o[1]=!0;let _=g.current++,v={x:n,y:r,z:a,yaw:e,pitch:t,roll:0,trigger:o,freeLook:!1},w=h.current;w.push({moveIndex:_,move:v,yaw:l,pitch:u,x:n,y:r,z:a}),w.length>pr&&w.splice(0,w.length-pr);let E=f.current.lastMoveAck;for(;w.length>0&&w[0].moveIndex0){let e=w.slice(0,mr);c(e.map(e=>e.move),e[0].moveIndex)}let L=f.current.getSnapshot();if(L!==A.current){A.current=L;let e=L?.camera;if(e?.orbitTargetId){let t=L.entities.find(t=>t.id===e.orbitTargetId);t?.position&&(D.current={...O.current},O.current={x:t.position[0],y:t.position[1],z:t.position[2]},k.current||=(D.current={...O.current},!0))}}}),a((r,a)=>{let o=e.current;if(o.length>0){let t=0,n=0,r=0,a=0,c=0,l=0,d=[!1,!1,!1,!1,!1,!1];for(let e of o){t+=e.deltaYaw,n+=e.deltaPitch,r=e.x,a=e.y,c=e.z,l+=e.delta;for(let t=0;t_.current){_.current=e;let t=h.current;for(;t.length>0&&t[0].moveIndexe.id===p.orbitTargetId);if(e?.position){let t={x:e.position[0],y:e.position[1],z:e.position[2]};O.current=t,D.current={...t},k.current=!0}}}if(E.current){if(t===`fly`)Tr(r.camera,T.current,x.current,y.current,b.current,d());else if(t===`follow`){if(!k.current)return;Er(r.camera,D.current,O.current,y.current,b.current,d(),p?.orbitDistance??4,p?.orbitTargetId)}}}),(0,W.useEffect)(()=>()=>{f.current&&=(l.getState().playback.recording?.source===`live`&&l.getState().setRecording(null),null)},[l]),null}function wr(e,t,n,r,i,a,o){if((t!==0||n!==0)&&(xr.setFromQuaternion(e.quaternion,`YXZ`),xr.y-=t,xr.x-=n,xr.x=Math.max(-fr,Math.min(fr,xr.x)),e.quaternion.setFromEuler(xr)),r!==0||i!==0||a!==0){e.getWorldDirection(yr),yr.normalize(),br.crossVectors(e.up,yr).normalize(),Q.set(0,0,0),i!==0&&Q.addScaledVector(yr,i),r!==0&&Q.addScaledVector(br,-r),a!==0&&(Q.y+=a);let t=Q.length();t>0&&(Q.multiplyScalar(Math.min(1,t)/t*dr*o),e.position.add(Q))}}function Tr(e,t,n,r,i,a){let o=t.x+(n.x-t.x)*a,s=t.y+(n.y-t.y)*a,c=t.z+(n.z-t.z)*a;e.position.set(s,c,o);let[l,u,d,f]=T(r,i);e.quaternion.set(l,u,d,f)}function Er(e,t,n,r,i,a,o,s){let c=t.x+(n.x-t.x)*a,l=t.y+(n.y-t.y)*a,u=t.z+(n.z-t.z)*a+(s!=null&&ze.getState().entities.get(s)?.renderType===`Player`?1:0),d=Math.sin(i),f=Math.cos(i),p=Math.sin(r),m=Math.cos(r),h=Math.max(.1,o),g=c-p*f*h,_=l-m*f*h,v=u+d*h;e.position.set(_,v,g);let[y,b,x,S]=T(r,i);e.quaternion.set(y,b,x,S)}function Dr(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}var Or=4,kr=2,Ar=2.75,jr=1.5,Mr=.6,Nr=3/4*(2*Math.PI),Pr=Nr/Mr,Fr=1.5,Ir=1.5,Lr=6,Rr=180,zr=1.4,Br=new re,Vr=new z,Hr=new z,Ur=new z,Wr=new z,Gr=new z,$=new R,Kr=new R,qr=new ce,Jr=new A;function Yr(e){if(e.orbitCenter)return Gr.set(e.orbitCenter[0],e.orbitCenter[1],e.orbitCenter[2]);let t=e.targets[e.currentIndex];return Gr.set(t.position[0],t.position[1],t.position[2])}function Xr(e){return e.orbitRadius??Or}function Zr(e){return Xr(e)*(kr/Or)}function Qr(e,t,n){let r=Yr(e),i=Xr(e),a=Zr(e);return n.set(r.x+Math.cos(t)*i,r.y+a,r.z+Math.sin(t)*i)}function $r(e,t,n){let r=e.getObjectByName(t.entityId);if(r){Br.setFromObject(r),Br.getCenter(Vr),Br.getSize(Hr),n.orbitCenter=[Vr.x,Vr.y,Vr.z];let e=Hr.length()/2;n.orbitRadius=Math.max(Ar,e*jr)}else n.orbitCenter=null,n.orbitRadius=null}function ei(e){return Jr.setFromQuaternion(e,`YXZ`),Jr.z=0,e.setFromEuler(Jr)}function ti(e,t){return qr.lookAt(e,t,Wr.set(0,1,0)),Kr.setFromRotationMatrix(qr),ei(Kr)}function ni(e,t,n){let r=Yr(t),i=Qr(t,n,Ur.clone()),a=new z().addVectors(e,i).multiplyScalar(.5);return a.lerp(r,.3),a.y+=Math.max(20,e.distanceTo(i)*.15),new ne([e.clone(),a,i],!1,`centripetal`)}function ri(e,t){let n=Yr(t);return Math.atan2(e.z-n.z,e.x-n.x)}function ii(e){return Math.max(Ir,Math.min(Lr,e/Rr))}function ai(e,t,n,r){let i=e.targets[e.currentIndex];if(!e.curve){e.startPos=[t.position.x,t.position.y,t.position.z],ei($.copy(t.quaternion)),e.startQuat=[$.x,$.y,$.z,$.w],$r(r,i,e);let n=t.position.clone();e.curve=ni(n,e,ri(n,e)),e.phaseDuration=ii(e.curve.getLength()),e.elapsed=0;return}e.elapsed+=n;let a=Math.min(1,Dr(e.elapsed/e.phaseDuration));e.curve.getPointAt(a,Ur),t.position.copy(Ur);let o=Dr(Math.min(1,e.elapsed/e.phaseDuration*zr)),s=ti(Ur,Yr(e));o<1&&e.startQuat?($.set(e.startQuat[0],e.startQuat[1],e.startQuat[2],e.startQuat[3]),$.slerp(s,o),t.quaternion.copy($)):t.quaternion.copy(s),e.elapsed>=e.phaseDuration&&(e.phase=`orbiting`,e.elapsed=0,e.orbitStartAngle=ri(t.position,e))}function oi(e,t,n){let r=e.targets.length===1,i=e.currentIndex>=e.targets.length-1;e.elapsed+=n;let a=e.orbitStartAngle,o=Pr+Fr,s;if(e.elapsed<=Pr)s=a+e.elapsed*Mr;else{let t=e.elapsed-Pr,n=Math.min(1,t/Fr),r=t*Mr*(1-n/2);s=a+Nr+r}Qr(e,s,Ur),t.position.copy(Ur);let c=ti(Ur,Yr(e));t.quaternion.copy(c),e.elapsed>=o&&(r||i?we.getState().cancel():we.getState().advanceTarget())}function si(){let e=(0,G.c)(4),t=o(ui),n=o(li),r=o(ci),i=(0,W.useRef)(null),s;return e[0]!==n||e[1]!==t||e[2]!==r?(s=(e,a)=>{let o=we.getState().animation;if(!o){i.current&&=(ei(n.quaternion),null);return}t(),i.current=o,o.phase===`traveling`?ai(o,n,a,r):oi(o,n,a)},e[0]=n,e[1]=t,e[2]=r,e[3]=s):s=e[3],a(s),null}function ci(e){return e.scene}function li(e){return e.camera}function ui(e){return e.invalidate}function di(e,t){return(0,W.lazy)(()=>t().then(t=>({default:t[e]})))}var fi=di(`StreamingController`,()=>H(()=>import(`./StreamingController-rKlAT2Gw.js`),__vite__mapDeps([36,1,11,12,13,8,2,3,6,7,9,14,15,16,17,18,19,20,4,5,10,21,22,23,24,25,26,27,28,29,0,30,31,37]))),pi=di(`DebugElements`,()=>H(()=>import(`./DebugElements-Dj9DyZN_.js`),__vite__mapDeps([38,1,22,11,12,13,8,2,3,6,7,9,14,15,16,17,18,19,20,23,39]))),mi=di(`Mission`,()=>H(()=>import(`./Mission-BRbZNPqp.js`),__vite__mapDeps([40,1,11,12,13,8,2,3,6,7,9,14,15,16,17,18,19,20,41,10,26,42]))),hi=di(`ChatSoundPlayer`,()=>H(()=>import(`./ChatSoundPlayer-DgLOsG9m.js`),__vite__mapDeps([43,1,2,3,6,7,8,9,14,15,16,18,27,28,21,22,11,12,13,17,19,20,23,24,26]))),gi=(0,W.memo)(function(e){let t=(0,G.c)(22),{dpr:n,onCreated:r,missionName:i,missionType:a,onLoadingChange:o}=e,s=Te(),c=xe(),l=c===`demo`||c===`live`,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,K.jsx)(De,{}),t[0]=u):u=t[0];let d;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(rt,{}),t[1]=d):d=t[1];let f,p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(er,{})}),p=(0,K.jsx)(cr,{}),t[2]=f,t[3]=p):(f=t[2],p=t[3]);let m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,K.jsx)(En,{children:(0,K.jsx)(hi,{})}),t[4]=m):m=t[4];let h;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,K.jsx)(lr,{children:(0,K.jsx)(pi,{})}),t[5]=h):h=t[5];let g;t[6]===s?g=t[7]:(g=s?(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(fi,{recording:s})}):null,t[6]=s,t[7]=g);let _;t[8]!==l||t[9]!==i||t[10]!==a||t[11]!==o?(_=l?null:(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(mi,{name:i,missionType:a,onLoadingChange:o},`${i}~${a}`)}),t[8]=l,t[9]=i,t[10]=a,t[11]=o,t[12]=_):_=t[12];let v,y;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,K.jsx)(si,{}),v=(0,K.jsx)(Cr,{}),t[13]=v,t[14]=y):(v=t[13],y=t[14]);let x;t[15]!==g||t[16]!==_?(x=(0,K.jsx)(b,{children:(0,K.jsxs)(Ce,{children:[u,(0,K.jsxs)(Fe,{children:[d,f,p,m,h,g,_,y,v]})]})}),t[15]=g,t[16]=_,t[17]=x):x=t[17];let S;return t[18]!==n||t[19]!==r||t[20]!==x?(S=(0,K.jsx)(lt,{dpr:n,onCreated:r,children:x}),t[18]=n,t[19]=r,t[20]=x,t[21]=S):S=t[21],S});export{gi as GameView}; \ No newline at end of file + `,depthWrite:!1,depthTest:!1})]})}function Cn(e,t){let{fogDistance:n,visibleDistance:r}=e;return[n,r]}function wn({fogState:e,enabled:t}){let n=o(e=>e.scene),r=o(e=>e.camera),i=(0,W.useRef)(null),s=(0,W.useMemo)(()=>We(e.fogVolumes),[e.fogVolumes]);return(0,W.useEffect)(()=>{gn||=(qe(),!0)},[]),(0,W.useEffect)(()=>{Ke();let[t,a]=Cn(e,r.position.y),o=new E(e.fogColor,t,a);return n.fog=o,i.current=o,Ue(r.position.y,s),()=>{n.fog=null,i.current=null,Ke()}},[n,r,e,s]),(0,W.useEffect)(()=>{let n=i.current;if(n)if(t){let[t,i]=Cn(e,r.position.y);n.near=t,n.far=i}else n.near=1e10,n.far=1e10},[t,e,r.position.y]),a(()=>{let n=i.current;if(!n)return;let a=r.position.y;if(Ue(a,s,t),t){let[t,r]=Cn(e,a);n.near=t,n.far=r,n.color.copy(e.fogColor)}}),null}var Tn=(0,W.memo)(function({entity:e}){let{skyData:t}=e;hn.debug(`Rendering: materialList=%s, useSkyTextures=%s`,t.materialList,t.useSkyTextures);let{fogEnabled:n}=c(),r=t.materialList||void 0,i=(0,W.useMemo)(()=>_n(t.skySolidColor),[t.skySolidColor]),a=t.useSkyTextures,s=(0,W.useMemo)(()=>mn(t),[t]);hn.debug(`fogState: fogColor=(%s, %s, %s) visibleDistance=%d fogDistance=%d enabled=%s volumes=%d`,t.fogColor.r.toFixed(3),t.fogColor.g.toFixed(3),t.fogColor.b.toFixed(3),t.visibleDistance,t.fogDistance,s.enabled,s.fogVolumes.length);let l=(0,W.useMemo)(()=>_n(t.fogColor),[t.fogColor]),u=i||l,d=s.enabled&&n,f=s.fogColor,p=o(e=>e.scene),m=o(e=>e.gl);(0,W.useEffect)(()=>{if(d){let e=f.clone();p.background=e,m.setClearColor(e)}else if(u){let e=u[0].clone();p.background=e,m.setClearColor(e)}else p.background=null;return()=>{p.background=null}},[p,m,d,f,u]);let h=i?.[1];return(0,K.jsxs)(K.Fragment,{children:[r&&a&&r.length>0?(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(xn,{materialList:r,fogColor:d?f:void 0,fogState:d?s:void 0},r)}):h?(0,K.jsx)(Sn,{skyColor:h,fogColor:d?f:void 0,fogState:d?s:void 0}):null,(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(dn,{scene:t})}),s.enabled?(0,K.jsx)(wn,{fogState:s,enabled:n}):null]})});function En(e){let t=(0,G.c)(3),{children:n}=e,{audioEnabled:r}=c(),i;return t[0]!==r||t[1]!==n?(i=r?(0,K.jsx)(W.Suspense,{children:n}):null,t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function Z(e,t){let n=(0,W.lazy)(()=>t().then(t=>({default:t[e]}))),r=t=>{let r=(0,G.c)(5),{entity:i}=t,a=`${e}:${i.id}`,o;r[0]===i?o=r[1]:(o=(0,K.jsx)(n,{entity:i}),r[0]=i,r[1]=o);let s;return r[2]!==a||r[3]!==o?(s=(0,K.jsx)(Le,{name:a,children:o}),r[2]=a,r[3]=o,r[4]=s):s=r[4],s};return r.displayName=`createLazy(${e})`,r}var Dn=Z(`PlayerModel`,()=>H(()=>import(`./PlayerModel-CkXV0XVj.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]))),On=Z(`ExplosionShape`,()=>H(()=>import(`./ShapeModel-DNodPIU5.js`),__vite__mapDeps([31,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30]))),kn=Z(`TracerProjectile`,()=>H(()=>import(`./Projectiles-0l_BpFsV.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]))),An=Z(`SpriteProjectile`,()=>H(()=>import(`./Projectiles-0l_BpFsV.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]))),jn=Z(`ForceFieldBare`,()=>H(()=>import(`./ForceFieldBare-Boq27vkA.js`),__vite__mapDeps([33,1,2,3,5,6,7,8,9,13,14,15,28,25]))),Mn=Z(`AudioEmitter`,()=>H(()=>import(`./AudioEmitter--xCrCrsV.js`),__vite__mapDeps([27,1,2,3,6,7,8,9,13,14,15,17,26,20,21,11,12,16,18,19,22,23,25]))),Nn=Z(`WaterBlock`,()=>H(()=>import(`./WaterBlock-DPJdPJLc.js`),__vite__mapDeps([34,1,2,3,22,5,6,7,8,9,13,14,15,24,25,18]))),Pn=Z(`WeaponModel`,()=>H(()=>import(`./ShapeModel-DNodPIU5.js`),__vite__mapDeps([31,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,30]))),Fn=(0,W.memo)(function(e){let t=(0,G.c)(26),{entity:n}=e;switch(n.renderType){case`Shape`:{let e;return t[0]===n?e=t[1]:(e=(0,K.jsx)(In,{entity:n}),t[0]=n,t[1]=e),e}case`ForceFieldBare`:{let e;return t[2]===n?e=t[3]:(e=(0,K.jsx)(jn,{entity:n}),t[2]=n,t[3]=e),e}case`Player`:{let e;return t[4]===n?e=t[5]:(e=(0,K.jsx)(Dn,{entity:n}),t[4]=n,t[5]=e),e}case`Explosion`:{let e;return t[6]===n?e=t[7]:(e=(0,K.jsx)(On,{entity:n}),t[6]=n,t[7]=e),e}case`Tracer`:{let e;return t[8]===n?e=t[9]:(e=(0,K.jsx)(kn,{entity:n}),t[8]=n,t[9]=e),e}case`Sprite`:{let e;return t[10]===n?e=t[11]:(e=(0,K.jsx)(An,{entity:n}),t[10]=n,t[11]=e),e}case`AudioEmitter`:{let e;return t[12]===n?e=t[13]:(e=(0,K.jsx)(En,{children:(0,K.jsx)(Mn,{entity:n})}),t[12]=n,t[13]=e),e}case`Camera`:{let e;return t[14]===n?e=t[15]:(e=(0,K.jsx)(ut,{entity:n}),t[14]=n,t[15]=e),e}case`WayPoint`:{let e;return t[16]===n?e=t[17]:(e=(0,K.jsx)(dt,{entity:n}),t[16]=n,t[17]=e),e}case`TerrainBlock`:{let e;return t[18]===n.terrainData?e=t[19]:(e=(0,K.jsx)(Nt,{scene:n.terrainData}),t[18]=n.terrainData,t[19]=e),e}case`InteriorInstance`:{let e;return t[20]===n.interiorData?e=t[21]:(e=(0,K.jsx)(Jt,{scene:n.interiorData}),t[20]=n.interiorData,t[21]=e),e}case`Sky`:{let e;return t[22]===n?e=t[23]:(e=(0,K.jsx)(Tn,{entity:n}),t[22]=n,t[23]=e),e}case`Sun`:return null;case`WaterBlock`:{let e;return t[24]===n?e=t[25]:(e=(0,K.jsx)(Nn,{entity:n}),t[24]=n,t[25]=e),e}case`MissionArea`:return null;case`None`:return null;default:return null}});function In(e){let t=(0,G.c)(24),{entity:n}=e,{animationEnabled:r}=c(),i=(0,W.useRef)(null),o;if(t[0]!==r||t[1]!==n.rotate?(o=()=>{if(!i.current||!n.rotate||!r)return;let e=performance.now()/1e3;i.current.rotation.y=e/3*Math.PI*2},t[0]=r,t[1]=n.rotate,t[2]=o):o=t[2],a(o),!n.shapeName)throw Error(`Shape entity missing shapeName: ${n.id}`);let s=n.runtimeObject,l=n.shapeType??`StaticShape`,u=n.dataBlock?.toLowerCase()===`flag`,d=n.teamId&&n.teamId>0?S[n.teamId]:null,f=u&&d?`${d} Flag`:null,p=n.shapeType===`Item`?`pink`:n.threads?`#00ff88`:`yellow`,m=n.rotate?i:void 0,h=s?void 0:n,_;t[3]===f?_=t[4]:(_=f?(0,K.jsx)(Ie,{opacity:.6,children:f}):null,t[3]=f,t[4]=_);let y;t[5]!==p||t[6]!==h||t[7]!==_?(y=(0,K.jsx)(g,{loadingColor:p,streamEntity:h,children:_}),t[5]=p,t[6]=h,t[7]=_,t[8]=y):y=t[8];let b;t[9]!==n.barrelShapeName||t[10]!==s?(b=n.barrelShapeName&&(0,K.jsx)(x,{object:s,shapeName:n.barrelShapeName,type:`Turret`,children:(0,K.jsx)(`group`,{position:[0,1.5,0],children:(0,K.jsx)(g,{})})}),t[9]=n.barrelShapeName,t[10]=s,t[11]=b):b=t[11];let C;t[12]===n?C=t[13]:(C=n.weaponShape&&(0,K.jsx)(Ye,{fallback:(0,K.jsx)(v,{color:`red`,label:n.weaponShape}),children:(0,K.jsx)(Le,{name:`Weapon:${n.id}/${n.weaponShape}`,fallback:(0,K.jsx)(v,{color:`cyan`,label:n.weaponShape}),children:(0,K.jsx)(Pn,{entity:n})})}),t[12]=n,t[13]=C);let w;t[14]!==m||t[15]!==y||t[16]!==b||t[17]!==C?(w=(0,K.jsxs)(`group`,{ref:m,children:[y,b,C]}),t[14]=m,t[15]=y,t[16]=b,t[17]=C,t[18]=w):w=t[18];let T;return t[19]!==n.shapeName||t[20]!==l||t[21]!==w||t[22]!==s?(T=(0,K.jsx)(x,{object:s,shapeName:n.shapeName,type:l,children:w}),t[19]=n.shapeName,t[20]=l,t[21]=w,t[22]=s,t[23]=T):T=t[23],T}var Ln={Root:`_Root_dlg08_1`,Top:`_Top_dlg08_9 _Root_dlg08_1`,Bottom:`_Bottom_dlg08_14 _Root_dlg08_1`,IffArrow:`_IffArrow_dlg08_19`,Name:`_Name_dlg08_26`,HealthBar:`_HealthBar_dlg08_34`,HealthFill:`_HealthFill_dlg08_43`},Rn=150,zn=.1,Bn=-.2,Vn=U(`gui/hud_alliedtriangle`),Hn=U(`gui/hud_enemytriangle`),Un=new z,Wn=[];function Gn(e){let t=(0,G.c)(21),{entity:n}=e,r=_(n.shapeName??n.dataBlock),i=o(qn),s=(0,W.useRef)(null),c=(0,W.useRef)(null),l=(0,W.useRef)(null),u=(0,W.useRef)(null),d=(0,W.useRef)(null),[f,p]=(0,W.useState)(!0),m=(0,W.useRef)(null),g;t[0]===r.scene?g=t[1]:(g=new re().setFromObject(r.scene),t[0]=r.scene,t[1]=g);let v=g.max.y+zn,y=n.keyframes??Wn,b;t[2]===y?b=t[3]:(b=y.some(Kn),t[2]=y,t[3]=b);let x=b,S;t[4]!==i||t[5]!==n.id||t[6]!==n.iffColor||t[7]!==n.playerName||t[8]!==x||t[9]!==f||t[10]!==y?(S=()=>{let e=s.current;if(!e)return;e.getWorldPosition(Un);let t=i.position.distanceTo(Un),r=i.matrixWorld.elements,a=!((Un.x-r[12])*-r[8]+(Un.y-r[13])*-r[9]+(Un.z-r[14])*-r[10]<0)&&t=1){c.current&&(c.current.style.opacity=`0`),l.current&&(l.current.style.opacity=`0`);return}let _=Math.max(0,Math.min(1,1-t/Rn)).toString();if(c.current&&(c.current.style.opacity=_),l.current&&(l.current.style.opacity=_),m.current){let e=n.playerName??n.id;m.current.textContent!==e&&(m.current.textContent=e)}if(d.current&&n.iffColor){let e=n.iffColor.r>n.iffColor.g?Hn:Vn;d.current.getAttribute(`src`)!==e&&(d.current.src=e)}u.current&&x&&(u.current.style.width=`${Math.max(0,Math.min(100,g*100))}%`,u.current.style.background=n.iffColor?`rgb(${n.iffColor.r}, ${n.iffColor.g}, ${n.iffColor.b})`:``)},t[4]=i,t[5]=n.id,t[6]=n.iffColor,t[7]=n.playerName,t[8]=x,t[9]=f,t[10]=y,t[11]=S):S=t[11],a(S);let C=n.iffColor&&n.iffColor.r>n.iffColor.g?Hn:Vn,w;t[12]!==n.id||t[13]!==n.playerName||t[14]!==x||t[15]!==v||t[16]!==C||t[17]!==f?(w=f&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(ge,{position:[0,v,0],center:!0,children:(0,K.jsx)(`div`,{ref:c,className:Ln.Top,children:(0,K.jsx)(`img`,{ref:d,className:Ln.IffArrow,src:C,alt:``})})}),(0,K.jsx)(ge,{position:[0,Bn,0],center:!0,children:(0,K.jsxs)(`div`,{ref:l,className:Ln.Bottom,children:[(0,K.jsx)(`div`,{ref:m,className:Ln.Name,children:n.playerName??n.id}),x&&(0,K.jsx)(`div`,{className:Ln.HealthBar,children:(0,K.jsx)(`div`,{ref:u,className:Ln.HealthFill})})]})})]}),t[12]=n.id,t[13]=n.playerName,t[14]=x,t[15]=v,t[16]=C,t[17]=f,t[18]=w):w=t[18];let T;return t[19]===w?T=t[20]:(T=(0,K.jsx)(`group`,{ref:s,children:w}),t[19]=w,t[20]=T),T}function Kn(e){return e.health!=null}function qn(e){return e.camera}var Jn={Root:`_Root_yuidw_1`,Distance:`_Distance_yuidw_9`,Icon:`_Icon_yuidw_18`},Yn=1.5,Xn=U(`commander/MiniIcons/com_flag_grey`),Zn=new z;function Qn(e){let t=(0,G.c)(9),{entity:n}=e,r=(0,W.useRef)(null),i=(0,W.useRef)(null),s=(0,W.useRef)(null),c=o($n),l;t[0]!==c||t[1]!==n.iffColor?(l=()=>{if(i.current&&n.iffColor){let{r:e,g:t,b:r}=n.iffColor;i.current.style.backgroundColor=`rgb(${e},${t},${r})`}if(s.current&&r.current){r.current.getWorldPosition(Zn);let e=c.position.distanceTo(Zn);s.current.textContent=e.toFixed(1)}},t[0]=c,t[1]=n.iffColor,t[2]=l):l=t[2],a(l);let u=n.iffColor?`rgb(${n.iffColor.r},${n.iffColor.g},${n.iffColor.b})`:`rgb(200,200,200)`,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=[0,Yn,0],t[3]=d):d=t[3];let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,K.jsx)(`span`,{ref:s,className:Jn.Distance}),t[4]=f):f=t[4];let p;t[5]===u?p=t[6]:(p={backgroundColor:u,"--flag-icon-url":`url(${Xn})`},t[5]=u,t[6]=p);let m=p,h;return t[7]===m?h=t[8]:(h=(0,K.jsx)(`group`,{ref:r,children:(0,K.jsx)(ge,{position:d,center:!0,children:(0,K.jsxs)(`div`,{className:Jn.Root,children:[f,(0,K.jsx)(`div`,{ref:i,className:Jn.Icon,style:m})]})})}),t[7]=m,t[8]=h),h}function $n(e){return e.camera}function er(){let e=(0,G.c)(1),t=tr,n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,K.jsx)(`group`,{ref:t,children:(0,K.jsx)(nr,{})}),e[0]=n):n=e[0],n}function tr(e){ze.setState({root:e})}var nr=(0,W.memo)(function(){let e=ke(),t=(0,W.useRef)(new Map).current,n=new Set;for(let r of e)n.add(r.id),t.set(r.id,r);for(let e of t.keys())n.has(e)||t.delete(e);return(0,K.jsx)(K.Fragment,{children:[...t.values()].map(e=>(0,K.jsx)(rr,{entity:e},e.id))})}),rr=(0,W.memo)(function(e){let t=(0,G.c)(7),{entity:n}=e;if(Re(n)){let e;t[0]===n?e=t[1]:(e=(0,K.jsx)(Fn,{entity:n}),t[0]=n,t[1]=e);let r;return t[2]!==n.id||t[3]!==e?(r=(0,K.jsx)(`group`,{name:n.id,children:e}),t[2]=n.id,t[3]=e,t[4]=r):r=t[4],r}if(n.renderType===`None`)return null;let r;return t[5]===n?r=t[6]:(r=(0,K.jsx)(sr,{entity:n}),t[5]=n,t[6]=r),r});function ir(e){let t=(0,G.c)(2),{entity:n}=e,r=me(ar);if(n.id===r)return null;let i;return t[0]===n?i=t[1]:(i=(0,K.jsx)(Gn,{entity:n}),t[0]=n,t[1]=i),i}function ar(e){return e.playback.streamSnapshot?.controlPlayerGhostId}function or({entity:e}){let t=(0,W.useRef)(!1),[n,r]=(0,W.useState)(()=>(((`targetRenderFlags`in e?e.targetRenderFlags:void 0)??0)&2)!=0);return t.current=n,a(()=>{let n=(((`targetRenderFlags`in e?e.targetRenderFlags:void 0)??0)&2)!=0;n!==t.current&&(t.current=n,r(n))}),n?(0,K.jsx)(Qn,{entity:e}):null}function sr(e){let t=(0,G.c)(39),{entity:n}=e,r=n.position,i=n.scale,a;bb0:{if(!n.rotation){a=void 0;break bb0}let e;t[0]===n.rotation?e=t[1]:(e=new R(...n.rotation),t[0]=n.rotation,t[1]=e),a=e}let o=a,s=n.renderType===`Player`;if(n.renderType===`Shape`&&!n.shapeName){let e=n.id,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(`sphereGeometry`,{args:[.3,6,4]}),t[2]=a):a=t[2];let s;t[3]===n.className?s=t[4]:(s=y(n.className),t[3]=n.className,t[4]=s);let c;t[5]===s?c=t[6]:(c=(0,K.jsxs)(`mesh`,{children:[a,(0,K.jsx)(`meshBasicMaterial`,{color:s,wireframe:!0})]}),t[5]=s,t[6]=c);let l;t[7]===n?l=t[8]:(l=(0,K.jsx)(or,{entity:n}),t[7]=n,t[8]=l);let u;return t[9]!==n.id||t[10]!==r||t[11]!==o||t[12]!==i||t[13]!==c||t[14]!==l?(u=(0,K.jsxs)(`group`,{name:e,position:r,quaternion:o,scale:i,children:[c,l]}),t[9]=n.id,t[10]=r,t[11]=o,t[12]=i,t[13]=c,t[14]=l,t[15]=u):u=t[15],u}let c;t[16]!==n.className||t[17]!==n.renderType?(c=n.renderType===`Explosion`?null:(0,K.jsxs)(`mesh`,{children:[(0,K.jsx)(`sphereGeometry`,{args:[.5,8,6]}),(0,K.jsx)(`meshBasicMaterial`,{color:y(n.className),wireframe:!0})]}),t[16]=n.className,t[17]=n.renderType,t[18]=c):c=t[18];let l=c,u;t[19]===n?u=t[20]:(u=(0,K.jsx)(Fn,{entity:n}),t[19]=n,t[20]=u);let d;t[21]!==l||t[22]!==u?(d=(0,K.jsx)(Ye,{fallback:l,children:u}),t[21]=l,t[22]=u,t[23]=d):d=t[23];let f;t[24]!==n||t[25]!==s?(f=s&&(0,K.jsx)(ir,{entity:n}),t[24]=n,t[25]=s,t[26]=f):f=t[26];let p;t[27]===n?p=t[28]:(p=(0,K.jsx)(or,{entity:n}),t[27]=n,t[28]=p);let m;t[29]!==d||t[30]!==f||t[31]!==p?(m=(0,K.jsxs)(`group`,{name:`model`,children:[d,f,p]}),t[29]=d,t[30]=f,t[31]=p,t[32]=m):m=t[32];let h;return t[33]!==n.id||t[34]!==r||t[35]!==o||t[36]!==i||t[37]!==m?(h=(0,K.jsx)(`group`,{name:n.id,position:r,quaternion:o,scale:i,children:m}),t[33]=n.id,t[34]=r,t[35]=o,t[36]=i,t[37]=m,t[38]=h):h=t[38],h}function cr(){let e=(0,G.c)(3),{fov:t}=c(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[0,256,0],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r=(0,K.jsx)(Qe,{makeDefault:!0,position:n,fov:t}),e[1]=t,e[2]=r),r}function lr(e){let t=(0,G.c)(3),{children:n}=e,{debugMode:r}=l(),i;return t[0]!==n||t[1]!==r?(i=r?(0,K.jsx)(W.Suspense,{children:n}):null,t[0]=n,t[1]=r,t[2]=i):i=t[2],i}var ur=C(`InputConsumer`),dr=300,fr=Math.PI/2-.01,pr=45,mr=31,hr=40,gr=1/32,_r=2*Math.PI;function vr(e){return((Math.round(e/_r*65536)|0)<<16>>16)*_r/65536}var yr=new z,br=new z,Q=new z,xr=new A(0,0,0,`YXZ`);function Sr(e,t,n,r,i,a,o){if(r===0&&i===0&&a===0)return;let s=Math.sin(t),c=Math.cos(t),l=Math.sin(n),u=Math.cos(n),d=o*gr;e.x+=(c*r+s*u*i+s*l*a)*d,e.y+=(-s*r+c*u*i+c*l*a)*d,e.z+=(-l*i+u*a)*d}function Cr(){let{moveQueue:e,mode:t,setMode:n}=Te(),r=ye(e=>e.adapter),i=ye(e=>e.gameStatus),s=ye(e=>e.liveReady),c=ye(e=>e.sendMoves),l=pe(),u=o(e=>e.camera),d=m(),f=(0,W.useRef)(null),h=(0,W.useRef)([]),g=(0,W.useRef)(0),_=(0,W.useRef)(0),v=(0,W.useRef)(null),y=(0,W.useRef)(0),b=(0,W.useRef)(0),x=(0,W.useRef)({x:0,y:0,z:0}),S=(0,W.useRef)(0),C=(0,W.useRef)(0),T=(0,W.useRef)({x:0,y:0,z:0}),E=(0,W.useRef)(!1),D=(0,W.useRef)({x:0,y:0,z:0}),O=(0,W.useRef)({x:0,y:0,z:0}),k=(0,W.useRef)(!1),A=(0,W.useRef)(null),j=(0,W.useRef)(0),M=(0,W.useRef)(0),N=(0,W.useRef)(0),P=(0,W.useRef)(0),F=(0,W.useRef)(0),I=(0,W.useRef)([!1,!1,!1,!1,!1,!1]),L=!!r&&(i===`connected`||i===`authenticating`);return(0,W.useEffect)(()=>{if(L&&r){if(f.current===r)return;ur.info(`wiring adapter to engine store`);let e=Se.getState(),t={source:`live`,duration:1/0,missionName:e.mapName??null,gameType:null,serverDisplayName:e.serverName??null,recorderName:e.warriorName??null,recordingDate:null,streamingPlayback:r};l.getState().setRecording(t),l.getState().setPlaybackStatus(`playing`),f.current=r,E.current=!1,k.current=!1,A.current=null,h.current.length=0,g.current=0,_.current=0,v.current=null,n(`fly`)}else !L&&f.current&&(l.getState().playback.recording?.source===`live`&&l.getState().setRecording(null),f.current=null,E.current=!1,k.current=!1,A.current=null,h.current.length=0,n(`local`))},[L,r,l,n]),(0,W.useEffect)(()=>{!s&&f.current&&(ur.info(`mission change: resetting prediction state and mode`),E.current=!1,k.current=!1,A.current=null,h.current.length=0,g.current=0,_.current=0,v.current=null,j.current=0,M.current=0,N.current=0,P.current=0,F.current=0,I.current.fill(!1),n(`fly`))},[s,n]),p(()=>{if(!f.current||i!==`connected`||!s)return;let e=j.current,t=M.current;j.current=0,M.current=0;let n=N.current,r=P.current,a=F.current;N.current=0,P.current=0,F.current=0;let o=[...I.current];I.current.fill(!1);let l=vr(e),u=vr(t);y.current+=l-e,b.current+=u-t,S.current=y.current,C.current=b.current,T.current={...x.current};let d=hr*2,p=y.current-l,m=b.current-u;Sr(x.current,p,m,n,r,a,d),o[1]=!0;let _=g.current++,v={x:n,y:r,z:a,yaw:e,pitch:t,roll:0,trigger:o,freeLook:!1},w=h.current;w.push({moveIndex:_,move:v,yaw:l,pitch:u,x:n,y:r,z:a}),w.length>pr&&w.splice(0,w.length-pr);let E=f.current.lastMoveAck;for(;w.length>0&&w[0].moveIndex0){let e=w.slice(0,mr);c(e.map(e=>e.move),e[0].moveIndex)}let L=f.current.getSnapshot();if(L!==A.current){A.current=L;let e=L?.camera;if(e?.orbitTargetId){let t=L.entities.find(t=>t.id===e.orbitTargetId);t?.position&&(D.current={...O.current},O.current={x:t.position[0],y:t.position[1],z:t.position[2]},k.current||=(D.current={...O.current},!0))}}}),a((r,a)=>{let o=e.current;if(o.length>0){let t=0,n=0,r=0,a=0,c=0,l=0,d=[!1,!1,!1,!1,!1,!1];for(let e of o){t+=e.deltaYaw,n+=e.deltaPitch,r=e.x,a=e.y,c=e.z,l+=e.delta;for(let t=0;t_.current){_.current=e;let t=h.current;for(;t.length>0&&t[0].moveIndexe.id===p.orbitTargetId);if(e?.position){let t={x:e.position[0],y:e.position[1],z:e.position[2]};O.current=t,D.current={...t},k.current=!0}}}if(E.current){if(t===`fly`)Tr(r.camera,T.current,x.current,y.current,b.current,d());else if(t===`follow`){if(!k.current)return;Er(r.camera,D.current,O.current,y.current,b.current,d(),p?.orbitDistance??4,p?.orbitTargetId)}}}),(0,W.useEffect)(()=>()=>{f.current&&=(l.getState().playback.recording?.source===`live`&&l.getState().setRecording(null),null)},[l]),null}function wr(e,t,n,r,i,a,o){if((t!==0||n!==0)&&(xr.setFromQuaternion(e.quaternion,`YXZ`),xr.y-=t,xr.x-=n,xr.x=Math.max(-fr,Math.min(fr,xr.x)),e.quaternion.setFromEuler(xr)),r!==0||i!==0||a!==0){e.getWorldDirection(yr),yr.normalize(),br.crossVectors(e.up,yr).normalize(),Q.set(0,0,0),i!==0&&Q.addScaledVector(yr,i),r!==0&&Q.addScaledVector(br,-r),a!==0&&(Q.y+=a);let t=Q.length();t>0&&(Q.multiplyScalar(Math.min(1,t)/t*dr*o),e.position.add(Q))}}function Tr(e,t,n,r,i,a){let o=t.x+(n.x-t.x)*a,s=t.y+(n.y-t.y)*a,c=t.z+(n.z-t.z)*a;e.position.set(s,c,o);let[l,u,d,f]=T(r,i);e.quaternion.set(l,u,d,f)}function Er(e,t,n,r,i,a,o,s){let c=t.x+(n.x-t.x)*a,l=t.y+(n.y-t.y)*a,u=t.z+(n.z-t.z)*a+(s!=null&&ze.getState().entities.get(s)?.renderType===`Player`?1:0),d=Math.sin(i),f=Math.cos(i),p=Math.sin(r),m=Math.cos(r),h=Math.max(.1,o),g=c-p*f*h,_=l-m*f*h,v=u+d*h;e.position.set(_,v,g);let[y,b,x,S]=T(r,i);e.quaternion.set(y,b,x,S)}function Dr(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}var Or=4,kr=2,Ar=2.75,jr=1.5,Mr=.6,Nr=3/4*(2*Math.PI),Pr=Nr/Mr,Fr=1.5,Ir=1.5,Lr=6,Rr=180,zr=1.4,Br=new re,Vr=new z,Hr=new z,Ur=new z,Wr=new z,Gr=new z,$=new R,Kr=new R,qr=new ce,Jr=new A;function Yr(e){if(e.orbitCenter)return Gr.set(e.orbitCenter[0],e.orbitCenter[1],e.orbitCenter[2]);let t=e.targets[e.currentIndex];return Gr.set(t.position[0],t.position[1],t.position[2])}function Xr(e){return e.orbitRadius??Or}function Zr(e){return Xr(e)*(kr/Or)}function Qr(e,t,n){let r=Yr(e),i=Xr(e),a=Zr(e);return n.set(r.x+Math.cos(t)*i,r.y+a,r.z+Math.sin(t)*i)}function $r(e,t,n){let r=e.getObjectByName(t.entityId);if(r){Br.setFromObject(r),Br.getCenter(Vr),Br.getSize(Hr),n.orbitCenter=[Vr.x,Vr.y,Vr.z];let e=Hr.length()/2;n.orbitRadius=Math.max(Ar,e*jr)}else n.orbitCenter=null,n.orbitRadius=null}function ei(e){return Jr.setFromQuaternion(e,`YXZ`),Jr.z=0,e.setFromEuler(Jr)}function ti(e,t){return qr.lookAt(e,t,Wr.set(0,1,0)),Kr.setFromRotationMatrix(qr),ei(Kr)}function ni(e,t,n){let r=Yr(t),i=Qr(t,n,Ur.clone()),a=e.distanceTo(i);if(a<20)return new ne([e.clone(),i],!1,`centripetal`);let o=new z().addVectors(e,i).multiplyScalar(.5);return o.lerp(r,.3),o.y+=a*.15,new ne([e.clone(),o,i],!1,`centripetal`)}function ri(e,t){let n=Yr(t);return Math.atan2(e.z-n.z,e.x-n.x)}function ii(e){return Math.max(Ir,Math.min(Lr,e/Rr))}function ai(e,t,n,r){let i=e.targets[e.currentIndex];if(!e.curve){e.startPos=[t.position.x,t.position.y,t.position.z],ei($.copy(t.quaternion)),e.startQuat=[$.x,$.y,$.z,$.w],$r(r,i,e);let n=t.position.clone();e.curve=ni(n,e,ri(n,e)),e.phaseDuration=ii(e.curve.getLength()),e.elapsed=0;return}e.elapsed+=n;let a=Math.min(1,Dr(e.elapsed/e.phaseDuration));e.curve.getPointAt(a,Ur),t.position.copy(Ur);let o=Dr(Math.min(1,e.elapsed/e.phaseDuration*zr)),s=ti(Ur,Yr(e));o<1&&e.startQuat?($.set(e.startQuat[0],e.startQuat[1],e.startQuat[2],e.startQuat[3]),$.slerp(s,o),t.quaternion.copy($)):t.quaternion.copy(s),e.elapsed>=e.phaseDuration&&(e.phase=`orbiting`,e.elapsed=0,e.orbitStartAngle=ri(t.position,e))}function oi(e,t,n){let r=e.targets.length===1,i=e.currentIndex>=e.targets.length-1;e.elapsed+=n;let a=e.orbitStartAngle,o=Pr+Fr,s;if(e.elapsed<=Pr)s=a+e.elapsed*Mr;else{let t=e.elapsed-Pr,n=Math.min(1,t/Fr),r=t*Mr*(1-n/2);s=a+Nr+r}Qr(e,s,Ur),t.position.copy(Ur);let c=ti(Ur,Yr(e));t.quaternion.copy(c),e.elapsed>=o&&(r||i?De.getState().cancel():De.getState().advanceTarget())}function si(){let e=(0,G.c)(4),t=o(ui),n=o(li),r=o(ci),i=(0,W.useRef)(null),s;return e[0]!==n||e[1]!==t||e[2]!==r?(s=(e,a)=>{let o=De.getState().animation;if(!o){i.current&&=(ei(n.quaternion),null);return}t(),i.current=o,o.phase===`traveling`?ai(o,n,a,r):oi(o,n,a)},e[0]=n,e[1]=t,e[2]=r,e[3]=s):s=e[3],a(s),null}function ci(e){return e.scene}function li(e){return e.camera}function ui(e){return e.invalidate}function di(e,t){return(0,W.lazy)(()=>t().then(t=>({default:t[e]})))}var fi=di(`StreamingController`,()=>H(()=>import(`./StreamingController-CUy11rkV.js`),__vite__mapDeps([35,1,11,12,8,2,3,6,7,9,13,14,15,16,17,18,19,4,5,10,20,21,22,23,24,25,26,27,28,0,29,30,36]))),pi=di(`DebugElements`,()=>H(()=>import(`./DebugElements-Alpm8Fnw.js`),__vite__mapDeps([37,1,21,11,12,8,2,3,6,7,9,13,14,15,16,17,18,19,22,38]))),mi=di(`Mission`,()=>H(()=>import(`./Mission-CvvW4W8s.js`),__vite__mapDeps([39,1,11,12,8,2,3,6,7,9,13,14,15,16,17,18,19,40,10,25,41]))),hi=di(`ChatSoundPlayer`,()=>H(()=>import(`./ChatSoundPlayer-DXhoTssw.js`),__vite__mapDeps([42,1,2,3,6,7,8,9,13,14,15,17,26,27,20,21,11,12,16,18,19,22,23,25]))),gi=(0,W.memo)(function(e){let t=(0,G.c)(22),{dpr:n,onCreated:r,missionName:i,missionType:a,onLoadingChange:o}=e,s=we(),c=xe(),l=c===`demo`||c===`live`,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,K.jsx)(Ee,{}),t[0]=u):u=t[0];let d;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(rt,{}),t[1]=d):d=t[1];let f,p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(er,{})}),p=(0,K.jsx)(cr,{}),t[2]=f,t[3]=p):(f=t[2],p=t[3]);let m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,K.jsx)(En,{children:(0,K.jsx)(hi,{})}),t[4]=m):m=t[4];let h;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,K.jsx)(lr,{children:(0,K.jsx)(pi,{})}),t[5]=h):h=t[5];let g;t[6]===s?g=t[7]:(g=s?(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(fi,{recording:s})}):null,t[6]=s,t[7]=g);let _;t[8]!==l||t[9]!==i||t[10]!==a||t[11]!==o?(_=l?null:(0,K.jsx)(W.Suspense,{children:(0,K.jsx)(mi,{name:i,missionType:a,onLoadingChange:o},`${i}~${a}`)}),t[8]=l,t[9]=i,t[10]=a,t[11]=o,t[12]=_):_=t[12];let v,y;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,K.jsx)(si,{}),v=(0,K.jsx)(Cr,{}),t[13]=v,t[14]=y):(v=t[13],y=t[14]);let x;t[15]!==g||t[16]!==_?(x=(0,K.jsx)(b,{children:(0,K.jsxs)(Ce,{children:[u,(0,K.jsxs)(Fe,{children:[d,f,p,m,h,g,_,y,v]})]})}),t[15]=g,t[16]=_,t[17]=x):x=t[17];let S;return t[18]!==n||t[19]!==r||t[20]!==x?(S=(0,K.jsx)(lt,{dpr:n,onCreated:r,children:x}),t[18]=n,t[19]=r,t[20]=x,t[21]=S):S=t[21],S});export{gi as GameView}; \ No newline at end of file diff --git a/docs/assets/GenericShape-DCImTyf2.js b/docs/assets/GenericShape-BbryN-E_.js similarity index 99% rename from docs/assets/GenericShape-DCImTyf2.js rename to docs/assets/GenericShape-BbryN-E_.js index 29a2c9fd..e75dd396 100644 --- a/docs/assets/GenericShape-DCImTyf2.js +++ b/docs/assets/GenericShape-BbryN-E_.js @@ -1,4 +1,4 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as i,i as a}from"./react-three-fiber.esm-dhSWjERg.js";import{a as o,i as s}from"./SettingsProvider-2cUUftaX.js";import{n as c,r as l,t as u}from"./useBaseQuery-CZsAiqUk.js";import{t as d}from"./logger-zy3b0zcG.js";import{$ as f,B as p,Ct as m,D as h,Dt as g,F as _,Ft as v,G as y,H as b,Ht as x,I as S,J as C,K as w,L as T,Mt as E,N as D,Nt as O,Ot as k,P as ee,Q as te,R as ne,Rt as re,St as ie,T as ae,U as oe,Ut as A,W as se,Wt as ce,X as le,Z as j,_t as ue,a as de,at as M,b as N,ct as fe,d as pe,dt as me,et as he,f as ge,ft as _e,g as ve,h as ye,ht as be,it as P,j as xe,jt as Se,lt as Ce,m as F,mt as we,nt as I,o as Te,ot as L,pt as Ee,q as De,rt as Oe,st as ke,tt as Ae,ut as je,v as R,vt as Me,xt as Ne,yt as Pe,z as Fe,zt as Ie}from"./three.module-CwgFV8Kd.js";import{i as Le,n as Re,r as ze}from"./engineStore-Cio8vU1L.js";import{t as Be}from"./Texture-CI_Y9elU.js";import{a as Ve,c as He,d as Ue,p as We,t as Ge}from"./loaders-C_1cX1lR.js";import{t as Ke}from"./FloatingLabel-CXLHy5vc.js";import{c as qe,f as Je,l as Ye,o as Xe,t as Ze,u as Qe}from"./globalFogUniforms-DQn9KFk6.js";function $e(e,t){return u({...e,enabled:!0,suspense:!0,throwOnError:c,placeholderData:void 0},l,t)}var et=parseInt(`182`.replace(/\D+/g,``));function tt(e,t){if(t===0)return console.warn(`THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.`),e;if(t===2||t===1){let n=e.getIndex();if(n===null){let t=[],r=e.getAttribute(`position`);if(r!==void 0){for(let e=0;e=2.0 are supported.`));return}let s=new Jt(i,{path:t||this.resourcePath||``,crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});s.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e=0&&o[t]===void 0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+t+`".`)}}s.setExtensions(a),s.setPlugins(o),s.parse(n,r)}parseAsync(e,t){let n=this;return new Promise(function(r,i){n.parse(e,t,r,i)})}};function ot(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var V={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_DISPERSION:`KHR_materials_dispersion`,KHR_MATERIALS_IOR:`KHR_materials_ior`,KHR_MATERIALS_SHEEN:`KHR_materials_sheen`,KHR_MATERIALS_SPECULAR:`KHR_materials_specular`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_IRIDESCENCE:`KHR_materials_iridescence`,KHR_MATERIALS_ANISOTROPY:`KHR_materials_anisotropy`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_MATERIALS_VOLUME:`KHR_materials_volume`,KHR_TEXTURE_BASISU:`KHR_texture_basisu`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,KHR_MATERIALS_EMISSIVE_STRENGTH:`KHR_materials_emissive_strength`,EXT_MATERIALS_BUMP:`EXT_materials_bump`,EXT_TEXTURE_WEBP:`EXT_texture_webp`,EXT_TEXTURE_AVIF:`EXT_texture_avif`,EXT_MESHOPT_COMPRESSION:`EXT_meshopt_compression`,EXT_MESH_GPU_INSTANCING:`EXT_mesh_gpu_instancing`},st=class{constructor(e){this.parser=e,this.name=V.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let n=0,r=t.length;n=0)throw Error(`THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures`);return null}return t.loadTextureImage(e,i.source,a)}},xt=class{constructor(e){this.parser=e,this.name=V.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: WebP required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},St=class{constructor(e){this.parser=e,this.name=V.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: AVIF required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},Ct=class{constructor(e){this.name=V.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){let e=n.extensions[this.name],r=this.parser.getDependency(`buffer`,e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw Error(`THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files`);return null}return r.then(function(t){let n=e.byteOffset||0,r=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,n,r);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}else return null}},wt=class{constructor(e){this.name=V.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;let r=t.meshes[n.mesh];for(let e of r.primitives)if(e.mode!==U.TRIANGLES&&e.mode!==U.TRIANGLE_STRIP&&e.mode!==U.TRIANGLE_FAN&&e.mode!==void 0)return null;let i=n.extensions[this.name].attributes,a=[],o={};for(let e in i)a.push(this.parser.getDependency(`accessor`,i[e]).then(t=>(o[e]=t,o[e])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(e=>{let t=e.pop(),n=t.isGroup?t.children:[t],r=e[0].count,i=[];for(let e of n){let t=new I,n=new A,a=new ie,s=new A(1,1,1),c=new _(e.geometry,e.material,r);for(let e=0;e=152?{TEXCOORD_0:`uv`,TEXCOORD_1:`uv1`,TEXCOORD_2:`uv2`,TEXCOORD_3:`uv3`}:{TEXCOORD_0:`uv`,TEXCOORD_1:`uv2`},COLOR_0:`color`,WEIGHTS_0:`skinWeight`,JOINTS_0:`skinIndex`},G={scale:`scale`,translation:`position`,rotation:`quaternion`,weights:`morphTargetInfluences`},Rt={CUBICSPLINE:void 0,LINEAR:p,STEP:Fe},zt={OPAQUE:`OPAQUE`,MASK:`MASK`,BLEND:`BLEND`};function Bt(e){return e.DefaultMaterial===void 0&&(e.DefaultMaterial=new ke({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:0})),e.DefaultMaterial}function K(e,t,n){for(let r in n.extensions)e[r]===void 0&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[r]=n.extensions[r])}function q(e,t){t.extras!==void 0&&(typeof t.extras==`object`?Object.assign(e.userData,t.extras):console.warn(`THREE.GLTFLoader: Ignoring primitive type .extras, `+t.extras))}function Vt(e,t,n){let r=!1,i=!1,a=!1;for(let e=0,n=t.length;e0||e.search(/^data\:image\/jpeg/)===0?`image/jpeg`:e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?`image/webp`:`image/png`}var qt=new I,Jt=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new ot,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,r=!1,i=-1;typeof navigator<`u`&&navigator.userAgent!==void 0&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf(`Firefox`)>-1,i=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>`u`||n||r&&i<98?this.textureLoader=new Ie(this.options.manager):this.textureLoader=new D(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new h(this.options.manager),this.fileLoader.setResponseType(`arraybuffer`),this.options.crossOrigin===`use-credentials`&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(e){return e._markDefs&&e._markDefs()}),Promise.all(this._invokeAll(function(e){return e.beforeRoot&&e.beforeRoot()})).then(function(){return Promise.all([n.getDependencies(`scene`),n.getDependencies(`animation`),n.getDependencies(`camera`)])}).then(function(t){let a={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};return K(i,a,r),q(a,r),Promise.all(n._invokeAll(function(e){return e.afterRoot&&e.afterRoot(a)})).then(function(){for(let e of a.scenes)e.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let n=0,r=t.length;n{let n=this.associations.get(e);n!=null&&this.associations.set(t,n);for(let[n,r]of e.children.entries())i(r,t.children[n])};return i(n,r),r.name+=`_instance_`+ e.uses[t]++,r}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&p.setY(t,u[e*a+1]),a>=3&&p.setZ(t,u[e*a+2]),a>=4&&p.setW(t,u[e*a+3]),a>=5)throw Error(`THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.`)}}return p})}loadTexture(e){let t=this.json,n=this.options,r=t.textures[e].source,i=t.images[r],a=this.textureLoader;if(i.uri){let e=n.manager.getHandler(i.uri);e!==null&&(a=e)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,t,n){let r=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+`:`+a.sampler;if(this.textureCache[s])return this.textureCache[s];let c=this.loadImageSource(t,n).then(function(t){t.flipY=!1,t.name=a.name||o.name||``,t.name===``&&typeof o.uri==`string`&&o.uri.startsWith(`data:image/`)===!1&&(t.name=o.uri);let n=(i.samplers||{})[a.sampler]||{};return t.magFilter=Pt[n.magFilter]||1006,t.minFilter=Pt[n.minFilter]||1008,t.wrapS=Ft[n.wrapS]||1e3,t.wrapT=Ft[n.wrapT]||1e3,r.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=c,c}loadImageSource(e,t){let n=this,r=this.json,i=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(e=>e.clone());let a=r.images[e],o=self.URL||self.webkitURL,s=a.uri||``,c=!1;if(a.bufferView!==void 0)s=n.getDependency(`bufferView`,a.bufferView).then(function(e){c=!0;let t=new Blob([e],{type:a.mimeType});return s=o.createObjectURL(t),s});else if(a.uri===void 0)throw Error(`THREE.GLTFLoader: Image `+e+` is missing URI and bufferView`);let l=Promise.resolve(s).then(function(e){return new Promise(function(n,r){let a=n;t.isImageBitmapLoader===!0&&(a=function(e){let t=new re(e);t.needsUpdate=!0,n(t)}),t.load(j.resolveURL(e,i.path),a,void 0,r)})}).then(function(e){return c===!0&&o.revokeObjectURL(s),q(e,a),e.userData.mimeType=a.mimeType||Kt(a.uri),e}).catch(function(e){throw console.error(`THREE.GLTFLoader: Couldn't load texture`,s),e});return this.sourceCache[e]=l,l}assignTexture(e,t,n,r){let i=this;return this.getDependency(`texture`,n.index).then(function(a){if(!a)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(a=a.clone(),a.channel=n.texCoord),i.extensions[V.KHR_TEXTURE_TRANSFORM]){let e=n.extensions===void 0?void 0:n.extensions[V.KHR_TEXTURE_TRANSFORM];if(e){let t=i.associations.get(a);a=i.extensions[V.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return r!==void 0&&(typeof r==`number`&&(r=r===rt?z:B),`colorSpace`in a?a.colorSpace=r:a.encoding=r===z?rt:it),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,n=e.material,r=t.attributes.tangent===void 0,i=t.attributes.color!==void 0,a=t.attributes.normal===void 0;if(e.isPoints){let e=`PointsMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new Pe,he.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,t.sizeAttenuation=!1,this.cache.add(e,t)),n=t}else if(e.isLine){let e=`LineBasicMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new oe,he.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,this.cache.add(e,t)),n=t}if(r||i||a){let e=`ClonedMaterial:`+n.uuid+`:`;r&&(e+=`derivative-tangents:`),i&&(e+=`vertex-colors:`),a&&(e+=`flat-shading:`);let t=this.cache.get(e);t||(t=n.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),r&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(n))),n=t}e.material=n}getMaterialType(){return ke}loadMaterial(e){let t=this,n=this.json,r=this.extensions,i=n.materials[e],a,o={},s=i.extensions||{},c=[];if(s[V.KHR_MATERIALS_UNLIT]){let e=r[V.KHR_MATERIALS_UNLIT];a=e.getMaterialType(),c.push(e.extendParams(o,i,t))}else{let n=i.pbrMetallicRoughness||{};if(o.color=new N(1,1,1),o.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;o.color.setRGB(e[0],e[1],e[2],B),o.opacity=e[3]}n.baseColorTexture!==void 0&&c.push(t.assignTexture(o,`map`,n.baseColorTexture,z)),o.metalness=n.metallicFactor===void 0?1:n.metallicFactor,o.roughness=n.roughnessFactor===void 0?1:n.roughnessFactor,n.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(o,`metalnessMap`,n.metallicRoughnessTexture)),c.push(t.assignTexture(o,`roughnessMap`,n.metallicRoughnessTexture))),a=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)})))}i.doubleSided===!0&&(o.side=2);let l=i.alphaMode||zt.OPAQUE;if(l===zt.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,l===zt.MASK&&(o.alphaTest=i.alphaCutoff===void 0?.5:i.alphaCutoff)),i.normalTexture!==void 0&&a!==P&&(c.push(t.assignTexture(o,`normalMap`,i.normalTexture)),o.normalScale=new x(1,1),i.normalTexture.scale!==void 0)){let e=i.normalTexture.scale;o.normalScale.set(e,e)}if(i.occlusionTexture!==void 0&&a!==P&&(c.push(t.assignTexture(o,`aoMap`,i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&a!==P){let e=i.emissiveFactor;o.emissive=new N().setRGB(e[0],e[1],e[2],B)}return i.emissiveTexture!==void 0&&a!==P&&c.push(t.assignTexture(o,`emissiveMap`,i.emissiveTexture,z)),Promise.all(c).then(function(){let n=new a(o);return i.name&&(n.name=i.name),q(n,i),t.associations.set(n,{materials:e}),i.extensions&&K(r,n,i),n})}createUniqueName(e){let t=Ne.sanitizeNodeName(e||``);return t in this.nodeNamesUsed?t+`_`+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,n=this.extensions,r=this.primitiveCache;function i(e){return n[V.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(n){return Xt(n,e,t)})}let a=[];for(let n=0,o=e.length;n0&&Ht(d,i),d.name=t.createUniqueName(i.name||`mesh_`+e),q(d,i),u.extensions&&K(r,d,u),t.assignFinalMaterial(d),c.push(d)}for(let n=0,r=c.length;n1?new xe:t.length===1?t[0]:new Ee,o!==t[0])for(let e=0,n=t.length;e{let t=new Map;for(let[e,n]of r.associations)(e instanceof he||e instanceof re)&&t.set(e,n);return e.traverse(e=>{let n=r.associations.get(e);n!=null&&t.set(e,n)}),t})(i),i})}_createAnimationTracks(e,t,n,r,i){let a=[],o=e.name?e.name:e.uuid,s=[];G[i.path]===G.weights?e.traverse(function(e){e.morphTargetInfluences&&s.push(e.name?e.name:e.uuid)}):s.push(o);let c;switch(G[i.path]){case G.weights:c=_e;break;case G.rotation:c=m;break;case G.position:case G.scale:c=ce;break;default:switch(n.itemSize){case 1:c=_e;break;default:c=ce;break}break}let l=r.interpolation===void 0?p:Rt[r.interpolation],u=this._getArrayFromAccessor(n);for(let e=0,n=s.length;e{let n={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,n).then(t).catch(r)},n,r)}decodeDracoFile(e,t,n,r){let i={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){for(let e in t.attributeTypes){let n=t.attributeTypes[e];n.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[e]=n.name)}let n=JSON.stringify(t);if(Zt.has(e)){let t=Zt.get(e);if(t.key===n)return t.promise;if(e.byteLength===0)throw Error(`THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.`)}let r,i=this.workerNextTaskID++,a=e.byteLength,o=this._getWorker(i,a).then(n=>(r=n,new Promise((n,a)=>{r._callbacks[i]={resolve:n,reject:a},r.postMessage({type:`decode`,id:i,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return o.catch(()=>!0).then(()=>{r&&i&&this._releaseTask(r,i)}),Zt.set(e,{key:n,promise:o}),o}_createGeometry(e){let t=new ye;e.index&&t.setIndex(new F(e.index.array,1));for(let n=0;n{n.load(e,t,void 0,r)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e=typeof WebAssembly!=`object`||this.decoderConfig.type===`js`,t=[];return e?t.push(this._loadLibrary(`draco_decoder.js`,`text`)):(t.push(this._loadLibrary(`draco_wasm_wrapper.js`,`text`)),t.push(this._loadLibrary(`draco_decoder.wasm`,`arraybuffer`))),this.decoderPending=Promise.all(t).then(t=>{let n=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let r=$t.toString(),i=[`/* draco decoder */`,n,``,`/* worker */`,r.substring(r.indexOf(`{`)+1,r.lastIndexOf(`}`))].join(` +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as i,i as a}from"./react-three-fiber.esm-dhSWjERg.js";import{a as o,i as s}from"./SettingsProvider-2cUUftaX.js";import{n as c,r as l,t as u}from"./useBaseQuery-CXuGTqsm.js";import{t as d}from"./logger-zy3b0zcG.js";import{$ as f,B as p,Ct as m,D as h,Dt as g,F as _,Ft as v,G as y,H as b,Ht as x,I as S,J as C,K as w,L as T,Mt as E,N as D,Nt as O,Ot as k,P as ee,Q as te,R as ne,Rt as re,St as ie,T as ae,U as oe,Ut as A,W as se,Wt as ce,X as le,Z as j,_t as ue,a as de,at as M,b as N,ct as fe,d as pe,dt as me,et as he,f as ge,ft as _e,g as ve,h as ye,ht as be,it as P,j as xe,jt as Se,lt as Ce,m as F,mt as we,nt as I,o as Te,ot as L,pt as Ee,q as De,rt as Oe,st as ke,tt as Ae,ut as je,v as R,vt as Me,xt as Ne,yt as Pe,z as Fe,zt as Ie}from"./three.module-CwgFV8Kd.js";import{i as Le,n as Re,r as ze}from"./engineStore-Cio8vU1L.js";import{t as Be}from"./Texture-CUOilM1U.js";import{a as Ve,c as He,d as Ue,p as We,t as Ge}from"./loaders-BRV0t4WA.js";import{t as Ke}from"./FloatingLabel-BEL3jCDa.js";import{c as qe,f as Je,l as Ye,o as Xe,t as Ze,u as Qe}from"./globalFogUniforms-CaAkHfiE.js";function $e(e,t){return u({...e,enabled:!0,suspense:!0,throwOnError:c,placeholderData:void 0},l,t)}var et=parseInt(`182`.replace(/\D+/g,``));function tt(e,t){if(t===0)return console.warn(`THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.`),e;if(t===2||t===1){let n=e.getIndex();if(n===null){let t=[],r=e.getAttribute(`position`);if(r!==void 0){for(let e=0;e=2.0 are supported.`));return}let s=new Jt(i,{path:t||this.resourcePath||``,crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});s.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e=0&&o[t]===void 0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+t+`".`)}}s.setExtensions(a),s.setPlugins(o),s.parse(n,r)}parseAsync(e,t){let n=this;return new Promise(function(r,i){n.parse(e,t,r,i)})}};function ot(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var V={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_DISPERSION:`KHR_materials_dispersion`,KHR_MATERIALS_IOR:`KHR_materials_ior`,KHR_MATERIALS_SHEEN:`KHR_materials_sheen`,KHR_MATERIALS_SPECULAR:`KHR_materials_specular`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_IRIDESCENCE:`KHR_materials_iridescence`,KHR_MATERIALS_ANISOTROPY:`KHR_materials_anisotropy`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_MATERIALS_VOLUME:`KHR_materials_volume`,KHR_TEXTURE_BASISU:`KHR_texture_basisu`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,KHR_MATERIALS_EMISSIVE_STRENGTH:`KHR_materials_emissive_strength`,EXT_MATERIALS_BUMP:`EXT_materials_bump`,EXT_TEXTURE_WEBP:`EXT_texture_webp`,EXT_TEXTURE_AVIF:`EXT_texture_avif`,EXT_MESHOPT_COMPRESSION:`EXT_meshopt_compression`,EXT_MESH_GPU_INSTANCING:`EXT_mesh_gpu_instancing`},st=class{constructor(e){this.parser=e,this.name=V.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let n=0,r=t.length;n=0)throw Error(`THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures`);return null}return t.loadTextureImage(e,i.source,a)}},xt=class{constructor(e){this.parser=e,this.name=V.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: WebP required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},St=class{constructor(e){this.parser=e,this.name=V.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: AVIF required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},Ct=class{constructor(e){this.name=V.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){let e=n.extensions[this.name],r=this.parser.getDependency(`buffer`,e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw Error(`THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files`);return null}return r.then(function(t){let n=e.byteOffset||0,r=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,n,r);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}else return null}},wt=class{constructor(e){this.name=V.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;let r=t.meshes[n.mesh];for(let e of r.primitives)if(e.mode!==U.TRIANGLES&&e.mode!==U.TRIANGLE_STRIP&&e.mode!==U.TRIANGLE_FAN&&e.mode!==void 0)return null;let i=n.extensions[this.name].attributes,a=[],o={};for(let e in i)a.push(this.parser.getDependency(`accessor`,i[e]).then(t=>(o[e]=t,o[e])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(e=>{let t=e.pop(),n=t.isGroup?t.children:[t],r=e[0].count,i=[];for(let e of n){let t=new I,n=new A,a=new ie,s=new A(1,1,1),c=new _(e.geometry,e.material,r);for(let e=0;e=152?{TEXCOORD_0:`uv`,TEXCOORD_1:`uv1`,TEXCOORD_2:`uv2`,TEXCOORD_3:`uv3`}:{TEXCOORD_0:`uv`,TEXCOORD_1:`uv2`},COLOR_0:`color`,WEIGHTS_0:`skinWeight`,JOINTS_0:`skinIndex`},G={scale:`scale`,translation:`position`,rotation:`quaternion`,weights:`morphTargetInfluences`},Rt={CUBICSPLINE:void 0,LINEAR:p,STEP:Fe},zt={OPAQUE:`OPAQUE`,MASK:`MASK`,BLEND:`BLEND`};function Bt(e){return e.DefaultMaterial===void 0&&(e.DefaultMaterial=new ke({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:0})),e.DefaultMaterial}function K(e,t,n){for(let r in n.extensions)e[r]===void 0&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[r]=n.extensions[r])}function q(e,t){t.extras!==void 0&&(typeof t.extras==`object`?Object.assign(e.userData,t.extras):console.warn(`THREE.GLTFLoader: Ignoring primitive type .extras, `+t.extras))}function Vt(e,t,n){let r=!1,i=!1,a=!1;for(let e=0,n=t.length;e0||e.search(/^data\:image\/jpeg/)===0?`image/jpeg`:e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?`image/webp`:`image/png`}var qt=new I,Jt=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new ot,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,r=!1,i=-1;typeof navigator<`u`&&navigator.userAgent!==void 0&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf(`Firefox`)>-1,i=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>`u`||n||r&&i<98?this.textureLoader=new Ie(this.options.manager):this.textureLoader=new D(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new h(this.options.manager),this.fileLoader.setResponseType(`arraybuffer`),this.options.crossOrigin===`use-credentials`&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(e){return e._markDefs&&e._markDefs()}),Promise.all(this._invokeAll(function(e){return e.beforeRoot&&e.beforeRoot()})).then(function(){return Promise.all([n.getDependencies(`scene`),n.getDependencies(`animation`),n.getDependencies(`camera`)])}).then(function(t){let a={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};return K(i,a,r),q(a,r),Promise.all(n._invokeAll(function(e){return e.afterRoot&&e.afterRoot(a)})).then(function(){for(let e of a.scenes)e.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let n=0,r=t.length;n{let n=this.associations.get(e);n!=null&&this.associations.set(t,n);for(let[n,r]of e.children.entries())i(r,t.children[n])};return i(n,r),r.name+=`_instance_`+ e.uses[t]++,r}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&p.setY(t,u[e*a+1]),a>=3&&p.setZ(t,u[e*a+2]),a>=4&&p.setW(t,u[e*a+3]),a>=5)throw Error(`THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.`)}}return p})}loadTexture(e){let t=this.json,n=this.options,r=t.textures[e].source,i=t.images[r],a=this.textureLoader;if(i.uri){let e=n.manager.getHandler(i.uri);e!==null&&(a=e)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,t,n){let r=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+`:`+a.sampler;if(this.textureCache[s])return this.textureCache[s];let c=this.loadImageSource(t,n).then(function(t){t.flipY=!1,t.name=a.name||o.name||``,t.name===``&&typeof o.uri==`string`&&o.uri.startsWith(`data:image/`)===!1&&(t.name=o.uri);let n=(i.samplers||{})[a.sampler]||{};return t.magFilter=Pt[n.magFilter]||1006,t.minFilter=Pt[n.minFilter]||1008,t.wrapS=Ft[n.wrapS]||1e3,t.wrapT=Ft[n.wrapT]||1e3,r.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=c,c}loadImageSource(e,t){let n=this,r=this.json,i=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(e=>e.clone());let a=r.images[e],o=self.URL||self.webkitURL,s=a.uri||``,c=!1;if(a.bufferView!==void 0)s=n.getDependency(`bufferView`,a.bufferView).then(function(e){c=!0;let t=new Blob([e],{type:a.mimeType});return s=o.createObjectURL(t),s});else if(a.uri===void 0)throw Error(`THREE.GLTFLoader: Image `+e+` is missing URI and bufferView`);let l=Promise.resolve(s).then(function(e){return new Promise(function(n,r){let a=n;t.isImageBitmapLoader===!0&&(a=function(e){let t=new re(e);t.needsUpdate=!0,n(t)}),t.load(j.resolveURL(e,i.path),a,void 0,r)})}).then(function(e){return c===!0&&o.revokeObjectURL(s),q(e,a),e.userData.mimeType=a.mimeType||Kt(a.uri),e}).catch(function(e){throw console.error(`THREE.GLTFLoader: Couldn't load texture`,s),e});return this.sourceCache[e]=l,l}assignTexture(e,t,n,r){let i=this;return this.getDependency(`texture`,n.index).then(function(a){if(!a)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(a=a.clone(),a.channel=n.texCoord),i.extensions[V.KHR_TEXTURE_TRANSFORM]){let e=n.extensions===void 0?void 0:n.extensions[V.KHR_TEXTURE_TRANSFORM];if(e){let t=i.associations.get(a);a=i.extensions[V.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return r!==void 0&&(typeof r==`number`&&(r=r===rt?z:B),`colorSpace`in a?a.colorSpace=r:a.encoding=r===z?rt:it),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,n=e.material,r=t.attributes.tangent===void 0,i=t.attributes.color!==void 0,a=t.attributes.normal===void 0;if(e.isPoints){let e=`PointsMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new Pe,he.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,t.sizeAttenuation=!1,this.cache.add(e,t)),n=t}else if(e.isLine){let e=`LineBasicMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new oe,he.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,this.cache.add(e,t)),n=t}if(r||i||a){let e=`ClonedMaterial:`+n.uuid+`:`;r&&(e+=`derivative-tangents:`),i&&(e+=`vertex-colors:`),a&&(e+=`flat-shading:`);let t=this.cache.get(e);t||(t=n.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),r&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(n))),n=t}e.material=n}getMaterialType(){return ke}loadMaterial(e){let t=this,n=this.json,r=this.extensions,i=n.materials[e],a,o={},s=i.extensions||{},c=[];if(s[V.KHR_MATERIALS_UNLIT]){let e=r[V.KHR_MATERIALS_UNLIT];a=e.getMaterialType(),c.push(e.extendParams(o,i,t))}else{let n=i.pbrMetallicRoughness||{};if(o.color=new N(1,1,1),o.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;o.color.setRGB(e[0],e[1],e[2],B),o.opacity=e[3]}n.baseColorTexture!==void 0&&c.push(t.assignTexture(o,`map`,n.baseColorTexture,z)),o.metalness=n.metallicFactor===void 0?1:n.metallicFactor,o.roughness=n.roughnessFactor===void 0?1:n.roughnessFactor,n.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(o,`metalnessMap`,n.metallicRoughnessTexture)),c.push(t.assignTexture(o,`roughnessMap`,n.metallicRoughnessTexture))),a=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)})))}i.doubleSided===!0&&(o.side=2);let l=i.alphaMode||zt.OPAQUE;if(l===zt.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,l===zt.MASK&&(o.alphaTest=i.alphaCutoff===void 0?.5:i.alphaCutoff)),i.normalTexture!==void 0&&a!==P&&(c.push(t.assignTexture(o,`normalMap`,i.normalTexture)),o.normalScale=new x(1,1),i.normalTexture.scale!==void 0)){let e=i.normalTexture.scale;o.normalScale.set(e,e)}if(i.occlusionTexture!==void 0&&a!==P&&(c.push(t.assignTexture(o,`aoMap`,i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&a!==P){let e=i.emissiveFactor;o.emissive=new N().setRGB(e[0],e[1],e[2],B)}return i.emissiveTexture!==void 0&&a!==P&&c.push(t.assignTexture(o,`emissiveMap`,i.emissiveTexture,z)),Promise.all(c).then(function(){let n=new a(o);return i.name&&(n.name=i.name),q(n,i),t.associations.set(n,{materials:e}),i.extensions&&K(r,n,i),n})}createUniqueName(e){let t=Ne.sanitizeNodeName(e||``);return t in this.nodeNamesUsed?t+`_`+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,n=this.extensions,r=this.primitiveCache;function i(e){return n[V.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(n){return Xt(n,e,t)})}let a=[];for(let n=0,o=e.length;n0&&Ht(d,i),d.name=t.createUniqueName(i.name||`mesh_`+e),q(d,i),u.extensions&&K(r,d,u),t.assignFinalMaterial(d),c.push(d)}for(let n=0,r=c.length;n1?new xe:t.length===1?t[0]:new Ee,o!==t[0])for(let e=0,n=t.length;e{let t=new Map;for(let[e,n]of r.associations)(e instanceof he||e instanceof re)&&t.set(e,n);return e.traverse(e=>{let n=r.associations.get(e);n!=null&&t.set(e,n)}),t})(i),i})}_createAnimationTracks(e,t,n,r,i){let a=[],o=e.name?e.name:e.uuid,s=[];G[i.path]===G.weights?e.traverse(function(e){e.morphTargetInfluences&&s.push(e.name?e.name:e.uuid)}):s.push(o);let c;switch(G[i.path]){case G.weights:c=_e;break;case G.rotation:c=m;break;case G.position:case G.scale:c=ce;break;default:switch(n.itemSize){case 1:c=_e;break;default:c=ce;break}break}let l=r.interpolation===void 0?p:Rt[r.interpolation],u=this._getArrayFromAccessor(n);for(let e=0,n=s.length;e{let n={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,n).then(t).catch(r)},n,r)}decodeDracoFile(e,t,n,r){let i={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){for(let e in t.attributeTypes){let n=t.attributeTypes[e];n.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[e]=n.name)}let n=JSON.stringify(t);if(Zt.has(e)){let t=Zt.get(e);if(t.key===n)return t.promise;if(e.byteLength===0)throw Error(`THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.`)}let r,i=this.workerNextTaskID++,a=e.byteLength,o=this._getWorker(i,a).then(n=>(r=n,new Promise((n,a)=>{r._callbacks[i]={resolve:n,reject:a},r.postMessage({type:`decode`,id:i,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return o.catch(()=>!0).then(()=>{r&&i&&this._releaseTask(r,i)}),Zt.set(e,{key:n,promise:o}),o}_createGeometry(e){let t=new ye;e.index&&t.setIndex(new F(e.index.array,1));for(let n=0;n{n.load(e,t,void 0,r)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e=typeof WebAssembly!=`object`||this.decoderConfig.type===`js`,t=[];return e?t.push(this._loadLibrary(`draco_decoder.js`,`text`)):(t.push(this._loadLibrary(`draco_wasm_wrapper.js`,`text`)),t.push(this._loadLibrary(`draco_decoder.wasm`,`arraybuffer`))),this.decoderPending=Promise.all(t).then(t=>{let n=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let r=$t.toString(),i=[`/* draco decoder */`,n,``,`/* worker */`,r.substring(r.indexOf(`{`)+1,r.lastIndexOf(`}`))].join(` `);this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengtht._taskLoad?-1:1});let n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log(`Task load: `,this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{let t=e.draco,o=new t.Decoder,s=new t.DecoderBuffer;s.Init(new Int8Array(r),r.byteLength);try{let e=n(t,o,s,a),r=e.attributes.map(e=>e.array.buffer);e.index&&r.push(e.index.array.buffer),self.postMessage({type:`decode`,id:i.id,geometry:e},r)}catch(e){console.error(e),self.postMessage({type:`error`,id:i.id,error:e.message})}finally{t.destroy(s),t.destroy(o)}});break}};function n(e,t,n,a){let o=a.attributeIDs,s=a.attributeTypes,c,l,u=t.GetEncodedGeometryType(n);if(u===e.TRIANGULAR_MESH)c=new e.Mesh,l=t.DecodeBufferToMesh(n,c);else if(u===e.POINT_CLOUD)c=new e.PointCloud,l=t.DecodeBufferToPointCloud(n,c);else throw Error(`THREE.DRACOLoader: Unexpected geometry type.`);if(!l.ok()||c.ptr===0)throw Error(`THREE.DRACOLoader: Decoding failed: `+l.error_msg());let d={index:null,attributes:[]};for(let n in o){let r=self[s[n]],l,u;if(a.useUniqueIDs)u=o[n],l=t.GetAttributeByUniqueId(c,u);else{if(u=t.GetAttributeId(c,e[o[n]]),u===-1)continue;l=t.GetAttribute(c,u)}d.attributes.push(i(e,t,c,n,r,l))}return u===e.TRIANGULAR_MESH&&(d.index=r(e,t,c)),e.destroy(c),d}function r(e,t,n){let r=n.num_faces()*3,i=r*4,a=e._malloc(i);t.GetTrianglesUInt32Array(n,i,a);let o=new Uint32Array(e.HEAPF32.buffer,a,r).slice();return e._free(a),{array:o,itemSize:1}}function i(e,t,n,r,i,o){let s=o.num_components(),c=n.num_points()*s,l=c*i.BYTES_PER_ELEMENT,u=a(e,i),d=e._malloc(l);t.GetAttributeDataArrayForAllPoints(n,o,u,l,d);let f=new i(e.HEAPF32.buffer,d,c).slice();return e._free(d),{name:r,array:f,itemSize:s}}function a(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}}var en,tn=()=>{if(en)return en;let e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),t=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!=`object`)return{supported:!1};let n=`B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB`;WebAssembly.validate(e)&&(n=`B9h9z9tFBBBFiI9gBB9gLaaaaaFa9gEaaaB9gFaFaEMcBBFBFFGGGEILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBOn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBNI9z9iqlBVc+N9IcIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMk8lLbaE97F9+FaL978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAeDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAeDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBReCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBH8ZCFD9tA8ZAPD9OD9hD9RH8ZDQBTFtGmEYIPLdKeOnHpAIAQJDBIBHyCFD9tAyAPD9OD9hD9RHyAIASJDBIBH8cCFD9tA8cAPD9OD9hD9RH8cDQBTFtGmEYIPLdKeOnH8dDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAeD9uHeDyBjGBAEAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeApA8dDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNiV8ZcpMyS8cQ8df8eb8fHdAyA8cDQNiV8ZcpMyS8cQ8df8eb8fH8ZDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/dLEK97FaF97GXGXAGCI9HQBAF9FQFCBRGEXABABDBBBHECiD+rFCiD+sFD/6FHIAECND+rFCiD+sFD/6FAID/gFAECTD+rFCiD+sFD/6FHLD/gFD/kFD/lFHKCBDtD+2FHOAICUUUU94DtHND9OD9RD/kFHI9DBB/+hDYAIAID/mFAKAKD/mFALAOALAND9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHLD/mF9DBBX9LDYHOD/kFCgFDtD9OAECUUU94DtD9OD9QAIALD/mFAOD/kFCND+rFCU/+EDtD9OD9QAKALD/mFAOD/kFCTD+rFCUU/8ODtD9OD9QDMBBABCTJRBAGCIJHGAF9JQBSGMMAF9FQBCBRGEXABCTJHVAVDBBBHECBDtHOCUU98D8cFCUU98D8cEHND9OABDBBBHKAEDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAKAEDQBFGENVcMTtmYi8ZpyHECTD+sFD/6FHID/gFAECTD+rFCTD+sFD/6FHLD/gFD/kFD/lFHE9DB/+g6DYALAEAOD+2FHOALCUUUU94DtHcD9OD9RD/kFHLALD/mFAEAED/mFAIAOAIAcD9OD9RD/kFHEAED/mFD/kFD/kFD/jFD/nFHID/mF9DBBX9LDYHOD/kFCTD+rFALAID/mFAOD/kFCggEDtD9OD9QHLAEAID/mFAOD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHEDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAKAND9OALAEDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM/hEIGaF97FaL978jUUUUBCTlREGXAF9FQBCBRIEXAEABDBBBHLABCTJHKDBBBHODQILKOSQfbPden8c8d8e8fHNCTD+sFHVCID+rFDMIBAB9DBBU8/DY9D/zI818/DYAVCEDtD9QD/6FD/nFHVALAODQBFGENVcMTtmYi8ZpyHLCTD+rFCTD+sFD/6FD/mFHOAOD/mFAVALCTD+sFD/6FD/mFHcAcD/mFAVANCTD+rFCTD+sFD/6FD/mFHNAND/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHVD/mF9DBBX9LDYHLD/kFCggEDtHMD9OAcAVD/mFALD/kFCTD+rFD9QHcANAVD/mFALD/kFCTD+rFAOAVD/mFALD/kFAMD9OD9QHVDQBFTtGEmYILPdKOenHLD8dBAEDBIBDyB+t+J83EBABCNJALD8dFAEDBIBDyF+t+J83EBAKAcAVDQNVi8ZcMpySQ8c8dfb8e8fHVD8dBAEDBIBDyG+t+J83EBABCiJAVD8dFAEDBIBDyE+t+J83EBABCAJRBAICIJHIAF9JQBMMM9jFF97GXAGCGrAF9sHG9FQBCBRFEXABABDBBBHECND+rFCND+sFD/6FAECiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBABCTJRBAFCIJHFAG9JQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB`);let r,i=WebAssembly.instantiate(a(n),{}).then(e=>{r=e.instance,r.exports.__wasm_call_ctors()});function a(e){let n=new Uint8Array(e.length);for(let t=0;t96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}let r=0;for(let i=0;i{n&&n(r),e&&(nn||=new Qt,nn.setDecoderPath(typeof e==`string`?e:rn),r.setDRACOLoader(nn)),t&&r.setMeshoptDecoder(typeof tn==`function`?tn():tn)}}var Y=(e,t,n,r)=>i(at,e,an(t,n,r));Y.preload=(e,t,n,r)=>i.preload(at,e,an(t,n,r)),Y.clear=e=>i.clear(at,e),Y.setDecoderPath=e=>{rn=e};var X=t(),Z=r(),on=1/32,sn=(0,J.createContext)(null);function cn({children:e}){let t=(0,J.useRef)(void 0),n=(0,J.useRef)(0),r=(0,J.useRef)(0);a((e,i)=>{for(n.current+=i;n.current>=on;)if(n.current-=on,r.current++,t.current)for(let e of t.current)e(r.current)});let i=(0,J.useCallback)(e=>(t.current??=new Set,t.current.add(e),()=>{t.current.delete(e)}),[]),o=(0,J.useCallback)(()=>r.current,[]),s=(0,J.useCallback)(()=>n.current/on,[]),c=(0,J.useMemo)(()=>({subscribe:i,getTick:o,getTickFraction:s}),[i,o,s]);return(0,Z.jsx)(sn.Provider,{value:c,children:e})}function ln(e){let t=(0,X.c)(5),n=(0,J.useContext)(sn);if(!n)throw Error(`useTick must be used within a TickProvider`);let r=(0,J.useEffectEvent)(e),i;t[0]!==n||t[1]!==r?(i=()=>n.subscribe(r),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=[n],t[3]=n,t[4]=a),(0,J.useEffect)(i,a)}function un(){let e=(0,J.useContext)(sn);if(!e)throw Error(`useGetTickFraction must be used within a TickProvider`);return e.getTickFraction}var dn=(0,J.createContext)(null),fn={didCatch:!1,error:null},pn=class extends J.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=fn}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(...e){let{error:t}=this.state;t!==null&&(this.props.onReset?.({args:e,reason:`imperative-api`}),this.setState(fn))}componentDidCatch(e,t){this.props.onError?.(e,t)}componentDidUpdate(e,t){let{didCatch:n}=this.state,{resetKeys:r}=this.props;n&&t.error!==null&&mn(e.resetKeys,r)&&(this.props.onReset?.({next:r,prev:e.resetKeys,reason:`keys`}),this.setState(fn))}render(){let{children:e,fallbackRender:t,FallbackComponent:n,fallback:r}=this.props,{didCatch:i,error:a}=this.state,o=e;if(i){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if(typeof t==`function`)o=t(e);else if(n)o=(0,J.createElement)(n,e);else if(r!==void 0)o=r;else throw a}return(0,J.createElement)(dn.Provider,{value:{didCatch:i,error:a,resetErrorBoundary:this.resetErrorBoundary}},o)}};function mn(e=[],t=[]){return e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n]))}function hn(e){let t=new Map,n=new Map,r=e.clone();return gn(e,r,function(e,r){t.set(r,e),n.set(e,r)}),r.traverse(function(e){if(!e.isSkinnedMesh)return;let r=e,i=t.get(e),a=i.skeleton.bones;r.skeleton=i.skeleton.clone(),r.bindMatrix.copy(i.bindMatrix),r.skeleton.bones=a.map(function(e){return n.get(e)}),r.bind(r.skeleton,r.bindMatrix)}),r}function gn(e,t,n){n(e,t);for(let r=0;r{let i=t%a,o=Math.floor(t/a);c.drawImage(e.image,i*n,o*r)});let l=new ve(s);return l.colorSpace=k,l.generateMipmaps=!1,l.minFilter=Ce,l.magFilter=Ce,l.wrapS=R,l.wrapT=R,l.repeat.set(1/a,1/o),{texture:l,columns:a,rows:o,frameCount:i,frameOffsetSeconds:[],totalDurationSeconds:0,lastFrame:-1}}function Tn(e,t){let n=0;e.frameOffsetSeconds=t.map(e=>(n+=e.frameCount*Sn,n)),e.totalDurationSeconds=n}function Q(e,t){if(t===e.lastFrame)return;e.lastFrame=t;let n=t%e.columns,r=e.rows-1-Math.floor(t/e.columns);e.texture.offset.set(n/e.columns,r/e.rows)}function En(e,t){let n=e.totalDurationSeconds;if(n<=0)return 0;let r=t;r>n&&(r-=n*Math.floor(r/n));for(let t=0;tVe(t.name,e)),i=wn(await Promise.all(r.map(Qe)));return Tn(i,n),Cn.set(e,i),i}function On(e){let t=(0,X.c)(14),{animationEnabled:n}=o(),r;t[0]===e?r=t[1]:(r={queryKey:[`ifl`,e],queryFn:()=>He(e)},t[0]=e,t[1]=r);let{data:i}=$e(r),a;if(t[2]!==i||t[3]!==e){let n;t[5]===e?n=t[6]:(n=t=>Ve(t.name,e),t[5]=e,t[6]=n),a=i.map(n),t[2]=i,t[3]=e,t[4]=a}else a=t[4];let s=Be(a),c;t[7]!==i||t[8]!==e||t[9]!==s?(c=Cn.get(e),c||(c=wn(s),Cn.set(e,c)),Tn(c,i),t[7]=i,t[8]=e,t[9]=s,t[10]=c):c=t[10];let l=c,u;return t[11]!==n||t[12]!==l?(u=e=>{let t=e/32;Q(l,n?En(l,t):0)},t[11]=n,t[12]=l,t[13]=u):u=t[13],ln(u),l.texture}var kn={directional:1,ambient:1.5};function An(e){e.uniforms.shapeDirectionalFactor={value:kn.directional},e.uniforms.shapeAmbientFactor={value:kn.ambient},e.fragmentShader=e.fragmentShader.replace(`#include `,`#include uniform float shapeDirectionalFactor; uniform float shapeAmbientFactor; diff --git a/docs/assets/Html-C5epU_38.js b/docs/assets/Html-Cz_CVUsI.js similarity index 98% rename from docs/assets/Html-C5epU_38.js rename to docs/assets/Html-Cz_CVUsI.js index 3aad2731..d5bad4ec 100644 --- a/docs/assets/Html-C5epU_38.js +++ b/docs/assets/Html-Cz_CVUsI.js @@ -1,4 +1,4 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import{i as n,o as r}from"./react-three-fiber.esm-dhSWjERg.js";import{Ht as i,Ut as a,ht as o,mt as s}from"./three.module-CwgFV8Kd.js";import{t as c}from"./extends-C_PM0Yom.js";import{U as l}from"./index-B_QKaSWI.js";var u=e(t()),d=e(l()),f=new a,p=new a,m=new a,h=new i;function ee(e,t,n){let r=f.setFromMatrixPosition(e.matrixWorld);r.project(t);let i=n.width/2,a=n.height/2;return[r.x*i+i,-(r.y*a)+a]}function te(e,t){let n=f.setFromMatrixPosition(e.matrixWorld),r=p.setFromMatrixPosition(t.matrixWorld),i=n.sub(r),a=t.getWorldDirection(m);return i.angleTo(a)>Math.PI/2}function g(e,t,n,r){let i=f.setFromMatrixPosition(e.matrixWorld),a=i.clone();a.project(t),h.set(a.x,a.y),n.setFromCamera(h,t);let o=n.intersectObjects(r,!0);if(o.length){let e=o[0].distance;return i.distanceTo(n.ray.origin)Math.abs(e)<1e-10?0:e;function b(e,t,n=``){let r=`matrix3d(`;for(let n=0;n!==16;n++)r+=y(t[n]*e.elements[n])+(n===15?`)`:`,`);return n+r}var x=(e=>t=>b(t,e))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),S=(e=>(t,n)=>b(t,e(n),`translate(-50%,-50%)`))(e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1]);function ne(e){return e&&typeof e==`object`&&`current`in e}var C=u.forwardRef(({children:e,eps:t=.001,style:i,className:o,prepend:s,center:l,fullscreen:f,portal:p,distanceFactor:m,sprite:h=!1,transform:b=!1,occlude:C,onOcclude:w,castShadow:re,receiveShadow:ie,material:ae,geometry:T,zIndexRange:E=[16777271,0],calculatePosition:D=ee,as:O=`div`,wrapperClass:k,pointerEvents:A=`auto`,...j},M)=>{let{gl:N,camera:P,scene:F,size:I,raycaster:L,events:R,viewport:z}=r(),[B]=u.useState(()=>document.createElement(O)),V=u.useRef(null),H=u.useRef(null),U=u.useRef(0),W=u.useRef([0,0]),G=u.useRef(null),K=u.useRef(null),q=p?.current||R.connected||N.domElement.parentNode,J=u.useRef(null),Y=u.useRef(!1),X=u.useMemo(()=>C&&C!==`blending`||Array.isArray(C)&&C.length&&ne(C[0]),[C]);u.useLayoutEffect(()=>{let e=N.domElement;C&&C===`blending`?(e.style.zIndex=`${Math.floor(E[0]/2)}`,e.style.position=`absolute`,e.style.pointerEvents=`none`):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)},[C]),u.useLayoutEffect(()=>{if(H.current){let e=V.current=d.createRoot(B);if(F.updateMatrixWorld(),b)B.style.cssText=`position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;`;else{let e=D(H.current,P,I);B.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return q&&(s?q.prepend(B):q.appendChild(B)),()=>{q&&q.removeChild(B),e.unmount()}}},[q,b]),u.useLayoutEffect(()=>{k&&(B.className=k)},[k]);let Z=u.useMemo(()=>b?{position:`absolute`,top:0,left:0,width:I.width,height:I.height,transformStyle:`preserve-3d`,pointerEvents:`none`}:{position:`absolute`,transform:l?`translate3d(-50%,-50%,0)`:`none`,...f&&{top:-I.height/2,left:-I.width/2,width:I.width,height:I.height},...i},[i,l,f,I,b]),oe=u.useMemo(()=>({position:`absolute`,pointerEvents:A}),[A]);u.useLayoutEffect(()=>{if(Y.current=!1,b){var t;(t=V.current)==null||t.render(u.createElement(`div`,{ref:G,style:Z},u.createElement(`div`,{ref:K,style:oe},u.createElement(`div`,{ref:M,className:o,style:i,children:e}))))}else{var n;(n=V.current)==null||n.render(u.createElement(`div`,{ref:M,style:Z,className:o,children:e}))}});let Q=u.useRef(!0);n(e=>{if(H.current){P.updateMatrixWorld(),H.current.updateWorldMatrix(!0,!1);let e=b?W.current:D(H.current,P,I);if(b||Math.abs(U.current-P.zoom)>t||Math.abs(W.current[0]-e[0])>t||Math.abs(W.current[1]-e[1])>t){let t=te(H.current,P),n=!1;X&&(Array.isArray(C)?n=C.map(e=>e.current):C!==`blending`&&(n=[F]));let r=Q.current;n?Q.current=g(H.current,P,L,n)&&!t:Q.current=!t,r!==Q.current&&(w?w(!Q.current):B.style.display=Q.current?`block`:`none`);let i=Math.floor(E[0]/2),a=C?X?[E[0],i]:[i-1,0]:E;if(B.style.zIndex=`${v(H.current,P,a)}`,b){let[e,t]=[I.width/2,I.height/2],n=P.projectionMatrix.elements[5]*t,{isOrthographicCamera:r,top:i,left:a,bottom:o,right:s}=P,c=x(P.matrixWorldInverse),l=r?`scale(${n})translate(${y(-(s+a)/2)}px,${y((i+o)/2)}px)`:`translateZ(${n}px)`,u=H.current.matrixWorld;h&&(u=P.matrixWorldInverse.clone().transpose().copyPosition(u).scale(H.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),B.style.width=I.width+`px`,B.style.height=I.height+`px`,B.style.perspective=r?``:`${n}px`,G.current&&K.current&&(G.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,K.current.style.transform=S(u,1/((m||10)/400)))}else{let t=m===void 0?1:_(H.current,P)*m;B.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}W.current=e,U.current=P.zoom}}if(!X&&J.current&&!Y.current)if(b){if(G.current){let e=G.current.children[0];if(e!=null&&e.clientWidth&&e!=null&&e.clientHeight){let{isOrthographicCamera:t}=P;if(t||T)j.scale&&(Array.isArray(j.scale)?j.scale instanceof a?J.current.scale.copy(j.scale.clone().divideScalar(1)):J.current.scale.set(1/j.scale[0],1/j.scale[1],1/j.scale[2]):J.current.scale.setScalar(1/j.scale));else{let t=(m||10)/400,n=e.clientWidth*t,r=e.clientHeight*t;J.current.scale.set(n,r,1)}Y.current=!0}}}else{let t=B.children[0];if(t!=null&&t.clientWidth&&t!=null&&t.clientHeight){let e=1/z.factor,n=t.clientWidth*e,r=t.clientHeight*e;J.current.scale.set(n,r,1),Y.current=!0}J.current.lookAt(e.camera.position)}});let $=u.useMemo(()=>({vertexShader:b?void 0:` +import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import{i as n,o as r}from"./react-three-fiber.esm-dhSWjERg.js";import{Ht as i,Ut as a,ht as o,mt as s}from"./three.module-CwgFV8Kd.js";import{t as c}from"./extends-Cu_B6L18.js";import{W as l}from"./index-Chmtkuc3.js";var u=e(t()),d=e(l()),f=new a,p=new a,m=new a,h=new i;function ee(e,t,n){let r=f.setFromMatrixPosition(e.matrixWorld);r.project(t);let i=n.width/2,a=n.height/2;return[r.x*i+i,-(r.y*a)+a]}function te(e,t){let n=f.setFromMatrixPosition(e.matrixWorld),r=p.setFromMatrixPosition(t.matrixWorld),i=n.sub(r),a=t.getWorldDirection(m);return i.angleTo(a)>Math.PI/2}function g(e,t,n,r){let i=f.setFromMatrixPosition(e.matrixWorld),a=i.clone();a.project(t),h.set(a.x,a.y),n.setFromCamera(h,t);let o=n.intersectObjects(r,!0);if(o.length){let e=o[0].distance;return i.distanceTo(n.ray.origin)Math.abs(e)<1e-10?0:e;function b(e,t,n=``){let r=`matrix3d(`;for(let n=0;n!==16;n++)r+=y(t[n]*e.elements[n])+(n===15?`)`:`,`);return n+r}var x=(e=>t=>b(t,e))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),S=(e=>(t,n)=>b(t,e(n),`translate(-50%,-50%)`))(e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1]);function ne(e){return e&&typeof e==`object`&&`current`in e}var C=u.forwardRef(({children:e,eps:t=.001,style:i,className:o,prepend:s,center:l,fullscreen:f,portal:p,distanceFactor:m,sprite:h=!1,transform:b=!1,occlude:C,onOcclude:w,castShadow:re,receiveShadow:ie,material:ae,geometry:T,zIndexRange:E=[16777271,0],calculatePosition:D=ee,as:O=`div`,wrapperClass:k,pointerEvents:A=`auto`,...j},M)=>{let{gl:N,camera:P,scene:F,size:I,raycaster:L,events:R,viewport:z}=r(),[B]=u.useState(()=>document.createElement(O)),V=u.useRef(null),H=u.useRef(null),U=u.useRef(0),W=u.useRef([0,0]),G=u.useRef(null),K=u.useRef(null),q=p?.current||R.connected||N.domElement.parentNode,J=u.useRef(null),Y=u.useRef(!1),X=u.useMemo(()=>C&&C!==`blending`||Array.isArray(C)&&C.length&&ne(C[0]),[C]);u.useLayoutEffect(()=>{let e=N.domElement;C&&C===`blending`?(e.style.zIndex=`${Math.floor(E[0]/2)}`,e.style.position=`absolute`,e.style.pointerEvents=`none`):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)},[C]),u.useLayoutEffect(()=>{if(H.current){let e=V.current=d.createRoot(B);if(F.updateMatrixWorld(),b)B.style.cssText=`position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;`;else{let e=D(H.current,P,I);B.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return q&&(s?q.prepend(B):q.appendChild(B)),()=>{q&&q.removeChild(B),e.unmount()}}},[q,b]),u.useLayoutEffect(()=>{k&&(B.className=k)},[k]);let Z=u.useMemo(()=>b?{position:`absolute`,top:0,left:0,width:I.width,height:I.height,transformStyle:`preserve-3d`,pointerEvents:`none`}:{position:`absolute`,transform:l?`translate3d(-50%,-50%,0)`:`none`,...f&&{top:-I.height/2,left:-I.width/2,width:I.width,height:I.height},...i},[i,l,f,I,b]),oe=u.useMemo(()=>({position:`absolute`,pointerEvents:A}),[A]);u.useLayoutEffect(()=>{if(Y.current=!1,b){var t;(t=V.current)==null||t.render(u.createElement(`div`,{ref:G,style:Z},u.createElement(`div`,{ref:K,style:oe},u.createElement(`div`,{ref:M,className:o,style:i,children:e}))))}else{var n;(n=V.current)==null||n.render(u.createElement(`div`,{ref:M,style:Z,className:o,children:e}))}});let Q=u.useRef(!0);n(e=>{if(H.current){P.updateMatrixWorld(),H.current.updateWorldMatrix(!0,!1);let e=b?W.current:D(H.current,P,I);if(b||Math.abs(U.current-P.zoom)>t||Math.abs(W.current[0]-e[0])>t||Math.abs(W.current[1]-e[1])>t){let t=te(H.current,P),n=!1;X&&(Array.isArray(C)?n=C.map(e=>e.current):C!==`blending`&&(n=[F]));let r=Q.current;n?Q.current=g(H.current,P,L,n)&&!t:Q.current=!t,r!==Q.current&&(w?w(!Q.current):B.style.display=Q.current?`block`:`none`);let i=Math.floor(E[0]/2),a=C?X?[E[0],i]:[i-1,0]:E;if(B.style.zIndex=`${v(H.current,P,a)}`,b){let[e,t]=[I.width/2,I.height/2],n=P.projectionMatrix.elements[5]*t,{isOrthographicCamera:r,top:i,left:a,bottom:o,right:s}=P,c=x(P.matrixWorldInverse),l=r?`scale(${n})translate(${y(-(s+a)/2)}px,${y((i+o)/2)}px)`:`translateZ(${n}px)`,u=H.current.matrixWorld;h&&(u=P.matrixWorldInverse.clone().transpose().copyPosition(u).scale(H.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),B.style.width=I.width+`px`,B.style.height=I.height+`px`,B.style.perspective=r?``:`${n}px`,G.current&&K.current&&(G.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,K.current.style.transform=S(u,1/((m||10)/400)))}else{let t=m===void 0?1:_(H.current,P)*m;B.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}W.current=e,U.current=P.zoom}}if(!X&&J.current&&!Y.current)if(b){if(G.current){let e=G.current.children[0];if(e!=null&&e.clientWidth&&e!=null&&e.clientHeight){let{isOrthographicCamera:t}=P;if(t||T)j.scale&&(Array.isArray(j.scale)?j.scale instanceof a?J.current.scale.copy(j.scale.clone().divideScalar(1)):J.current.scale.set(1/j.scale[0],1/j.scale[1],1/j.scale[2]):J.current.scale.setScalar(1/j.scale));else{let t=(m||10)/400,n=e.clientWidth*t,r=e.clientHeight*t;J.current.scale.set(n,r,1)}Y.current=!0}}}else{let t=B.children[0];if(t!=null&&t.clientWidth&&t!=null&&t.clientHeight){let e=1/z.factor,n=t.clientWidth*e,r=t.clientHeight*e;J.current.scale.set(n,r,1),Y.current=!0}J.current.lookAt(e.camera.position)}});let $=u.useMemo(()=>({vertexShader:b?void 0:` /* This shader is from the THREE's SpriteMaterial. We need to turn the backing plane into a Sprite diff --git a/docs/assets/KeyboardOverlay-CpDInLSf.js b/docs/assets/KeyboardOverlay-KilLZKKK.js similarity index 98% rename from docs/assets/KeyboardOverlay-CpDInLSf.js rename to docs/assets/KeyboardOverlay-KilLZKKK.js index 2404c886..b4138637 100644 --- a/docs/assets/KeyboardOverlay-CpDInLSf.js +++ b/docs/assets/KeyboardOverlay-KilLZKKK.js @@ -1 +1 @@ -import{n as e,t}from"./jsx-runtime-BpGWiA-R.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./streamHelpers-Be29sBCp.js";import"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import"./engineStore-Cio8vU1L.js";import{_ as n,m as r,s as i}from"./index-B_QKaSWI.js";var a=e(),o={Root:`_Root_uktvs_1`,Column:`_Column_uktvs_13`,Row:`_Row_uktvs_20`,Spacer:`_Spacer_uktvs_26`,Key:`_Key_uktvs_30`,Arrow:`_Arrow_uktvs_53`},s=t();function c(){let e=(0,a.c)(51),t=r(),c=n(y),b=i(v),x=i(_),S=i(g),C=i(h),w=i(m),T=i(p),E=i(f),D=i(d),O=i(u),k=i(l);if(t&&t.source!==`live`||t?.source===`live`&&!c)return null;let A;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,s.jsx)(`div`,{className:o.Spacer}),e[0]=A):A=e[0];let j;e[1]===b?j=e[2]:(j=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":b,children:`W`}),e[1]=b,e[2]=j);let M;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,s.jsx)(`div`,{className:o.Spacer}),e[3]=M):M=e[3];let N;e[4]===j?N=e[5]:(N=(0,s.jsxs)(`div`,{className:o.Row,children:[A,j,M]}),e[4]=j,e[5]=N);let P;e[6]===S?P=e[7]:(P=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":S,children:`A`}),e[6]=S,e[7]=P);let F;e[8]===x?F=e[9]:(F=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":x,children:`S`}),e[8]=x,e[9]=F);let I;e[10]===C?I=e[11]:(I=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":C,children:`D`}),e[10]=C,e[11]=I);let L;e[12]!==P||e[13]!==F||e[14]!==I?(L=(0,s.jsxs)(`div`,{className:o.Row,children:[P,F,I]}),e[12]=P,e[13]=F,e[14]=I,e[15]=L):L=e[15];let R;e[16]!==N||e[17]!==L?(R=(0,s.jsxs)(`div`,{className:o.Column,children:[N,L]}),e[16]=N,e[17]=L,e[18]=R):R=e[18];let z;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,s.jsx)(`span`,{className:o.Arrow,children:`↑`}),e[19]=z):z=e[19];let B;e[20]===w?B=e[21]:(B=(0,s.jsx)(`div`,{className:o.Row,children:(0,s.jsxs)(`div`,{className:o.Key,"data-pressed":w,children:[z,` Space`]})}),e[20]=w,e[21]=B);let V;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,s.jsx)(`span`,{className:o.Arrow,children:`↓`}),e[22]=V):V=e[22];let H;e[23]===T?H=e[24]:(H=(0,s.jsx)(`div`,{className:o.Row,children:(0,s.jsxs)(`div`,{className:o.Key,"data-pressed":T,children:[V,` Shift`]})}),e[23]=T,e[24]=H);let U;e[25]!==B||e[26]!==H?(U=(0,s.jsxs)(`div`,{className:o.Column,children:[B,H]}),e[25]=B,e[26]=H,e[27]=U):U=e[27];let W;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,s.jsx)(`div`,{className:o.Spacer}),e[28]=W):W=e[28];let G;e[29]===E?G=e[30]:(G=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":E,children:`↑`}),e[29]=E,e[30]=G);let K;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,s.jsx)(`div`,{className:o.Spacer}),e[31]=K):K=e[31];let q;e[32]===G?q=e[33]:(q=(0,s.jsxs)(`div`,{className:o.Row,children:[W,G,K]}),e[32]=G,e[33]=q);let J;e[34]===O?J=e[35]:(J=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":O,children:`←`}),e[34]=O,e[35]=J);let Y;e[36]===D?Y=e[37]:(Y=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":D,children:`↓`}),e[36]=D,e[37]=Y);let X;e[38]===k?X=e[39]:(X=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":k,children:`→`}),e[38]=k,e[39]=X);let Z;e[40]!==J||e[41]!==Y||e[42]!==X?(Z=(0,s.jsxs)(`div`,{className:o.Row,children:[J,Y,X]}),e[40]=J,e[41]=Y,e[42]=X,e[43]=Z):Z=e[43];let Q;e[44]!==q||e[45]!==Z?(Q=(0,s.jsxs)(`div`,{className:o.Column,children:[q,Z]}),e[44]=q,e[45]=Z,e[46]=Q):Q=e[46];let $;return e[47]!==U||e[48]!==Q||e[49]!==R?($=(0,s.jsxs)(`div`,{className:o.Root,children:[R,U,Q]}),e[47]=U,e[48]=Q,e[49]=R,e[50]=$):$=e[50],$}function l(e){return e.lookRight}function u(e){return e.lookLeft}function d(e){return e.lookDown}function f(e){return e.lookUp}function p(e){return e.down}function m(e){return e.up}function h(e){return e.right}function g(e){return e.left}function _(e){return e.backward}function v(e){return e.forward}function y(e){return e.liveReady}export{c as KeyboardOverlay}; \ No newline at end of file +import{n as e,t}from"./jsx-runtime-BpGWiA-R.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./streamHelpers-Be29sBCp.js";import"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import"./engineStore-Cio8vU1L.js";import{_ as n,m as r,s as i}from"./index-Chmtkuc3.js";var a=e(),o={Root:`_Root_uktvs_1`,Column:`_Column_uktvs_13`,Row:`_Row_uktvs_20`,Spacer:`_Spacer_uktvs_26`,Key:`_Key_uktvs_30`,Arrow:`_Arrow_uktvs_53`},s=t();function c(){let e=(0,a.c)(51),t=r(),c=n(y),b=i(v),x=i(_),S=i(g),C=i(h),w=i(m),T=i(p),E=i(f),D=i(d),O=i(u),k=i(l);if(t&&t.source!==`live`||t?.source===`live`&&!c)return null;let A;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,s.jsx)(`div`,{className:o.Spacer}),e[0]=A):A=e[0];let j;e[1]===b?j=e[2]:(j=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":b,children:`W`}),e[1]=b,e[2]=j);let M;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,s.jsx)(`div`,{className:o.Spacer}),e[3]=M):M=e[3];let N;e[4]===j?N=e[5]:(N=(0,s.jsxs)(`div`,{className:o.Row,children:[A,j,M]}),e[4]=j,e[5]=N);let P;e[6]===S?P=e[7]:(P=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":S,children:`A`}),e[6]=S,e[7]=P);let F;e[8]===x?F=e[9]:(F=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":x,children:`S`}),e[8]=x,e[9]=F);let I;e[10]===C?I=e[11]:(I=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":C,children:`D`}),e[10]=C,e[11]=I);let L;e[12]!==P||e[13]!==F||e[14]!==I?(L=(0,s.jsxs)(`div`,{className:o.Row,children:[P,F,I]}),e[12]=P,e[13]=F,e[14]=I,e[15]=L):L=e[15];let R;e[16]!==N||e[17]!==L?(R=(0,s.jsxs)(`div`,{className:o.Column,children:[N,L]}),e[16]=N,e[17]=L,e[18]=R):R=e[18];let z;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,s.jsx)(`span`,{className:o.Arrow,children:`↑`}),e[19]=z):z=e[19];let B;e[20]===w?B=e[21]:(B=(0,s.jsx)(`div`,{className:o.Row,children:(0,s.jsxs)(`div`,{className:o.Key,"data-pressed":w,children:[z,` Space`]})}),e[20]=w,e[21]=B);let V;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,s.jsx)(`span`,{className:o.Arrow,children:`↓`}),e[22]=V):V=e[22];let H;e[23]===T?H=e[24]:(H=(0,s.jsx)(`div`,{className:o.Row,children:(0,s.jsxs)(`div`,{className:o.Key,"data-pressed":T,children:[V,` Shift`]})}),e[23]=T,e[24]=H);let U;e[25]!==B||e[26]!==H?(U=(0,s.jsxs)(`div`,{className:o.Column,children:[B,H]}),e[25]=B,e[26]=H,e[27]=U):U=e[27];let W;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,s.jsx)(`div`,{className:o.Spacer}),e[28]=W):W=e[28];let G;e[29]===E?G=e[30]:(G=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":E,children:`↑`}),e[29]=E,e[30]=G);let K;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,s.jsx)(`div`,{className:o.Spacer}),e[31]=K):K=e[31];let q;e[32]===G?q=e[33]:(q=(0,s.jsxs)(`div`,{className:o.Row,children:[W,G,K]}),e[32]=G,e[33]=q);let J;e[34]===O?J=e[35]:(J=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":O,children:`←`}),e[34]=O,e[35]=J);let Y;e[36]===D?Y=e[37]:(Y=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":D,children:`↓`}),e[36]=D,e[37]=Y);let X;e[38]===k?X=e[39]:(X=(0,s.jsx)(`div`,{className:o.Key,"data-pressed":k,children:`→`}),e[38]=k,e[39]=X);let Z;e[40]!==J||e[41]!==Y||e[42]!==X?(Z=(0,s.jsxs)(`div`,{className:o.Row,children:[J,Y,X]}),e[40]=J,e[41]=Y,e[42]=X,e[43]=Z):Z=e[43];let Q;e[44]!==q||e[45]!==Z?(Q=(0,s.jsxs)(`div`,{className:o.Column,children:[q,Z]}),e[44]=q,e[45]=Z,e[46]=Q):Q=e[46];let $;return e[47]!==U||e[48]!==Q||e[49]!==R?($=(0,s.jsxs)(`div`,{className:o.Root,children:[R,U,Q]}),e[47]=U,e[48]=Q,e[49]=R,e[50]=$):$=e[50],$}function l(e){return e.lookRight}function u(e){return e.lookLeft}function d(e){return e.lookDown}function f(e){return e.lookUp}function p(e){return e.down}function m(e){return e.up}function h(e){return e.right}function g(e){return e.left}function _(e){return e.backward}function v(e){return e.forward}function y(e){return e.liveReady}export{c as KeyboardOverlay}; \ No newline at end of file diff --git a/docs/assets/MapInfoDialog-CpbFz03C.js b/docs/assets/MapInfoDialog-Bg4n8WBg.js similarity index 97% rename from docs/assets/MapInfoDialog-CpbFz03C.js rename to docs/assets/MapInfoDialog-Bg4n8WBg.js index 11fc4b81..8eb39f07 100644 --- a/docs/assets/MapInfoDialog-CpbFz03C.js +++ b/docs/assets/MapInfoDialog-Bg4n8WBg.js @@ -1,4 +1,4 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./useQuery-CwJPnLi6.js";import{c as a}from"./manifest-CmJ-OiDc.js";import"./logger-zy3b0zcG.js";import"./mission-CFLOK_Oy.js";import{T as o,w as s}from"./index-B_QKaSWI.js";import{i as c,l,n as u}from"./loaders-C_1cX1lR.js";var d=t(),f=e(n(),1),p={GuiMarkup:`_GuiMarkup_jg4va_1`,Bullet:`_Bullet_jg4va_12`},m=r(),h=new Set([`spop`,`spush`,`lmargin`,`font`,`color`,`bitmap`,`a`,`/a`]);function g(e){return e.split(/<([^><]+)>/g).map((e,t)=>{if(t%2==0)return e?{type:`text`,value:e}:null;{let[t,...n]=e.split(`:`);return h.has(t.toLowerCase())?{type:`tag`,name:t,args:n}:{type:`text`,value:`<${e}>`}}}).filter(e=>e!=null)}function _(e){let[t,n]=e;return{fontDescription:t,fontSize:n?Math.max(11,Math.min(parseInt(n.trim(),10),16)):void 0}}function v(e){let t=g(e),n={type:`span`,source:`root`,style:{},children:[]},r=n,i=[r],a=e=>e.children!=null&&e.children.some(e=>typeof e==`string`||a(e));for(let e of t)switch(e.type){case`text`:r.children.push(e.value);break;case`tag`:switch(e.name){case`spush`:{let e={type:`span`,source:`spush`,style:{},children:[]};r.children.push(e),r=e,i.push(r);break}case`spop`:if(r.source!==`root`){let e=i.pop();for(;e.source!==`spush`;)e=i.pop();r=i[i.length-1]}break;case`lmargin`:break;case`font`:{let t=_(e.args).fontSize;if(!a(r))r.style.fontSize=t;else{let e={type:`span`,source:`spush`,style:{fontSize:t},children:[]};r.children.push(e),r=e,i.push(r)}break}case`color`:if(!a(r))r.style.color=`#${e.args[0].trim()}`;else{let t={type:`span`,source:`spush`,style:{color:`#${e.args[0].trim()}`},children:[]};r.children.push(t),r=t,i.push(r)}break;case`bitmap`:{let t={type:`bitmap`,value:e.args[0]};r.children.push(t);break}case`a`:{let t=e.args[0].trim().split(` `),n={type:`a`,source:`a`,value:`http://${t.length===2&&t[0]===`wwwlink`?t[1]:t[0]}`,style:{},children:[]};r.children.push(n),r=n,i.push(r);break}case`/a`:{let e=i.pop();for(;e.source!==`a`;)e=i.pop();r=i[i.length-1];break}}}return y(n)}function y(e){switch(e.type){case`span`:return f.createElement(`span`,{style:Object.keys(e.style).length===0?void 0:e.style},...e.children.map(e=>typeof e==`string`?e:y(e)));case`a`:return f.createElement(`a`,{href:e.value,style:Object.keys(e.style).length===0?void 0:e.style,rel:`noopener noreferrer`,target:`_blank`},...e.children.map(e=>typeof e==`string`?e:y(e)));case`bitmap`:return(0,m.jsx)(S,{name:e.value})}}var b=new Map;function x(e){if(b.has(e))return b.get(e);let t;try{t=c(a(`textures/gui/${e}`))}catch{t=null}return b.set(e,t),t}function S(e){let t=(0,d.c)(5),{name:n}=e,r;t[0]===n?r=t[1]:(r=x(n),t[0]=n,t[1]=r);let i=r;if(i){let e;return t[2]===i?e=t[3]:(e=(0,m.jsx)(`img`,{src:i,alt:``,className:p.Bitmap}),t[2]=i,t[3]=e),e}if(/bullet/i.test(n)){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,m.jsx)(`span`,{className:p.Bullet,children:`•`}),t[4]=e):e=t[4],e}return null}var C=/<(?:font|color|bitmap|just|lmargin|a):/i;function w(e){return C.test(e)}function T(e,t){let n=t.toUpperCase();return e.split(` +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./useQuery-DTlry7jQ.js";import{c as a}from"./manifest-CmJ-OiDc.js";import"./logger-zy3b0zcG.js";import"./mission-CFLOK_Oy.js";import{E as o,T as s}from"./index-Chmtkuc3.js";import{i as c,l,n as u}from"./loaders-BRV0t4WA.js";var d=t(),f=e(n(),1),p={GuiMarkup:`_GuiMarkup_jg4va_1`,Bullet:`_Bullet_jg4va_12`},m=r(),h=new Set([`spop`,`spush`,`lmargin`,`font`,`color`,`bitmap`,`a`,`/a`]);function g(e){return e.split(/<([^><]+)>/g).map((e,t)=>{if(t%2==0)return e?{type:`text`,value:e}:null;{let[t,...n]=e.split(`:`);return h.has(t.toLowerCase())?{type:`tag`,name:t,args:n}:{type:`text`,value:`<${e}>`}}}).filter(e=>e!=null)}function _(e){let[t,n]=e;return{fontDescription:t,fontSize:n?Math.max(11,Math.min(parseInt(n.trim(),10),16)):void 0}}function v(e){let t=g(e),n={type:`span`,source:`root`,style:{},children:[]},r=n,i=[r],a=e=>e.children!=null&&e.children.some(e=>typeof e==`string`||a(e));for(let e of t)switch(e.type){case`text`:r.children.push(e.value);break;case`tag`:switch(e.name){case`spush`:{let e={type:`span`,source:`spush`,style:{},children:[]};r.children.push(e),r=e,i.push(r);break}case`spop`:if(r.source!==`root`){let e=i.pop();for(;e.source!==`spush`;)e=i.pop();r=i[i.length-1]}break;case`lmargin`:break;case`font`:{let t=_(e.args).fontSize;if(!a(r))r.style.fontSize=t;else{let e={type:`span`,source:`spush`,style:{fontSize:t},children:[]};r.children.push(e),r=e,i.push(r)}break}case`color`:if(!a(r))r.style.color=`#${e.args[0].trim()}`;else{let t={type:`span`,source:`spush`,style:{color:`#${e.args[0].trim()}`},children:[]};r.children.push(t),r=t,i.push(r)}break;case`bitmap`:{let t={type:`bitmap`,value:e.args[0]};r.children.push(t);break}case`a`:{let t=e.args[0].trim().split(` `),n={type:`a`,source:`a`,value:`http://${t.length===2&&t[0]===`wwwlink`?t[1]:t[0]}`,style:{},children:[]};r.children.push(n),r=n,i.push(r);break}case`/a`:{let e=i.pop();for(;e.source!==`a`;)e=i.pop();r=i[i.length-1];break}}}return y(n)}function y(e){switch(e.type){case`span`:return f.createElement(`span`,{style:Object.keys(e.style).length===0?void 0:e.style},...e.children.map(e=>typeof e==`string`?e:y(e)));case`a`:return f.createElement(`a`,{href:e.value,style:Object.keys(e.style).length===0?void 0:e.style,rel:`noopener noreferrer`,target:`_blank`},...e.children.map(e=>typeof e==`string`?e:y(e)));case`bitmap`:return(0,m.jsx)(S,{name:e.value})}}var b=new Map;function x(e){if(b.has(e))return b.get(e);let t;try{t=c(a(`textures/gui/${e}`))}catch{t=null}return b.set(e,t),t}function S(e){let t=(0,d.c)(5),{name:n}=e,r;t[0]===n?r=t[1]:(r=x(n),t[0]=n,t[1]=r);let i=r;if(i){let e;return t[2]===i?e=t[3]:(e=(0,m.jsx)(`img`,{src:i,alt:``,className:p.Bitmap}),t[2]=i,t[3]=e),e}if(/bullet/i.test(n)){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,m.jsx)(`span`,{className:p.Bullet,children:`•`}),t[4]=e):e=t[4],e}return null}var C=/<(?:font|color|bitmap|just|lmargin|a):/i;function w(e){return C.test(e)}function T(e,t){let n=t.toUpperCase();return e.split(` `).flatMap(e=>{let t=e.match(/^\[([^\]]+)\]/);return t&&!t[1].toUpperCase().split(/\s+/).includes(n)?[]:[e.replace(/^\[[^\]]+\]/,``)]}).join(` `)}function E(e){let t=(0,d.c)(4),{markup:n}=e,r;t[0]===n?r=t[1]:(r=v(n),t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,m.jsx)(`div`,{className:p.GuiMarkup,children:i}),t[2]=i,t[3]=a),a}var D={Dialog:`_Dialog_tbn5d_1 _Dialog_6c89x_1`,Overlay:`_Overlay_tbn5d_10 _Overlay_6c89x_20`,Body:`_Body_tbn5d_14`,Left:`_Left_tbn5d_22`,PreviewImage:`_PreviewImage_tbn5d_29`,PreviewImageFloating:`_PreviewImageFloating_tbn5d_35`,Title:`_Title_tbn5d_45`,MapMeta:`_MapMeta_tbn5d_53`,MapPlanet:`_MapPlanet_tbn5d_63`,MapQuote:`_MapQuote_tbn5d_67`,MapBlurb:`_MapBlurb_tbn5d_86`,Section:`_Section_tbn5d_91`,SectionTitle:`_SectionTitle_tbn5d_95`,MusicTrack:`_MusicTrack_tbn5d_105`,MusicButton:`_MusicButton_tbn5d_119`,Footer:`_Footer_tbn5d_146`,CloseButton:`_CloseButton_tbn5d_158 _DialogButton_6c89x_31`,Hint:`_Hint_tbn5d_162`,MusicTrackName:`_MusicTrackName_tbn5d_168`};function ee(e){let t=(0,d.c)(2),n;return t[0]===e?n=t[1]:(n={queryKey:[`parsedMission`,e],queryFn:()=>l(e)},t[0]=e,t[1]=n),i(n)}function te(e){for(let t of e.body){if(t.type!==`ObjectDeclaration`)continue;let{instanceName:e,body:n}=t;if(e&&e.type===`Identifier`&&e.name.toLowerCase()===`missiongroup`){let e={};for(let t of n){if(t.type!==`Assignment`)continue;let{target:n,value:r}=t;n.type===`Identifier`&&r.type===`StringLiteral`&&(e[n.name.toLowerCase()]=r.value)}return e}}return{}}function ne(e,t){if(e)try{return c(a(`textures/gui/${e}`))}catch{}try{return c(a(`textures/gui/Load_${t}`))}catch{}return null}function re(e){let t=(0,d.c)(7),{src:n,alt:r,className:i}=e,a=i===void 0?D.PreviewImage:i,[o,s]=(0,f.useState)(null),c,l;if(t[0]===n?(c=t[1],l=t[2]):(c=()=>{let e=!1,t;return fetch(n).then(j).then(A).then(k).then(n=>{e||!n||(t=URL.createObjectURL(n),s(t))}).catch(O),()=>{e=!0,t&&URL.revokeObjectURL(t)}},l=[n],t[0]=n,t[1]=c,t[2]=l),(0,f.useEffect)(c,l),!o)return null;let u;return t[3]!==r||t[4]!==a||t[5]!==o?(u=(0,m.jsx)(`img`,{src:o,alt:r,className:a}),t[3]=r,t[4]=a,t[5]=o,t[6]=u):u=t[6],u}function O(){}function k(e){return new Promise(t=>{let n=document.createElement(`canvas`);n.width=e.width,n.height=e.height,n.getContext(`2d`)?.drawImage(e,0,0),e.close(),n.toBlob(t)})}function A(e){return createImageBitmap(e,{colorSpaceConversion:`none`})}function j(e){return e.blob()}function ie(e){let t=(0,d.c)(22),{track:n}=e,[r,i]=(0,f.useState)(!1),[a,c]=(0,f.useState)(!0),l=(0,f.useRef)(null),p;t[0]===n?p=t[1]:(p=n.toLowerCase(),t[0]=n,t[1]=p);let h=`${u}music/${p}.mp3`,g,_;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=l.current;if(e)return()=>{e.pause()}},_=[],t[2]=g,t[3]=_):(g=t[2],_=t[3]),(0,f.useEffect)(g,_);let v;t[4]===r?v=t[5]:(v=()=>{let e=l.current;e&&(r?e.pause():e.play().catch(()=>c(!1)))},t[4]=r,t[5]=v);let y=v,b,x,S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>i(!0),x=()=>i(!1),S=()=>c(!1),t[6]=b,t[7]=x,t[8]=S):(b=t[6],x=t[7],S=t[8]);let C;t[9]===h?C=t[10]:(C=(0,m.jsx)(`audio`,{ref:l,src:h,loop:!0,onPlay:b,onPause:x,onError:S}),t[9]=h,t[10]=C);let w;t[11]===n?w=t[12]:(w=(0,m.jsx)(`span`,{className:D.MusicTrackName,children:n}),t[11]=n,t[12]=w);let T;t[13]!==a||t[14]!==r||t[15]!==y?(T=a&&(0,m.jsx)(`button`,{className:D.MusicButton,onClick:y,"aria-label":r?`Pause music`:`Play music`,children:r?(0,m.jsx)(o,{}):(0,m.jsx)(s,{})}),t[13]=a,t[14]=r,t[15]=y,t[16]=T):T=t[16];let E;return t[17]!==r||t[18]!==T||t[19]!==C||t[20]!==w?(E=(0,m.jsxs)(`div`,{className:D.MusicTrack,"data-playing":r,children:[C,w,T]}),t[17]=r,t[18]=T,t[19]=C,t[20]=w,t[21]=E):E=t[21],E}function M(e){let t=(0,d.c)(100),{onClose:n,missionName:r,missionType:i}=e,{data:a}=ee(r),o=(0,f.useRef)(null),s,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o.current?.focus();try{document.exitPointerLock()}catch{}},c=[],t[0]=s,t[1]=c):(s=t[0],c=t[1]),(0,f.useEffect)(s,c);let l,u;t[2]===n?(l=t[3],u=t[4]):(l=()=>{let e=e=>{if(e.key===`Escape`)n();else if(e.key===`k`&&(e.metaKey||e.ctrlKey)){n();return}e.stopImmediatePropagation()},t=se;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,t,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,t,{capture:!0})}},u=[n],t[2]=n,t[3]=l,t[4]=u),(0,f.useEffect)(l,u);let p;t[5]===a?p=t[6]:(p=a?te(a.ast):{},t[5]=a,t[6]=p);let h=p,g;t[7]!==r||t[8]!==a?(g=a?ne(a.bitmap,r):null,t[7]=r,t[8]=a,t[9]=g):g=t[9];let _=g,v=a?.displayName??r,y;t[10]===i?y=t[11]:(y=i.toLowerCase(),t[10]=i,t[11]=y);let b=y===`singleplayer`,x=h.musictrack,S,C,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U;if(t[12]!==_||t[13]!==v||t[14]!==b||t[15]!==i||t[16]!==n||t[17]!==a){let e=a?.missionString?T(a.missionString,i):null,r,s,c,l;if(t[36]!==a?.missionQuote){if(l=a?.missionQuote?.trim()??``,s=w(l),c=``,r=``,!s)for(let e of l.split(` `)){let t=e.trim();t.match(/^--[^-]/)?r=t.replace(/^-+\s*/,``).trim():t&&(c+=(c?` diff --git a/docs/assets/Mission-BRbZNPqp.js b/docs/assets/Mission-CvvW4W8s.js similarity index 98% rename from docs/assets/Mission-BRbZNPqp.js rename to docs/assets/Mission-CvvW4W8s.js index e85a0c2f..1813e7b7 100644 --- a/docs/assets/Mission-BRbZNPqp.js +++ b/docs/assets/Mission-CvvW4W8s.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./useQuery-CwJPnLi6.js";import{a,i as o,o as s,s as c}from"./manifest-CmJ-OiDc.js";import{t as l}from"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{a as u,i as d,n as f,o as p,r as m,t as h}from"./misToScene-CcfLZFwc.js";import{c as g,l as _,n as v,o as y,r as b,s as x,t as S}from"./mission-CFLOK_Oy.js";import{r as C}from"./engineStore-Cio8vU1L.js";import{v as w}from"./index-B_QKaSWI.js";import{i as T,l as E}from"./loaders-C_1cX1lR.js";var D=e(_(),1),O=t(),k=l(`scriptLoader`);function A(){return async e=>{let t;try{t=T(e)}catch(t){return k.warn(`Script not in manifest: %s (%s)`,e,t),null}try{let n=await fetch(t);return n.ok?await n.text():(k.error(`Script fetch failed: %s (%d)`,e,n.status),null)}catch(t){return k.error(`Script fetch error: %s %o`,e,t),null}}}var j=e(n(),1),M=r(),N=(0,j.createContext)(null);function P(e){let t=(0,O.c)(3),{runtime:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,M.jsx)(N.Provider,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}var F=(0,j.createContext)(null).Provider,I=[`scripts/admin.cs`,`scripts/ai.cs`,`scripts/aiBotProfiles.cs`,`scripts/aiBountyGame.cs`,`scripts/aiChat.cs`,`scripts/aiCnH.cs`,`scripts/aiCTF.cs`,`scripts/aiDeathMatch.cs`,`scripts/aiDebug.cs`,`scripts/aiDefaultTasks.cs`,`scripts/aiDnD.cs`,`scripts/aiHumanTasks.cs`,`scripts/aiHunters.cs`,`scripts/aiInventory.cs`,`scripts/aiObjectiveBuilder.cs`,`scripts/aiObjectives.cs`,`scripts/aiRabbit.cs`,`scripts/aiSiege.cs`,`scripts/aiTDM.cs`,`scripts/aiTeamHunters.cs`,`scripts/deathMessages.cs`,`scripts/graphBuild.cs`,`scripts/navGraph.cs`,`scripts/serverTasks.cs`,`scripts/spdialog.cs`];function L(e,t){if(t)return e.state.datablocks.get(t)}function R(e){if(typeof e==`string`){let t=e.toLowerCase();return t!==`0`&&t!==`false`&&t!==``}return!!e}function z(e){let t=e.split(` `).map(e=>parseFloat(e));return[t[0]??0,t[1]??0,t[2]??0]}function B(e){let[t,n,r,i]=e.split(` `).map(parseFloat),a=-(i||0)*Math.PI/360,o=Math.sin(a),s=Math.cos(a),c=Math.sqrt((n||0)*(n||0)+(r||0)*(r||0)+(t||0)*(t||0));return c<1e-8?[0,0,0,1]:[(n||0)/c*o,(r||0)/c*o,(t||0)/c*o,s]}function V(e,t,n){let r=e._className,i=`mission_${e._id}`,a=S(e),o=b(e),s=B(e.rotation??`1 0 0 0`),c=v(e,`dataBlock`)??``,l=L(t,c),g={id:i,className:r,runtimeObject:e,missionTypesList:v(e,`missionTypesList`)},_={...g,position:a,rotation:s,scale:o};switch(r){case`TerrainBlock`:return{...g,renderType:`TerrainBlock`,terrainData:u(e)};case`InteriorInstance`:return{...g,renderType:`InteriorInstance`,interiorData:h(e)};case`Sky`:return{...g,renderType:`Sky`,skyData:m(e)};case`Sun`:return{...g,renderType:`Sun`,sunData:d(e)};case`WaterBlock`:return{...g,renderType:`WaterBlock`,waterData:p(e)};case`MissionArea`:return{...g,renderType:`MissionArea`,missionAreaData:f(e)};case`StaticShape`:case`Item`:case`Turret`:case`TSStatic`:{let i=v(e,`team`);return H(_,e,l,t,r,i!=null&&i!==``?parseInt(i,10):n,c)}case`ForceFieldBare`:return U(_,e,l,o);case`AudioEmitter`:return{..._,renderType:`AudioEmitter`,audioFileName:v(e,`fileName`)??void 0,audioVolume:parseFloat(v(e,`volume`))||1,audioIs3D:(v(e,`is3D`)??`0`)!==`0`,audioIsLooping:(v(e,`isLooping`)??`0`)!==`0`,audioMinDistance:parseFloat(v(e,`minDistance`))||1,audioMaxDistance:parseFloat(v(e,`maxDistance`))||1,audioMinLoopGap:parseFloat(v(e,`minLoopGap`))||0,audioMaxLoopGap:parseFloat(v(e,`maxLoopGap`))||0};case`Camera`:return{..._,renderType:`Camera`,cameraDataBlock:c||void 0};case`WayPoint`:return{..._,renderType:`WayPoint`,label:v(e,`name`)||void 0};default:return null}}function H(e,t,n,r,i,a,o){let s=i===`TSStatic`?v(t,`shapeName`):v(n,`shapeFile`),c=i===`Turret`?`Turret`:i===`Item`?`Item`:i===`TSStatic`?`TSStatic`:`StaticShape`,l={...e,renderType:`Shape`,shapeName:s,shapeType:c,dataBlock:o||void 0,teamId:a};if(i===`Item`&&(l.rotate=R(v(t,`rotate`)??v(n,`rotate`))),i===`Turret`){let e=v(t,`initialBarrel`);e&&(l.barrelShapeName=v(L(r,e),`shapeFile`))}return l}function U(e,t,n,r){let i=v(n,`color`),a=i?z(i):[1,1,1],o=parseFloat(v(n,`baseTranslucency`))||1,s=parseInt(v(n,`numFrames`),10)||1,c=parseFloat(v(n,`framesPerSec`))||1,l=parseFloat(v(n,`scrollSpeed`))||0,u=parseFloat(v(n,`umapping`))||1,d=parseFloat(v(n,`vmapping`))||1,f=[];for(let e=0;e{let t=(0,D.default)(e,{nocase:!0});return a().filter(e=>t(e)).map(e=>{let[,t]=c(e);return t})},isFile:e=>s()[o(e)]!=null};function X(e){let t=(0,O.c)(2),n;return t[0]===e?n=t[1]:(n={queryKey:[`parsedMission`,e],queryFn:()=>E(e)},t[0]=e,t[1]=n),i(n)}function Z(e,t,n){let r=(0,O.c)(6),i;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={ready:!1,runtime:void 0,progress:0},r[0]=i):i=r[0];let[a,o]=(0,j.useState)(i),s,c;return r[1]!==e||r[2]!==t||r[3]!==n?(s=()=>{if(!n)return;let r=new AbortController,i=!1,a=null,s=x(),c=()=>{o(e=>({...e,progress:s.progress}))};s.on(`update`,c);let{runtime:l,ready:u}=y({missionName:e,missionType:t,runtimeOptions:{loadScript:q,fileSystem:Y,cache:J,signal:r.signal,progress:s,ignoreScripts:I}});return u.then(()=>{if(i||r.signal.aborted)return;C.getState().setRuntime(l);let n=l.getObjectByName(`MissionGroup`);if(n){let r=G(n,l,t);w.getState().setAllEntities(r),w.getState().setMissionInfo({missionName:e,missionType:t??void 0})}o({ready:!0,runtime:l,progress:1})}).catch($),a=l.subscribeRuntimeEvents(Q),C.getState().setRuntime(l),()=>{i=!0,s.off(`update`,c),r.abort(),a?.(),C.getState().clearRuntime(),w.getState().clearEntities(),l.destroy()}},c=[e,t,n],r[1]=e,r[2]=t,r[3]=n,r[4]=s,r[5]=c):(s=r[4],c=r[5]),(0,j.useEffect)(s,c),a}function Q(e){e.type===`batch.flushed`&&C.getState().applyRuntimeBatch(e.events,{tick:e.tick})}function $(e){e instanceof Error&&e.name===`AbortError`||K.error(`Mission runtime failed to become ready: %o`,e)}var ee=(0,j.memo)(function(e){let t=(0,O.c)(13),{name:n,missionType:r,onLoadingChange:i}=e,{data:a}=X(n),{ready:o,runtime:s,progress:c}=Z(n,r,a),l=!a||!o||!s,u;t[0]!==r||t[1]!==a?(u={metadata:a,missionType:r},t[0]=r,t[1]=a,t[2]=u):u=t[2];let d=u,f,p;if(t[3]!==l||t[4]!==i||t[5]!==c?(f=()=>{i?.(l,c)},p=[l,c,i],t[3]=l,t[4]=i,t[5]=c,t[6]=f,t[7]=p):(f=t[6],p=t[7]),(0,j.useEffect)(f,p),l)return null;let m;t[8]===s?m=t[9]:(m=(0,M.jsx)(P,{runtime:s}),t[8]=s,t[9]=m);let h;return t[10]!==d||t[11]!==m?(h=(0,M.jsx)(F,{value:d,children:m}),t[10]=d,t[11]=m,t[12]=h):h=t[12],h});export{ee as Mission}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./useQuery-DTlry7jQ.js";import{a,i as o,o as s,s as c}from"./manifest-CmJ-OiDc.js";import{t as l}from"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{a as u,i as d,n as f,o as p,r as m,t as h}from"./misToScene-CcfLZFwc.js";import{c as g,l as _,n as v,o as y,r as b,s as x,t as S}from"./mission-CFLOK_Oy.js";import{r as C}from"./engineStore-Cio8vU1L.js";import{v as w}from"./index-Chmtkuc3.js";import{i as T,l as E}from"./loaders-BRV0t4WA.js";var D=e(_(),1),O=t(),k=l(`scriptLoader`);function A(){return async e=>{let t;try{t=T(e)}catch(t){return k.warn(`Script not in manifest: %s (%s)`,e,t),null}try{let n=await fetch(t);return n.ok?await n.text():(k.error(`Script fetch failed: %s (%d)`,e,n.status),null)}catch(t){return k.error(`Script fetch error: %s %o`,e,t),null}}}var j=e(n(),1),M=r(),N=(0,j.createContext)(null);function P(e){let t=(0,O.c)(3),{runtime:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,M.jsx)(N.Provider,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}var F=(0,j.createContext)(null).Provider,I=[`scripts/admin.cs`,`scripts/ai.cs`,`scripts/aiBotProfiles.cs`,`scripts/aiBountyGame.cs`,`scripts/aiChat.cs`,`scripts/aiCnH.cs`,`scripts/aiCTF.cs`,`scripts/aiDeathMatch.cs`,`scripts/aiDebug.cs`,`scripts/aiDefaultTasks.cs`,`scripts/aiDnD.cs`,`scripts/aiHumanTasks.cs`,`scripts/aiHunters.cs`,`scripts/aiInventory.cs`,`scripts/aiObjectiveBuilder.cs`,`scripts/aiObjectives.cs`,`scripts/aiRabbit.cs`,`scripts/aiSiege.cs`,`scripts/aiTDM.cs`,`scripts/aiTeamHunters.cs`,`scripts/deathMessages.cs`,`scripts/graphBuild.cs`,`scripts/navGraph.cs`,`scripts/serverTasks.cs`,`scripts/spdialog.cs`];function L(e,t){if(t)return e.state.datablocks.get(t)}function R(e){if(typeof e==`string`){let t=e.toLowerCase();return t!==`0`&&t!==`false`&&t!==``}return!!e}function z(e){let t=e.split(` `).map(e=>parseFloat(e));return[t[0]??0,t[1]??0,t[2]??0]}function B(e){let[t,n,r,i]=e.split(` `).map(parseFloat),a=-(i||0)*Math.PI/360,o=Math.sin(a),s=Math.cos(a),c=Math.sqrt((n||0)*(n||0)+(r||0)*(r||0)+(t||0)*(t||0));return c<1e-8?[0,0,0,1]:[(n||0)/c*o,(r||0)/c*o,(t||0)/c*o,s]}function V(e,t,n){let r=e._className,i=`mission_${e._id}`,a=S(e),o=b(e),s=B(e.rotation??`1 0 0 0`),c=v(e,`dataBlock`)??``,l=L(t,c),g={id:i,className:r,runtimeObject:e,missionTypesList:v(e,`missionTypesList`)},_={...g,position:a,rotation:s,scale:o};switch(r){case`TerrainBlock`:return{...g,renderType:`TerrainBlock`,terrainData:u(e)};case`InteriorInstance`:return{...g,renderType:`InteriorInstance`,interiorData:h(e)};case`Sky`:return{...g,renderType:`Sky`,skyData:m(e)};case`Sun`:return{...g,renderType:`Sun`,sunData:d(e)};case`WaterBlock`:return{...g,renderType:`WaterBlock`,waterData:p(e)};case`MissionArea`:return{...g,renderType:`MissionArea`,missionAreaData:f(e)};case`StaticShape`:case`Item`:case`Turret`:case`TSStatic`:{let i=v(e,`team`);return H(_,e,l,t,r,i!=null&&i!==``?parseInt(i,10):n,c)}case`ForceFieldBare`:return U(_,e,l,o);case`AudioEmitter`:return{..._,renderType:`AudioEmitter`,audioFileName:v(e,`fileName`)??void 0,audioVolume:parseFloat(v(e,`volume`))||1,audioIs3D:(v(e,`is3D`)??`0`)!==`0`,audioIsLooping:(v(e,`isLooping`)??`0`)!==`0`,audioMinDistance:parseFloat(v(e,`minDistance`))||1,audioMaxDistance:parseFloat(v(e,`maxDistance`))||1,audioMinLoopGap:parseFloat(v(e,`minLoopGap`))||0,audioMaxLoopGap:parseFloat(v(e,`maxLoopGap`))||0};case`Camera`:return{..._,renderType:`Camera`,cameraDataBlock:c||void 0};case`WayPoint`:return{..._,renderType:`WayPoint`,label:v(e,`name`)||void 0};default:return null}}function H(e,t,n,r,i,a,o){let s=i===`TSStatic`?v(t,`shapeName`):v(n,`shapeFile`),c=i===`Turret`?`Turret`:i===`Item`?`Item`:i===`TSStatic`?`TSStatic`:`StaticShape`,l={...e,renderType:`Shape`,shapeName:s,shapeType:c,dataBlock:o||void 0,teamId:a};if(i===`Item`&&(l.rotate=R(v(t,`rotate`)??v(n,`rotate`))),i===`Turret`){let e=v(t,`initialBarrel`);e&&(l.barrelShapeName=v(L(r,e),`shapeFile`))}return l}function U(e,t,n,r){let i=v(n,`color`),a=i?z(i):[1,1,1],o=parseFloat(v(n,`baseTranslucency`))||1,s=parseInt(v(n,`numFrames`),10)||1,c=parseFloat(v(n,`framesPerSec`))||1,l=parseFloat(v(n,`scrollSpeed`))||0,u=parseFloat(v(n,`umapping`))||1,d=parseFloat(v(n,`vmapping`))||1,f=[];for(let e=0;e{let t=(0,D.default)(e,{nocase:!0});return a().filter(e=>t(e)).map(e=>{let[,t]=c(e);return t})},isFile:e=>s()[o(e)]!=null};function X(e){let t=(0,O.c)(2),n;return t[0]===e?n=t[1]:(n={queryKey:[`parsedMission`,e],queryFn:()=>E(e)},t[0]=e,t[1]=n),i(n)}function Z(e,t,n){let r=(0,O.c)(6),i;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={ready:!1,runtime:void 0,progress:0},r[0]=i):i=r[0];let[a,o]=(0,j.useState)(i),s,c;return r[1]!==e||r[2]!==t||r[3]!==n?(s=()=>{if(!n)return;let r=new AbortController,i=!1,a=null,s=x(),c=()=>{o(e=>({...e,progress:s.progress}))};s.on(`update`,c);let{runtime:l,ready:u}=y({missionName:e,missionType:t,runtimeOptions:{loadScript:q,fileSystem:Y,cache:J,signal:r.signal,progress:s,ignoreScripts:I}});return u.then(()=>{if(i||r.signal.aborted)return;C.getState().setRuntime(l);let n=l.getObjectByName(`MissionGroup`);if(n){let r=G(n,l,t);w.getState().setAllEntities(r),w.getState().setMissionInfo({missionName:e,missionType:t??void 0})}o({ready:!0,runtime:l,progress:1})}).catch($),a=l.subscribeRuntimeEvents(Q),C.getState().setRuntime(l),()=>{i=!0,s.off(`update`,c),r.abort(),a?.(),C.getState().clearRuntime(),w.getState().clearEntities(),l.destroy()}},c=[e,t,n],r[1]=e,r[2]=t,r[3]=n,r[4]=s,r[5]=c):(s=r[4],c=r[5]),(0,j.useEffect)(s,c),a}function Q(e){e.type===`batch.flushed`&&C.getState().applyRuntimeBatch(e.events,{tick:e.tick})}function $(e){e instanceof Error&&e.name===`AbortError`||K.error(`Mission runtime failed to become ready: %o`,e)}var ee=(0,j.memo)(function(e){let t=(0,O.c)(13),{name:n,missionType:r,onLoadingChange:i}=e,{data:a}=X(n),{ready:o,runtime:s,progress:c}=Z(n,r,a),l=!a||!o||!s,u;t[0]!==r||t[1]!==a?(u={metadata:a,missionType:r},t[0]=r,t[1]=a,t[2]=u):u=t[2];let d=u,f,p;if(t[3]!==l||t[4]!==i||t[5]!==c?(f=()=>{i?.(l,c)},p=[l,c,i],t[3]=l,t[4]=i,t[5]=c,t[6]=f,t[7]=p):(f=t[6],p=t[7]),(0,j.useEffect)(f,p),l)return null;let m;t[8]===s?m=t[9]:(m=(0,M.jsx)(P,{runtime:s}),t[8]=s,t[9]=m);let h;return t[10]!==d||t[11]!==m?(h=(0,M.jsx)(F,{value:d,children:m}),t[10]=d,t[11]=m,t[12]=h):h=t[12],h});export{ee as Mission}; \ No newline at end of file diff --git a/docs/assets/PlayerHUD-HAbQ-tte.js b/docs/assets/PlayerHUD-HAbQ-tte.js new file mode 100644 index 00000000..4306ad40 --- /dev/null +++ b/docs/assets/PlayerHUD-HAbQ-tte.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatInput-C8HvzNcM.js","assets/chunk-DECur_0Z.js","assets/index-Chmtkuc3.js","assets/streamHelpers-Be29sBCp.js","assets/three.module-CwgFV8Kd.js","assets/mission-CFLOK_Oy.js","assets/logger-zy3b0zcG.js","assets/react-three-fiber.esm-dhSWjERg.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-BTL5qX2E.js","assets/SettingsProvider-2cUUftaX.js","assets/manifest-CmJ-OiDc.js","assets/stringUtils-BfUKbRCH.js","assets/iconBase-BCRUFbxq.js","assets/engineStore-Cio8vU1L.js","assets/scene-B1EyKjda.js","assets/index-UOHJQQT_.css","assets/ChatInput-bC9wt42K.css"])))=>i.map(i=>d[i]); +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./stringUtils-BfUKbRCH.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./mission-CFLOK_Oy.js";import{i as a}from"./engineStore-Cio8vU1L.js";import{l as o}from"./index-Chmtkuc3.js";import{p as s}from"./loaders-BRV0t4WA.js";var c=t(),l={PlayerHUD:`_PlayerHUD_5937t_1`,Compass:`_Compass_5937t_11`,CompassRing:`_CompassRing_5937t_20`,CompassNSEW:`_CompassNSEW_5937t_29`,CompassClock:`_CompassClock_5937t_38`,Bars:`_Bars_5937t_51`,BarTrack:`_BarTrack_5937t_63`,BarFillHealth:`_BarFillHealth_5937t_71`,BarFillEnergy:`_BarFillEnergy_5937t_77`,WeaponHUD:`_WeaponHUD_5937t_85`,PackInvItem:`_PackInvItem_5937t_95`,WeaponSeparator:`_WeaponSeparator_5937t_105`,TeamScores:`_TeamScores_5937t_111`,ObserverCount:`_ObserverCount_5937t_126`,TeamRow:`_TeamRow_5937t_136`,TeamName:`_TeamName_5937t_145`,TeamNameFriendly:`_TeamNameFriendly_5937t_152 _TeamName_5937t_145`,TeamNameEnemy:`_TeamNameEnemy_5937t_157 _TeamName_5937t_145`,TeamScore:`_TeamScore_5937t_111`,TeamCount:`_TeamCount_5937t_170`,PackInventoryHUD:`_PackInventoryHUD_5937t_179`,PackInvIcon:`_PackInvIcon_5937t_210`,PackInvCount:`_PackInvCount_5937t_215`,PackInvInfinity:`_PackInvInfinity_5937t_222`,Reticle:`_Reticle_5937t_230`,ReticleImage:`_ReticleImage_5937t_237`,ReticleDot:`_ReticleDot_5937t_244`},u=e(n(),1),d={ChatContainer:`_ChatContainer_qc3qt_1`,ChatWindow:`_ChatWindow_qc3qt_14`,ChatMessage:`_ChatMessage_qc3qt_39`,ChatColor0:`_ChatColor0_qc3qt_46`,ChatColor1:`_ChatColor1_qc3qt_49`,ChatColor2:`_ChatColor2_qc3qt_52`,ChatColor3:`_ChatColor3_qc3qt_55`,ChatColor4:`_ChatColor4_qc3qt_58`,ChatColor5:`_ChatColor5_qc3qt_61`,ChatColor6:`_ChatColor6_qc3qt_64`,ChatColor7:`_ChatColor7_qc3qt_67`,ChatColor8:`_ChatColor8_qc3qt_70`,ChatColor9:`_ChatColor9_qc3qt_73`},f=r(),p=(0,u.lazy)(()=>o(()=>import(`./ChatInput-C8HvzNcM.js`).then(e=>({default:e.ChatInput})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]))),m=[],h={0:d.ChatColor0,1:d.ChatColor1,2:d.ChatColor2,3:d.ChatColor3,4:d.ChatColor4,5:d.ChatColor5,6:d.ChatColor6,7:d.ChatColor7,8:d.ChatColor8,9:d.ChatColor9};function g(e){return h[e]??h[0]}function _(e){return e.colorCode!=null&&h[e.colorCode]?h[e.colorCode]:h[0]}var ee=(0,u.memo)(function(){let e=(0,c.c)(12),t=a(v),n=a(y),r=(0,u.useRef)(null),i=n[n.length-1]?.id,o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight)},e[0]=o):o=e[0];let s;e[1]===i?s=e[2]:(s=[i],e[1]=i,e[2]=s),(0,u.useEffect)(o,s);let l;e[3]===n?l=e[4]:(l=n.map(x),e[3]=n,e[4]=l);let m;e[5]===l?m=e[6]:(m=(0,f.jsx)(`div`,{ref:r,className:d.ChatWindow,children:l}),e[5]=l,e[6]=m);let h;e[7]===t?h=e[8]:(h=t&&(0,f.jsx)(u.Suspense,{children:(0,f.jsx)(p,{})}),e[7]=t,e[8]=h);let g;return e[9]!==m||e[10]!==h?(g=(0,f.jsxs)(`div`,{className:d.ChatContainer,children:[m,h]}),e[9]=m,e[10]=h,e[11]=g):g=e[11],g});function v(e){return e.playback.recording?.source===`live`}function y(e){return e.playback.streamSnapshot?.chatMessages??m}function b(e,t){return(0,f.jsx)(`span`,{className:g(e.colorCode),children:e.text},t)}function x(e){return(0,f.jsx)(`div`,{className:d.ChatMessage,hidden:!e.text,children:e.segments?e.segments.map(b):(0,f.jsxs)(`span`,{className:_(e),children:[e.sender?`${e.sender}: `:``,e.text]})},e.id)}var S=s(`gui/hud_new_compass`),C=s(`gui/hud_new_NSEW`);function w(e){let t=Math.abs(e)/1e3,n=e<0?Math.ceil(t):Math.floor(t),r=Math.floor(n/60),i=n%60;return`${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function T(){let e=(0,c.c)(8),t=a(D),n=a(E);if(t==null)return null;let r=t*180/Math.PI,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(`img`,{src:S,alt:``,className:l.CompassRing}),e[0]=i):i=e[0];let o=`rotate(${-r}deg)`,s;e[1]===o?s=e[2]:(s=(0,f.jsx)(`img`,{src:C,alt:``,className:l.CompassNSEW,style:{transform:o}}),e[1]=o,e[2]=s);let u;e[3]===n?u=e[4]:(u=n!=null&&(0,f.jsx)(`span`,{className:l.CompassClock,children:w(n)}),e[3]=n,e[4]=u);let d;return e[5]!==s||e[6]!==u?(d=(0,f.jsxs)(`div`,{className:l.Compass,children:[i,s,u]}),e[5]=s,e[6]=u,e[7]=d):d=e[7],d}function E(e){return e.playback.streamSnapshot?.matchClockMs}function D(e){return e.playback.streamSnapshot?.camera?.yaw}function O(){let e=(0,c.c)(2),t=a(k);if(t==null)return null;let n=`${Math.max(0,Math.min(100,t*100))}%`,r;return e[0]===n?r=e[1]:(r=(0,f.jsx)(`div`,{className:l.BarTrack,children:(0,f.jsx)(`div`,{className:l.BarFillHealth,style:{width:n}})}),e[0]=n,e[1]=r),r}function k(e){return e.playback.streamSnapshot?.status?.health}function A(){let e=(0,c.c)(2),t=a(j);if(t==null)return null;let n=`${Math.max(0,Math.min(100,t*100))}%`,r;return e[0]===n?r=e[1]:(r=(0,f.jsx)(`div`,{className:l.BarTrack,children:(0,f.jsx)(`div`,{className:l.BarFillEnergy,style:{width:n}})}),e[0]=n,e[1]=r),r}function j(e){return e.playback.streamSnapshot?.status?.energy}var M={weapon_sniper:`gui/hud_ret_sniper`,weapon_shocklance:`gui/hud_ret_shocklance`,weapon_targeting:`gui/hud_ret_targlaser`};function N(e){return e?e.replace(/\.dts$/i,``).toLowerCase():``}function P(){let e=(0,c.c)(5),t=a(F);if(t===void 0)return null;let n=M[N(t)];if(n){let t;e[0]===n?t=e[1]:(t=s(n),e[0]=n,e[1]=t);let r;return e[2]===t?r=e[3]:(r=(0,f.jsx)(`div`,{className:l.Reticle,children:(0,f.jsx)(`img`,{src:t,alt:``,className:l.ReticleImage})}),e[2]=t,e[3]=r),r}let r;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(`div`,{className:l.Reticle,children:(0,f.jsx)(`div`,{className:l.ReticleDot})}),e[4]=r):r=e[4],r}function F(e){let t=e.playback.streamSnapshot;if(!t||t.camera?.mode!==`first-person`)return;let n=t.controlPlayerGhostId;if(n)return t.entities.find(e=>e.id===n)?.weaponShape}var I={0:{icon:`gui/hud_blaster`,label:`Blaster`},1:{icon:`gui/hud_plasma`,label:`Plasma`},2:{icon:`gui/hud_chaingun`,label:`Chaingun`},3:{icon:`gui/hud_disc`,label:`Spinfusor`},4:{icon:`gui/hud_grenlaunch`,label:`GL`},5:{icon:`gui/hud_sniper`,label:`Laser Rifle`},6:{icon:`gui/hud_elfgun`,label:`ELF Gun`},7:{icon:`gui/hud_new_mortar`,label:`Mortar`},8:{icon:`gui/hud_missiles`,label:`Missile`},9:{icon:`gui/hud_targetlaser`,label:`Targeting`},10:{icon:`gui/hud_shocklance`,label:`Shocklance`},11:{icon:`gui/hud_disc`,label:`Spinfusor`},12:{icon:`gui/hud_grenlaunch`,label:`GL`},13:{icon:`gui/hud_chaingun`,label:`Chaingun`},14:{icon:`gui/hud_targetlaser`,label:`Targeting`},15:{icon:`gui/hud_targetlaser`,label:`Targeting`},16:{icon:`gui/hud_shocklance`,label:`Shocklance`},17:{icon:`gui/hud_new_mortar`,label:`Mortar`}},L=new Map(Object.entries(I).map(([e,t])=>[Number(e),s(t.icon)])),R=new Set([9,14,15]),z=s(`gui/hud_infinity`);function B(e){let t=(0,c.c)(12),{slot:n,isSelected:r}=e,i=I[n.index];if(!i)return null;let a=n.ammo<0,o;t[0]===n.index?o=t[1]:(o=L.get(n.index),t[0]=n.index,t[1]=o);let s;t[2]!==i.label||t[3]!==o?(s=(0,f.jsx)(`img`,{src:o,alt:i.label,className:l.PackInvIcon}),t[2]=i.label,t[3]=o,t[4]=s):s=t[4];let u;t[5]!==a||t[6]!==n.ammo?(u=a?(0,f.jsx)(`img`,{src:z,alt:`\\u221E`,className:l.PackInvInfinity}):(0,f.jsx)(`span`,{className:l.PackInvCount,children:n.ammo}),t[5]=a,t[6]=n.ammo,t[7]=u):u=t[7];let d;return t[8]!==r||t[9]!==s||t[10]!==u?(d=(0,f.jsxs)(`div`,{className:l.PackInvItem,"data-active":r,children:[s,u]}),t[8]=r,t[9]=s,t[10]=u,t[11]=d):d=t[11],d}function V(){let e=(0,c.c)(15),t=a(H);if(!t||!t.slots.length)return null;let n,r;if(e[0]!==t.slots){r=[],n=[];for(let e of t.slots)R.has(e.index)?n.push(e):r.push(e);e[0]=t.slots,e[1]=n,e[2]=r}else n=e[1],r=e[2];let i;e[3]!==r||e[4]!==t?(i=r.map(e=>(0,f.jsx)(B,{slot:e,isSelected:e.index===t.activeIndex},e.index)),e[3]=r,e[4]=t,e[5]=i):i=e[5];let o;e[6]===n.length?o=e[7]:(o=n.length>0&&(0,f.jsx)(`div`,{className:l.WeaponSeparator}),e[6]=n.length,e[7]=o);let s;e[8]!==n||e[9]!==t?(s=n.map(e=>(0,f.jsx)(B,{slot:e,isSelected:e.index===t.activeIndex},e.index)),e[8]=n,e[9]=t,e[10]=s):s=e[10];let u;return e[11]!==i||e[12]!==o||e[13]!==s?(u=(0,f.jsxs)(`div`,{className:l.WeaponHUD,children:[i,o,s]}),e[11]=i,e[12]=o,e[13]=s,e[14]=u):u=e[14],u}function H(e){return e.playback.streamSnapshot?.weaponsHud}function U(){let e=(0,c.c)(18),t=a(q),n=a(K),r=a(W);if(!t?.length)return null;let o,s,u;if(e[0]!==r||e[1]!==n||e[2]!==t){let a;e[6]===n?a=e[7]:(a=(e,t)=>{if(n){if(e.teamId===n)return-1;if(t.teamId===n)return 1}return e.teamId-t.teamId},e[6]=n,e[7]=a);let c=[...t].sort(a);u=l.TeamScores,e[8]===r?o=e[9]:(o=r>0&&(0,f.jsx)(`tr`,{children:(0,f.jsxs)(`td`,{className:l.ObserverCount,colSpan:3,children:[r,` `,r===1?`observer`:`observers`]})}),e[8]=r,e[9]=o);let d;e[10]===n?d=e[11]:(d=e=>{let t=n!=null&&n>0&&e.teamId===n,r=e.name||(i[e.teamId]??`Team ${e.teamId}`);return(0,f.jsxs)(`tr`,{className:l.TeamRow,children:[(0,f.jsx)(`td`,{className:t?l.TeamNameFriendly:l.TeamNameEnemy,children:r}),(0,f.jsxs)(`td`,{className:l.TeamCount,children:[`(`,e.playerCount.toLocaleString(),`)`]}),(0,f.jsx)(`td`,{className:l.TeamScore,children:e.score.toLocaleString()})]},e.teamId)},e[10]=n,e[11]=d),s=c.map(d),e[0]=r,e[1]=n,e[2]=t,e[3]=o,e[4]=s,e[5]=u}else o=e[3],s=e[4],u=e[5];let d;e[12]!==o||e[13]!==s?(d=(0,f.jsxs)(`tbody`,{children:[o,s]}),e[12]=o,e[13]=s,e[14]=d):d=e[14];let p;return e[15]!==u||e[16]!==d?(p=(0,f.jsx)(`table`,{className:u,children:d}),e[15]=u,e[16]=d,e[17]=p):p=e[17],p}function W(e){return e.playback.streamSnapshot?.playerRoster?.filter(G).length??0}function G(e){return e.teamId<=0}function K(e){return e.playback.streamSnapshot?.playerSensorGroup}function q(e){return e.playback.streamSnapshot?.teamScores}var J={0:`gui/hud_new_packammo`,1:`gui/hud_new_packcloak`,2:`gui/hud_new_packenergy`,3:`gui/hud_new_packrepair`,4:`gui/hud_new_packsatchel`,5:`gui/hud_new_packshield`,6:`gui/hud_new_packinventory`,7:`gui/hud_new_packmotionsens`,8:`gui/hud_new_packradar`,9:`gui/hud_new_packturretout`,10:`gui/hud_new_packturretin`,11:`gui/hud_new_packsensjam`,12:`gui/hud_new_packturret`,13:`gui/hud_new_packturret`,14:`gui/hud_new_packturret`,15:`gui/hud_new_packturret`,16:`gui/hud_new_packturret`,17:`gui/hud_new_packturret`,18:`gui/hud_satchel_unarmed`,19:`gui/hud_new_packenergy`},Y={1:`gui/hud_new_packcloak_armed`,3:`gui/hud_new_packrepair_armed`,4:`gui/hud_satchel_armed`,5:`gui/hud_new_packshield_armed`,11:`gui/hud_new_packsensjam_armed`},X=new Map(Object.entries(J).map(([e,t])=>[Number(e),s(t)])),Z=new Map(Object.entries(Y).map(([e,t])=>[Number(e),s(t)])),Q={0:{icon:`gui/hud_handgren`,label:`Grenade`},1:{icon:`gui/hud_mine`,label:`Mine`},2:{icon:`gui/hud_beacon`,label:`Beacon`},3:{icon:`gui/hud_medpack`,label:`Repair Kit`}},$=new Map(Object.entries(Q).map(([e,t])=>[Number(e),s(t.icon)]));function te(){let e=(0,c.c)(25),t=a(ie),n=a(re),r=t&&t.packIndex>=0,i;if(r){let n;e[0]!==t.active||e[1]!==t.packIndex?(n=t.active?Z.get(t.packIndex):void 0,e[0]=t.active,e[1]=t.packIndex,e[2]=n):n=e[2];let r=n,a;e[3]!==r||e[4]!==t.packIndex?(a=r??X.get(t.packIndex),e[3]=r,e[4]=t.packIndex,e[5]=a):a=e[5],i=a}let o;if(e[6]!==n){if(o=new Map,n)for(let e of n.slots)o.set(e.slot,e.count);e[6]=n,e[7]=o}else o=e[7];let s,u,d,p;if(e[8]!==t||e[9]!==o||e[10]!==r||e[11]!==i){p=Symbol.for(`react.early_return_sentinel`);bb0:{let n=Object.keys(Q).map(Number).sort(ne);if(!r&&!o.size){p=null;break bb0}s=l.PackInventoryHUD,e[16]!==t||e[17]!==i?(u=i&&(0,f.jsxs)(`div`,{className:l.PackInvItem,"data-active":t.active??!1,children:[(0,f.jsx)(`img`,{src:i,alt:``,className:l.PackInvIcon}),(0,f.jsx)(`span`,{className:l.PackInvCount,children:t.text||`\xA0`})]}),e[16]=t,e[17]=i,e[18]=u):u=e[18];let a;e[19]===o?a=e[20]:(a=e=>{let t=Q[e],n=$.get(e);return!t||!n?null:(0,f.jsxs)(`div`,{className:l.PackInvItem,children:[(0,f.jsx)(`img`,{src:n,alt:t.label,className:l.PackInvIcon}),(0,f.jsx)(`span`,{className:l.PackInvCount,children:o.get(e)??0})]},e)},e[19]=o,e[20]=a),d=n.map(a)}e[8]=t,e[9]=o,e[10]=r,e[11]=i,e[12]=s,e[13]=u,e[14]=d,e[15]=p}else s=e[12],u=e[13],d=e[14],p=e[15];if(p!==Symbol.for(`react.early_return_sentinel`))return p;let m;return e[21]!==s||e[22]!==u||e[23]!==d?(m=(0,f.jsxs)(`div`,{className:s,children:[u,d]}),e[21]=s,e[22]=u,e[23]=d,e[24]=m):m=e[24],m}function ne(e,t){return e-t}function re(e){return e.playback.streamSnapshot?.inventoryHud}function ie(e){return e.playback.streamSnapshot?.backpackHud}function ae(){let e=(0,c.c)(10),t=a(oe),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsx)(ee,{}),e[0]=n):n=e[0];let r;e[1]===t?r=e[2]:(r=t&&(0,f.jsxs)(`div`,{className:l.Bars,children:[(0,f.jsx)(O,{}),(0,f.jsx)(A,{})]}),e[1]=t,e[2]=r);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(T,{}),e[3]=i):i=e[3];let o;e[4]===t?o=e[5]:(o=t&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(V,{}),(0,f.jsx)(te,{}),(0,f.jsx)(P,{})]}),e[4]=t,e[5]=o);let s;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,f.jsx)(U,{}),e[6]=s):s=e[6];let u;return e[7]!==r||e[8]!==o?(u=(0,f.jsxs)(`div`,{className:l.PlayerHUD,children:[n,r,i,o,s]}),e[7]=r,e[8]=o,e[9]=u):u=e[9],u}function oe(e){return!!e.playback.streamSnapshot?.controlPlayerGhostId}export{ae as PlayerHUD}; \ No newline at end of file diff --git a/docs/assets/PlayerHUD-UBJSra7Y.js b/docs/assets/PlayerHUD-UBJSra7Y.js deleted file mode 100644 index 14ad0c15..00000000 --- a/docs/assets/PlayerHUD-UBJSra7Y.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatInput-C81PZzqT.js","assets/chunk-DECur_0Z.js","assets/index-B_QKaSWI.js","assets/preload-helper-BcSNVXZP.js","assets/streamHelpers-Be29sBCp.js","assets/three.module-CwgFV8Kd.js","assets/mission-CFLOK_Oy.js","assets/logger-zy3b0zcG.js","assets/react-three-fiber.esm-dhSWjERg.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-BTL5qX2E.js","assets/SettingsProvider-2cUUftaX.js","assets/manifest-CmJ-OiDc.js","assets/stringUtils-BfUKbRCH.js","assets/iconBase-BCRUFbxq.js","assets/engineStore-Cio8vU1L.js","assets/scene-B1EyKjda.js","assets/index-UOHJQQT_.css","assets/ChatInput-bC9wt42K.css"])))=>i.map(i=>d[i]); -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./stringUtils-BfUKbRCH.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./mission-CFLOK_Oy.js";import{i as a}from"./engineStore-Cio8vU1L.js";import{t as o}from"./preload-helper-BcSNVXZP.js";import{p as s}from"./loaders-C_1cX1lR.js";var c=t(),l={PlayerHUD:`_PlayerHUD_5937t_1`,Compass:`_Compass_5937t_11`,CompassRing:`_CompassRing_5937t_20`,CompassNSEW:`_CompassNSEW_5937t_29`,CompassClock:`_CompassClock_5937t_38`,Bars:`_Bars_5937t_51`,BarTrack:`_BarTrack_5937t_63`,BarFillHealth:`_BarFillHealth_5937t_71`,BarFillEnergy:`_BarFillEnergy_5937t_77`,WeaponHUD:`_WeaponHUD_5937t_85`,PackInvItem:`_PackInvItem_5937t_95`,WeaponSeparator:`_WeaponSeparator_5937t_105`,TeamScores:`_TeamScores_5937t_111`,ObserverCount:`_ObserverCount_5937t_126`,TeamRow:`_TeamRow_5937t_136`,TeamName:`_TeamName_5937t_145`,TeamNameFriendly:`_TeamNameFriendly_5937t_152 _TeamName_5937t_145`,TeamNameEnemy:`_TeamNameEnemy_5937t_157 _TeamName_5937t_145`,TeamScore:`_TeamScore_5937t_111`,TeamCount:`_TeamCount_5937t_170`,PackInventoryHUD:`_PackInventoryHUD_5937t_179`,PackInvIcon:`_PackInvIcon_5937t_210`,PackInvCount:`_PackInvCount_5937t_215`,PackInvInfinity:`_PackInvInfinity_5937t_222`,Reticle:`_Reticle_5937t_230`,ReticleImage:`_ReticleImage_5937t_237`,ReticleDot:`_ReticleDot_5937t_244`},u=e(n(),1),d={ChatContainer:`_ChatContainer_qc3qt_1`,ChatWindow:`_ChatWindow_qc3qt_14`,ChatMessage:`_ChatMessage_qc3qt_39`,ChatColor0:`_ChatColor0_qc3qt_46`,ChatColor1:`_ChatColor1_qc3qt_49`,ChatColor2:`_ChatColor2_qc3qt_52`,ChatColor3:`_ChatColor3_qc3qt_55`,ChatColor4:`_ChatColor4_qc3qt_58`,ChatColor5:`_ChatColor5_qc3qt_61`,ChatColor6:`_ChatColor6_qc3qt_64`,ChatColor7:`_ChatColor7_qc3qt_67`,ChatColor8:`_ChatColor8_qc3qt_70`,ChatColor9:`_ChatColor9_qc3qt_73`},f=r(),p=(0,u.lazy)(()=>o(()=>import(`./ChatInput-C81PZzqT.js`).then(e=>({default:e.ChatInput})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))),m=[],h={0:d.ChatColor0,1:d.ChatColor1,2:d.ChatColor2,3:d.ChatColor3,4:d.ChatColor4,5:d.ChatColor5,6:d.ChatColor6,7:d.ChatColor7,8:d.ChatColor8,9:d.ChatColor9};function g(e){return h[e]??h[0]}function _(e){return e.colorCode!=null&&h[e.colorCode]?h[e.colorCode]:h[0]}var ee=(0,u.memo)(function(){let e=(0,c.c)(12),t=a(v),n=a(y),r=(0,u.useRef)(null),i=n[n.length-1]?.id,o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight)},e[0]=o):o=e[0];let s;e[1]===i?s=e[2]:(s=[i],e[1]=i,e[2]=s),(0,u.useEffect)(o,s);let l;e[3]===n?l=e[4]:(l=n.map(x),e[3]=n,e[4]=l);let m;e[5]===l?m=e[6]:(m=(0,f.jsx)(`div`,{ref:r,className:d.ChatWindow,children:l}),e[5]=l,e[6]=m);let h;e[7]===t?h=e[8]:(h=t&&(0,f.jsx)(u.Suspense,{children:(0,f.jsx)(p,{})}),e[7]=t,e[8]=h);let g;return e[9]!==m||e[10]!==h?(g=(0,f.jsxs)(`div`,{className:d.ChatContainer,children:[m,h]}),e[9]=m,e[10]=h,e[11]=g):g=e[11],g});function v(e){return e.playback.recording?.source===`live`}function y(e){return e.playback.streamSnapshot?.chatMessages??m}function b(e,t){return(0,f.jsx)(`span`,{className:g(e.colorCode),children:e.text},t)}function x(e){return(0,f.jsx)(`div`,{className:d.ChatMessage,hidden:!e.text,children:e.segments?e.segments.map(b):(0,f.jsxs)(`span`,{className:_(e),children:[e.sender?`${e.sender}: `:``,e.text]})},e.id)}var S=s(`gui/hud_new_compass`),C=s(`gui/hud_new_NSEW`);function w(e){let t=Math.abs(e)/1e3,n=e<0?Math.ceil(t):Math.floor(t),r=Math.floor(n/60),i=n%60;return`${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function T(){let e=(0,c.c)(8),t=a(D),n=a(E);if(t==null)return null;let r=t*180/Math.PI,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(`img`,{src:S,alt:``,className:l.CompassRing}),e[0]=i):i=e[0];let o=`rotate(${-r}deg)`,s;e[1]===o?s=e[2]:(s=(0,f.jsx)(`img`,{src:C,alt:``,className:l.CompassNSEW,style:{transform:o}}),e[1]=o,e[2]=s);let u;e[3]===n?u=e[4]:(u=n!=null&&(0,f.jsx)(`span`,{className:l.CompassClock,children:w(n)}),e[3]=n,e[4]=u);let d;return e[5]!==s||e[6]!==u?(d=(0,f.jsxs)(`div`,{className:l.Compass,children:[i,s,u]}),e[5]=s,e[6]=u,e[7]=d):d=e[7],d}function E(e){return e.playback.streamSnapshot?.matchClockMs}function D(e){return e.playback.streamSnapshot?.camera?.yaw}function O(){let e=(0,c.c)(2),t=a(k);if(t==null)return null;let n=`${Math.max(0,Math.min(100,t*100))}%`,r;return e[0]===n?r=e[1]:(r=(0,f.jsx)(`div`,{className:l.BarTrack,children:(0,f.jsx)(`div`,{className:l.BarFillHealth,style:{width:n}})}),e[0]=n,e[1]=r),r}function k(e){return e.playback.streamSnapshot?.status?.health}function A(){let e=(0,c.c)(2),t=a(j);if(t==null)return null;let n=`${Math.max(0,Math.min(100,t*100))}%`,r;return e[0]===n?r=e[1]:(r=(0,f.jsx)(`div`,{className:l.BarTrack,children:(0,f.jsx)(`div`,{className:l.BarFillEnergy,style:{width:n}})}),e[0]=n,e[1]=r),r}function j(e){return e.playback.streamSnapshot?.status?.energy}var M={weapon_sniper:`gui/hud_ret_sniper`,weapon_shocklance:`gui/hud_ret_shocklance`,weapon_targeting:`gui/hud_ret_targlaser`};function N(e){return e?e.replace(/\.dts$/i,``).toLowerCase():``}function P(){let e=(0,c.c)(5),t=a(F);if(t===void 0)return null;let n=M[N(t)];if(n){let t;e[0]===n?t=e[1]:(t=s(n),e[0]=n,e[1]=t);let r;return e[2]===t?r=e[3]:(r=(0,f.jsx)(`div`,{className:l.Reticle,children:(0,f.jsx)(`img`,{src:t,alt:``,className:l.ReticleImage})}),e[2]=t,e[3]=r),r}let r;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(`div`,{className:l.Reticle,children:(0,f.jsx)(`div`,{className:l.ReticleDot})}),e[4]=r):r=e[4],r}function F(e){let t=e.playback.streamSnapshot;if(!t||t.camera?.mode!==`first-person`)return;let n=t.controlPlayerGhostId;if(n)return t.entities.find(e=>e.id===n)?.weaponShape}var I={0:{icon:`gui/hud_blaster`,label:`Blaster`},1:{icon:`gui/hud_plasma`,label:`Plasma`},2:{icon:`gui/hud_chaingun`,label:`Chaingun`},3:{icon:`gui/hud_disc`,label:`Spinfusor`},4:{icon:`gui/hud_grenlaunch`,label:`GL`},5:{icon:`gui/hud_sniper`,label:`Laser Rifle`},6:{icon:`gui/hud_elfgun`,label:`ELF Gun`},7:{icon:`gui/hud_new_mortar`,label:`Mortar`},8:{icon:`gui/hud_missiles`,label:`Missile`},9:{icon:`gui/hud_targetlaser`,label:`Targeting`},10:{icon:`gui/hud_shocklance`,label:`Shocklance`},11:{icon:`gui/hud_disc`,label:`Spinfusor`},12:{icon:`gui/hud_grenlaunch`,label:`GL`},13:{icon:`gui/hud_chaingun`,label:`Chaingun`},14:{icon:`gui/hud_targetlaser`,label:`Targeting`},15:{icon:`gui/hud_targetlaser`,label:`Targeting`},16:{icon:`gui/hud_shocklance`,label:`Shocklance`},17:{icon:`gui/hud_new_mortar`,label:`Mortar`}},L=new Map(Object.entries(I).map(([e,t])=>[Number(e),s(t.icon)])),R=new Set([9,14,15]),z=s(`gui/hud_infinity`);function B(e){let t=(0,c.c)(12),{slot:n,isSelected:r}=e,i=I[n.index];if(!i)return null;let a=n.ammo<0,o;t[0]===n.index?o=t[1]:(o=L.get(n.index),t[0]=n.index,t[1]=o);let s;t[2]!==i.label||t[3]!==o?(s=(0,f.jsx)(`img`,{src:o,alt:i.label,className:l.PackInvIcon}),t[2]=i.label,t[3]=o,t[4]=s):s=t[4];let u;t[5]!==a||t[6]!==n.ammo?(u=a?(0,f.jsx)(`img`,{src:z,alt:`\\u221E`,className:l.PackInvInfinity}):(0,f.jsx)(`span`,{className:l.PackInvCount,children:n.ammo}),t[5]=a,t[6]=n.ammo,t[7]=u):u=t[7];let d;return t[8]!==r||t[9]!==s||t[10]!==u?(d=(0,f.jsxs)(`div`,{className:l.PackInvItem,"data-active":r,children:[s,u]}),t[8]=r,t[9]=s,t[10]=u,t[11]=d):d=t[11],d}function V(){let e=(0,c.c)(15),t=a(H);if(!t||!t.slots.length)return null;let n,r;if(e[0]!==t.slots){r=[],n=[];for(let e of t.slots)R.has(e.index)?n.push(e):r.push(e);e[0]=t.slots,e[1]=n,e[2]=r}else n=e[1],r=e[2];let i;e[3]!==r||e[4]!==t?(i=r.map(e=>(0,f.jsx)(B,{slot:e,isSelected:e.index===t.activeIndex},e.index)),e[3]=r,e[4]=t,e[5]=i):i=e[5];let o;e[6]===n.length?o=e[7]:(o=n.length>0&&(0,f.jsx)(`div`,{className:l.WeaponSeparator}),e[6]=n.length,e[7]=o);let s;e[8]!==n||e[9]!==t?(s=n.map(e=>(0,f.jsx)(B,{slot:e,isSelected:e.index===t.activeIndex},e.index)),e[8]=n,e[9]=t,e[10]=s):s=e[10];let u;return e[11]!==i||e[12]!==o||e[13]!==s?(u=(0,f.jsxs)(`div`,{className:l.WeaponHUD,children:[i,o,s]}),e[11]=i,e[12]=o,e[13]=s,e[14]=u):u=e[14],u}function H(e){return e.playback.streamSnapshot?.weaponsHud}function U(){let e=(0,c.c)(18),t=a(q),n=a(K),r=a(W);if(!t?.length)return null;let o,s,u;if(e[0]!==r||e[1]!==n||e[2]!==t){let a;e[6]===n?a=e[7]:(a=(e,t)=>{if(n){if(e.teamId===n)return-1;if(t.teamId===n)return 1}return e.teamId-t.teamId},e[6]=n,e[7]=a);let c=[...t].sort(a);u=l.TeamScores,e[8]===r?o=e[9]:(o=r>0&&(0,f.jsx)(`tr`,{children:(0,f.jsxs)(`td`,{className:l.ObserverCount,colSpan:3,children:[r,` `,r===1?`observer`:`observers`]})}),e[8]=r,e[9]=o);let d;e[10]===n?d=e[11]:(d=e=>{let t=n!=null&&n>0&&e.teamId===n,r=e.name||(i[e.teamId]??`Team ${e.teamId}`);return(0,f.jsxs)(`tr`,{className:l.TeamRow,children:[(0,f.jsx)(`td`,{className:t?l.TeamNameFriendly:l.TeamNameEnemy,children:r}),(0,f.jsxs)(`td`,{className:l.TeamCount,children:[`(`,e.playerCount.toLocaleString(),`)`]}),(0,f.jsx)(`td`,{className:l.TeamScore,children:e.score.toLocaleString()})]},e.teamId)},e[10]=n,e[11]=d),s=c.map(d),e[0]=r,e[1]=n,e[2]=t,e[3]=o,e[4]=s,e[5]=u}else o=e[3],s=e[4],u=e[5];let d;e[12]!==o||e[13]!==s?(d=(0,f.jsxs)(`tbody`,{children:[o,s]}),e[12]=o,e[13]=s,e[14]=d):d=e[14];let p;return e[15]!==u||e[16]!==d?(p=(0,f.jsx)(`table`,{className:u,children:d}),e[15]=u,e[16]=d,e[17]=p):p=e[17],p}function W(e){return e.playback.streamSnapshot?.playerRoster?.filter(G).length??0}function G(e){return e.teamId<=0}function K(e){return e.playback.streamSnapshot?.playerSensorGroup}function q(e){return e.playback.streamSnapshot?.teamScores}var J={0:`gui/hud_new_packammo`,1:`gui/hud_new_packcloak`,2:`gui/hud_new_packenergy`,3:`gui/hud_new_packrepair`,4:`gui/hud_new_packsatchel`,5:`gui/hud_new_packshield`,6:`gui/hud_new_packinventory`,7:`gui/hud_new_packmotionsens`,8:`gui/hud_new_packradar`,9:`gui/hud_new_packturretout`,10:`gui/hud_new_packturretin`,11:`gui/hud_new_packsensjam`,12:`gui/hud_new_packturret`,13:`gui/hud_new_packturret`,14:`gui/hud_new_packturret`,15:`gui/hud_new_packturret`,16:`gui/hud_new_packturret`,17:`gui/hud_new_packturret`,18:`gui/hud_satchel_unarmed`,19:`gui/hud_new_packenergy`},Y={1:`gui/hud_new_packcloak_armed`,3:`gui/hud_new_packrepair_armed`,4:`gui/hud_satchel_armed`,5:`gui/hud_new_packshield_armed`,11:`gui/hud_new_packsensjam_armed`},X=new Map(Object.entries(J).map(([e,t])=>[Number(e),s(t)])),Z=new Map(Object.entries(Y).map(([e,t])=>[Number(e),s(t)])),Q={0:{icon:`gui/hud_handgren`,label:`Grenade`},1:{icon:`gui/hud_mine`,label:`Mine`},2:{icon:`gui/hud_beacon`,label:`Beacon`},3:{icon:`gui/hud_medpack`,label:`Repair Kit`}},$=new Map(Object.entries(Q).map(([e,t])=>[Number(e),s(t.icon)]));function te(){let e=(0,c.c)(25),t=a(ie),n=a(re),r=t&&t.packIndex>=0,i;if(r){let n;e[0]!==t.active||e[1]!==t.packIndex?(n=t.active?Z.get(t.packIndex):void 0,e[0]=t.active,e[1]=t.packIndex,e[2]=n):n=e[2];let r=n,a;e[3]!==r||e[4]!==t.packIndex?(a=r??X.get(t.packIndex),e[3]=r,e[4]=t.packIndex,e[5]=a):a=e[5],i=a}let o;if(e[6]!==n){if(o=new Map,n)for(let e of n.slots)o.set(e.slot,e.count);e[6]=n,e[7]=o}else o=e[7];let s,u,d,p;if(e[8]!==t||e[9]!==o||e[10]!==r||e[11]!==i){p=Symbol.for(`react.early_return_sentinel`);bb0:{let n=Object.keys(Q).map(Number).sort(ne);if(!r&&!o.size){p=null;break bb0}s=l.PackInventoryHUD,e[16]!==t||e[17]!==i?(u=i&&(0,f.jsxs)(`div`,{className:l.PackInvItem,"data-active":t.active??!1,children:[(0,f.jsx)(`img`,{src:i,alt:``,className:l.PackInvIcon}),(0,f.jsx)(`span`,{className:l.PackInvCount,children:t.text||`\xA0`})]}),e[16]=t,e[17]=i,e[18]=u):u=e[18];let a;e[19]===o?a=e[20]:(a=e=>{let t=Q[e],n=$.get(e);return!t||!n?null:(0,f.jsxs)(`div`,{className:l.PackInvItem,children:[(0,f.jsx)(`img`,{src:n,alt:t.label,className:l.PackInvIcon}),(0,f.jsx)(`span`,{className:l.PackInvCount,children:o.get(e)??0})]},e)},e[19]=o,e[20]=a),d=n.map(a)}e[8]=t,e[9]=o,e[10]=r,e[11]=i,e[12]=s,e[13]=u,e[14]=d,e[15]=p}else s=e[12],u=e[13],d=e[14],p=e[15];if(p!==Symbol.for(`react.early_return_sentinel`))return p;let m;return e[21]!==s||e[22]!==u||e[23]!==d?(m=(0,f.jsxs)(`div`,{className:s,children:[u,d]}),e[21]=s,e[22]=u,e[23]=d,e[24]=m):m=e[24],m}function ne(e,t){return e-t}function re(e){return e.playback.streamSnapshot?.inventoryHud}function ie(e){return e.playback.streamSnapshot?.backpackHud}function ae(){let e=(0,c.c)(10),t=a(oe),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsx)(ee,{}),e[0]=n):n=e[0];let r;e[1]===t?r=e[2]:(r=t&&(0,f.jsxs)(`div`,{className:l.Bars,children:[(0,f.jsx)(O,{}),(0,f.jsx)(A,{})]}),e[1]=t,e[2]=r);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(T,{}),e[3]=i):i=e[3];let o;e[4]===t?o=e[5]:(o=t&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(V,{}),(0,f.jsx)(te,{}),(0,f.jsx)(P,{})]}),e[4]=t,e[5]=o);let s;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,f.jsx)(U,{}),e[6]=s):s=e[6];let u;return e[7]!==r||e[8]!==o?(u=(0,f.jsxs)(`div`,{className:l.PlayerHUD,children:[n,r,i,o,s]}),e[7]=r,e[8]=o,e[9]=u):u=e[9],u}function oe(e){return!!e.playback.streamSnapshot?.controlPlayerGhostId}export{ae as PlayerHUD}; \ No newline at end of file diff --git a/docs/assets/PlayerModel-Beu7pkFZ.js b/docs/assets/PlayerModel-CkXV0XVj.js similarity index 96% rename from docs/assets/PlayerModel-Beu7pkFZ.js rename to docs/assets/PlayerModel-CkXV0XVj.js index c75a3a39..0f97f31f 100644 --- a/docs/assets/PlayerModel-Beu7pkFZ.js +++ b/docs/assets/PlayerModel-CkXV0XVj.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import{a}from"./SettingsProvider-2cUUftaX.js";import{S as o,a as s,d as c,f as l,i as u,l as d,p as f,r as p,t as m}from"./GenericShape-DCImTyf2.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{$ as h,Q as g,bt as _,i as v,o as y,s as b}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{a as x,i as S,o as C}from"./engineStore-Cio8vU1L.js";import{r as ee}from"./loaders-C_1cX1lR.js";import{n as w}from"./AudioContext-B-BTQZ7_.js";import"./FloatingLabel-CXLHy5vc.js";import{getCachedAudioBuffer as te,getSoundGeneration as ne,playOneShotSound as re,resolveAudioProfile as ie,trackSound as T,untrackSound as E}from"./AudioEmitter-DQcaN3l9.js";import{t as D}from"./DebugSuspense-DTOoTVsz.js";import{n as O}from"./streamPlaybackStore-CszjeINn.js";import{c as ae}from"./globalFogUniforms-DQn9KFk6.js";import{t as k}from"./ShapeErrorBoundary-BDMn5cgT.js";var A=t(),j=e(n(),1),M=.1;function N(e){return-2*Math.atan2(e[1],e[3])}function P(e,t,n,r){if(n)return{animation:`fall`,timeScale:1};if(r)return{animation:`jet`,timeScale:1};if(!e)return{animation:`root`,timeScale:1};let[i,a,o]=e;if(Math.abs(o)>2)return{animation:`root`,timeScale:1};let s=N(t),c=Math.cos(s),l=Math.sin(s),u=i*c+a*l,d=-i*l+a*c,f=d,p=-d,m=-u,h=u,g=Math.max(f,p,m,h);return g0&&(this.delayTime=e[0].timeoutValue??0)}get stateIndex(){return this.currentStateIndex}reset(){this.currentStateIndex=0,this.delayTime=this.states.length>0?this.states[0].timeoutValue??0:0,this.lastFireCount=-1}tick(e,t){if(this.states.length===0)return{sequenceName:null,isFiring:!1,spinTimeScale:0,reverse:!1,scaleAnimation:!1,timeoutValue:0,transitioned:!1,soundDataBlockIds:[],stateIndex:-1};let n=this.lastFireCount>=0&&t.fireCount!==this.lastFireCount;this.lastFireCount=t.fireCount;let r=[];if(n){let e=this.states.findIndex(e=>e.fire);if(e>=0&&e!==this.currentStateIndex){this.currentStateIndex=e,this.delayTime=this.states[e].timeoutValue??0;let t=this.states[e].soundDataBlockId;t>=0&&r.push(t)}}this.delayTime-=e;let i=n,a=this.evaluateTickTransitions(t),o=0;for(;a>=0&&o=0&&r.push(c),this.states[a].spin){case L:this.spinTimeScale=0;break;case B:this.spinTimeScale=1;break;case R:e===z&&s>0&&(this.delayTime*=1-n/s);break;case z:e===R&&s>0&&(this.delayTime*=1-n/s);break}a=this.evaluateEntryTransitions(t)}let s=this.states[this.currentStateIndex],c=s.timeoutValue??0;switch(s.spin){case L:this.spinTimeScale=0;break;case R:this.spinTimeScale=c>0?Math.max(0,1-this.delayTime/c):1;break;case B:this.spinTimeScale=1;break;case z:this.spinTimeScale=c>0?Math.max(0,this.delayTime/c):0;break}return{sequenceName:this.resolveSequenceName(s),isFiring:s.fire,spinTimeScale:this.spinTimeScale,reverse:!s.direction,scaleAnimation:s.scaleAnimation,timeoutValue:s.timeoutValue??0,transitioned:i,soundDataBlockIds:r,stateIndex:this.currentStateIndex}}evaluateTickTransitions(e){let t=this.states[this.currentStateIndex],n=this.delayTime<=0;if(!(n||!t.waitForTimeout))return-1;let r=this.evaluateConditions(t,e);if(r!==-1)return r;if(n){let e=t.transitionOnTimeout;if(e!==F)return e}return-1}evaluateEntryTransitions(e){let t=this.states[this.currentStateIndex];return this.evaluateConditions(t,e)}evaluateConditions(e,t){let n=t.loaded?e.transitionOnLoaded:e.transitionOnNotLoaded;if(n!==F)return n;let r=t.ammo?e.transitionOnAmmo:e.transitionOnNoAmmo;if(r!==F)return r;let i=t.target?e.transitionOnTarget:e.transitionOnNoTarget;if(i!==F)return i;let a=t.wet?e.transitionOnWet:e.transitionOnNotWet;if(a!==F)return a;let o=t.triggerDown?e.transitionOnTriggerDown:e.transitionOnTriggerUp;return o===F?-1:o}resolveSequenceName(e){return e.sequence==null||e.sequence<0?null:this.seqIndexToName[e.sequence]??null}},H=r();function U(e){if(!e)return`lookde`;let t=e.toLowerCase();return t.includes(`missile`)?`lookms`:t.includes(`sniper`)?`looksn`:`lookde`}var W=8,G=[`root`,`run`,`back`,`side`,`fall`,`jet`,`jump`,`land`];function K(e,t,n=0){let r=new Map,i=[];for(let n of e){let e=n.indexOf(` `);if(e===-1)continue;let r=n.slice(0,e).toLowerCase(),a=n.slice(e+1).trim().toLowerCase();if(!a||!r.startsWith(t)||!r.endsWith(`.dsq`))continue;let o=r.slice(t.length,-4);o&&i.push({clipName:o,alias:a})}let a=new Set;for(let e=0;e{let t=n?.toLowerCase();return t?e.runtime.sequenceAliases.get(t):void 0}),s=ae(),{clonedScene:l,mixer:_,mount0:ee,mount1:w,mount2:te,iflInitializers:ne}=(0,j.useMemo)(()=>{let e=o(r.scene),t=f(e,void 0,{anisotropy:s});e.traverse(e=>{if(e.isMesh&&e.material){let t=Array.isArray(e.material)?e.material:[e.material];for(let e of t)e.side=0}});let n=new y(e),i=null,a=null,c=null;return e.traverse(e=>{!i&&e.name===`Mount0`&&(i=e),!a&&e.name===`Mount1`&&(a=e),!c&&e.name===`Mount2`&&(c=e)}),{clonedScene:e,mixer:n,mount0:i,mount1:a,mount2:c,iflInitializers:t}},[r,s]);(0,j.useEffect)(()=>()=>{d(l),_.uncacheRoot(l)},[l,_]);let re=(0,j.useRef)(new Map),ie=(0,j.useRef)({head:null,headside:null}),T=(0,j.useRef)(new Map),E=(0,j.useRef)(null),A=(0,j.useRef)({name:`root`,timeScale:1}),M=(0,j.useRef)(!1),N=(0,j.useRef)(void 0),F=(0,j.useMemo)(()=>{let e=t.getState().playback.recording?.streamingPlayback,i=n?.toLowerCase();if(!e||!i)return new Map;let a=e.getShapeConstructorSequences(i);if(!a)return new Map;let o=i.replace(/\.dts$/i,``)+`_`;return K(a,o,J(r.scene,a,o))},[t,n,r.scene]),I=(0,j.useMemo)(()=>{let e=new Map,t=r.scene.userData?.dts_sequence_names,n=r.scene.userData?.dts_sequence_cyclic;if(typeof t==`string`&&typeof n==`string`)try{let r=JSON.parse(t),i=JSON.parse(n),o=new Map;for(let e=0;e{let e=C(r.animations,_,a);re.current=e;let t=e.get(`root`);t&&t.play(),A.current={name:`root`,timeScale:1};let n={head:null,headside:null};for(let{key:e,names:t}of[{key:`head`,names:[`head`]},{key:`headside`,names:[`headside`]}]){let i=r.animations.find(e=>t.includes(e.name.toLowerCase()));if(!i)continue;let a=i.clone(),o=Math.round(i.duration*30/2);b.makeClipAdditive(a,o,i,30);let s=_.clipAction(a);s.blendMode=v,s.timeScale=0,s.weight=1,s.play(),n[e]=s}ie.current=n;let i=new Map,o=r.animations.find(e=>e.name.toLowerCase()===`lookde`),s=o?Math.round(o.duration*30/2):0;for(let e of[`lookde`,`lookms`,`looksn`]){let t=r.animations.find(t=>t.name.toLowerCase()===e);if(!t)continue;let n=t.clone(),a=o??t;b.makeClipAdditive(n,s,a,30);let c=_.clipAction(n);c.blendMode=v,c.timeScale=0,c.weight=0,c.play(),i.set(e,c)}T.current=i;let c=i.get(`lookde`);return c&&(c.weight=1,E.current=`lookde`),_.update(0),()=>{_.stopAllAction(),re.current=new Map,ie.current={head:null,headside:null},T.current=new Map,E.current=null}},[_,r.animations,a]),(0,j.useEffect)(()=>{let e=[];for(let{mesh:t,initialize:n}of ne)n(t,()=>O.getState().time).then(t=>e.push(t)).catch(()=>{});return()=>e.forEach(e=>e())},[ne]);let L=(0,j.useRef)(e.weaponShape),[R,z]=(0,j.useState)(e.weaponShape),B=(0,j.useRef)(e.packShape),[V,G]=(0,j.useState)(e.packShape),q=(0,j.useRef)(e.flagShape),[Y,X]=(0,j.useState)(e.flagShape);return i((n,r)=>{e.weaponShape!==L.current&&(L.current=e.weaponShape,z(e.weaponShape)),e.packShape!==B.current&&(B.current=e.packShape,G(e.packShape)),e.flagShape!==q.current&&(q.current=e.flagShape,X(e.flagShape));let i=t.getState().playback,a=i.status===`playing`,o=O.getState().time,s=c(e.keyframes??[],o),l=s?.damageState!=null&&s.damageState>=1,d=re.current;if(l&&!M.current){M.current=!0;let e=s.actionAnim==null?void 0:F.get(s.actionAnim);if(e){let t=d.get(e.clipName);if(t){let n=d.get(A.current.name.toLowerCase());n&&n.fadeOut(u),t.setLoop(g,1),t.clampWhenFinished=!0,t.reset().fadeIn(u).play(),A.current={name:e.clipName,timeScale:1},N.current=s.actionAnim}}}if(!l&&M.current){M.current=!1,N.current=void 0;let e=d.get(A.current.name.toLowerCase());e&&(e.stop(),e.setLoop(h,1/0),e.clampWhenFinished=!1),A.current={name:`root`,timeScale:1};let t=d.get(`root`);t&&t.reset().play()}let f=s?.actionAnim,p=N.current;if(!M.current&&f!==p){N.current=f;let e=f!=null&&f>=W,t=p!=null&&p>=W;if(e){let e=F.get(f);if(e){let t=d.get(e.clipName);if(t){let n=d.get(A.current.name.toLowerCase());n&&n.fadeOut(u),t.setLoop(g,1),t.clampWhenFinished=!0,t.reset().fadeIn(u).play(),A.current={name:e.clipName,timeScale:1}}}}else if(t){let e=F.get(p);if(e){let t=d.get(e.clipName);t&&(t.fadeOut(u),t.setLoop(h,1/0),t.clampWhenFinished=!1)}A.current={name:`root`,timeScale:1};let t=d.get(`root`);t&&t.reset().fadeIn(u).play()}}if(f!=null&&f>=W&&s?.actionAtEnd){let e=F.get(f);if(e){let t=d.get(e.clipName);t&&(t.paused=!0)}}let m=N.current!=null&&N.current>=W;if(!M.current&&!m){let t=P(s?.velocity,s?.rotation??[0,0,0,1],e.falling,e.jetting),n=A.current;if(t.animation!==n.name||t.timeScale!==n.timeScale){let e=d.get(n.name.toLowerCase()),r=d.get(t.animation.toLowerCase());r&&(I.get(t.animation)??!0?(r.setLoop(h,1/0),r.clampWhenFinished=!1):(r.setLoop(g,1),r.clampWhenFinished=!0),a&&e&&e!==r?(e.fadeOut(u),r.reset().fadeIn(u).play()):(e&&e!==r&&e.stop(),r.reset().play()),r.timeScale=t.timeScale,A.current={name:t.animation,timeScale:t.timeScale})}}let v=U(e.weaponShape);if(v!==E.current){let e=T.current,t=E.current?e.get(E.current):null,n=e.get(v);n&&(t&&(t.weight=0),n.weight=l?0:1,E.current=v)}let{head:y,headside:b}=ie.current,x=E.current?T.current.get(E.current):null,S=l?0:1,C=e.headPitch??0,ee=e.headYaw??0,w=(C+1)/2,te=(ee+1)/2;x&&(x.time=w*x.getClip().duration,x.weight=S),y&&(y.time=w*y.getClip().duration,y.weight=S),b&&(b.time=te*b.getClip().duration,b.weight=S),a?_.update(r*i.rate):_.update(0)}),(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`group`,{rotation:[0,Math.PI/2,0],children:(0,H.jsx)(`primitive`,{object:l})}),R&&ee&&(0,H.jsx)(k,{fallback:(0,H.jsx)(m,{color:`red`,label:R}),children:(0,H.jsx)(D,{name:`Weapon:${e.id}/${R}`,fallback:(0,H.jsx)(m,{color:`cyan`,label:R}),children:(0,H.jsx)(Z,{entity:e,weaponShape:R,mount0:ee})})},R),V&&w&&(0,H.jsx)(k,{fallback:(0,H.jsx)(m,{color:`red`,label:V}),children:(0,H.jsx)(D,{name:`Pack:${e.id}/${V}`,fallback:(0,H.jsx)(m,{color:`cyan`,label:V}),children:(0,H.jsx)(de,{packShape:V,mountBone:w})})},V),Y&&te&&(0,H.jsx)(k,{fallback:(0,H.jsx)(m,{color:`red`,label:Y}),children:(0,H.jsx)(D,{name:`Flag:${e.id}/${Y}`,fallback:(0,H.jsx)(m,{color:`cyan`,label:Y}),children:(0,H.jsx)(de,{packShape:Y,mountBone:te})})},Y)]})}function oe(e,t){let n=e.userData?.dts_sequence_names;if(typeof n==`string`)try{return JSON.parse(n).map(e=>e.toLowerCase())}catch{}return t.map(e=>e.name.toLowerCase())}function Z(e){let t=(0,A.c)(43),{entity:n,weaponShape:r,mount0:s}=e,c=x(),u=p(r),m=ae(),g,v,b,S;if(t[0]!==m||t[1]!==u.animations||t[2]!==u.scene){g=o(u.scene),v=f(g,void 0,{anisotropy:m});let e=l(u.scene,u.animations,`Mountpoint`);if(e){let t=e.quaternion.clone().invert(),n=e.position.clone().negate().applyQuaternion(t);g.position.copy(n),g.quaternion.copy(t)}S=new Map,g.traverse(e=>{if(!e.isMesh)return;let t=(e.userData?.vis_sequence??``).toLowerCase();if(!t)return;let n=S.get(t);n||(n=[],S.set(t,n)),n.push(e)}),b=new y(g),t[0]=m,t[1]=u.animations,t[2]=u.scene,t[3]=g,t[4]=v,t[5]=b,t[6]=S}else g=t[3],v=t[4],b=t[5],S=t[6];let C=b,E=u.scene,D;t[7]!==E||t[8]!==u.animations?(D=oe(E,u.animations),t[7]=E,t[8]=u.animations,t[9]=D):D=t[9];let O=D,k;t[10]!==g||t[11]!==v||t[12]!==C||t[13]!==O||t[14]!==S?(k={weaponClone:g,weaponMixer:C,seqIndexToName:O,visNodesBySequence:S,weaponIflInitializers:v},t[10]=g,t[11]=v,t[12]=C,t[13]=O,t[14]=S,t[15]=k):k=t[15];let{weaponClone:M,weaponMixer:N,seqIndexToName:P,visNodesBySequence:F,weaponIflInitializers:I}=k,L,R;t[16]!==M||t[17]!==N?(L=()=>()=>{d(M),N.uncacheRoot(M)},R=[M,N],t[16]=M,t[17]=N,t[18]=L,t[19]=R):(L=t[18],R=t[19]),(0,j.useEffect)(L,R);let z;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(z=new Map,t[20]=z):z=t[20];let B=(0,j.useRef)(z),H=(0,j.useRef)(null),U,W;t[21]!==u.animations||t[22]!==N?(U=()=>{let e=new Map;for(let t of u.animations)e.set(t.name.toLowerCase(),N.clipAction(t));B.current=e;let t=e.get(`spin`);return t&&(t.setLoop(h,1/0),t.timeScale=0,t.play()),H.current=t??null,N.update(0),()=>{N.stopAllAction(),B.current=new Map,H.current=null,Y(Q,$)}},W=[N,u.animations],t[21]=u.animations,t[22]=N,t[23]=U,t[24]=W):(U=t[23],W=t[24]),(0,j.useEffect)(U,W);let G,K;t[25]===I?(G=t[26],K=t[27]):(G=()=>{let e=[];for(let{mesh:t,initialize:n}of I)n(t,le).then(t=>e.push(t)).catch(ce);return()=>e.forEach(se)},K=[I],t[25]=I,t[26]=G,t[27]=K),(0,j.useEffect)(G,K);let{audioLoader:q,audioListener:J}=w(),X=a()?.audioEnabled??!1,Z=(0,j.useRef)(null),de=(0,j.useRef)(null),fe=(0,j.useRef)(n.weaponImageStates),Q=(0,j.useRef)(null),$=(0,j.useRef)(-1),pe,me;t[28]!==s||t[29]!==M?(pe=()=>(s.add(M),()=>{s.remove(M)}),me=[M,s],t[28]=s,t[29]=M,t[30]=pe,t[31]=me):(pe=t[30],me=t[31]),(0,j.useEffect)(pe,me);let he;return t[32]!==X||t[33]!==J||t[34]!==q||t[35]!==c||t[36]!==n.weaponImageState||t[37]!==n.weaponImageStates||t[38]!==P||t[39]!==F||t[40]!==M||t[41]!==N?(he=(e,t)=>{let r=c.getState().playback,i=r.status===`playing`,a=B.current,o=n.weaponImageState,s=n.weaponImageStates;s!==fe.current&&(fe.current=s,s&&s.length>0?Z.current=new V(s,P):Z.current=null,de.current=null,Y(Q,$,M)),!Z.current&&s&&s.length>0&&(Z.current=new V(s,P));let l=Z.current;if(l&&o&&i){let e=t*r.rate,n=l.tick(e,o);if(ue(n,a,de,F),Q.current&&n.stateIndex!==$.current&&Y(Q,$,M),X&&q&&J&&n.soundDataBlockIds.length>0){let e=r.recording?.streamingPlayback.getDataBlockData.bind(r.recording.streamingPlayback);if(e)for(let t of n.soundDataBlockIds){let n=ie(t,e);if(n)if(n.isLooping){if(!Q.current)try{let e=ee(n.filename),t=ne();te(e,q,e=>{if(t!==ne()||Q.current)return;let i=l.stateIndex,a=new _(J);a.setBuffer(e),a.setDistanceModel(`inverse`),a.setRefDistance(n.refDist),a.setMaxDistance(n.maxDist),a.setRolloffFactor(1),a.setVolume(n.volume),a.setPlaybackRate(r.rate),a.setLoop(!0),M.add(a),T(a),a.play(),Q.current=a,$.current=i})}catch{}}else re(n,J,q,void 0,M)}}H.current&&(H.current.timeScale=n.spinTimeScale)}i?N.update(t*r.rate):N.update(0)},t[32]=X,t[33]=J,t[34]=q,t[35]=c,t[36]=n.weaponImageState,t[37]=n.weaponImageStates,t[38]=P,t[39]=F,t[40]=M,t[41]=N,t[42]=he):he=t[42],i(he),null}function se(e){return e()}function ce(){}function le(){return O.getState().time}function ue(e,t,n,r){let i=e.sequenceName,a=n.current;if(i===a&&!e.transitioned)return;if(i!==a){if(a){let e=r.get(a);if(e)for(let t of e)t.visible=!1}if(i){let e=r.get(i);if(e)for(let t of e)t.visible=!0}}if(!i){if(a){let e=t.get(a);e&&e.fadeOut(u),n.current=null}return}let o=t.get(i);if(o&&(e.transitioned||i!==a)){let r=a?t.get(a):null;if(e.isFiring||e.timeoutValue>0?(o.setLoop(g,1),o.clampWhenFinished=!0):(o.setLoop(h,1/0),o.clampWhenFinished=!1),e.scaleAnimation&&e.timeoutValue>0){let t=o.getClip().duration;o.timeScale=t>0?t/e.timeoutValue:1}else o.timeScale=e.reverse?-1:1;r&&r!==o?(r.fadeOut(u),o.reset().fadeIn(u).play()):o.reset().play(),n.current=i}}function de(e){let t=(0,A.c)(15),{packShape:n,mountBone:r}=e,i=p(n),a=ae(),s,c;if(t[0]!==a||t[1]!==i.animations||t[2]!==i.scene){s=o(i.scene),c=f(s,void 0,{anisotropy:a});let e=l(i.scene,i.animations,`Mountpoint`);if(e){let t=e.quaternion.clone().invert(),n=e.position.clone().negate().applyQuaternion(t);s.position.copy(n),s.quaternion.copy(t)}t[0]=a,t[1]=i.animations,t[2]=i.scene,t[3]=s,t[4]=c}else s=t[3],c=t[4];let u;t[5]!==s||t[6]!==c?(u={packClone:s,packIflInitializers:c},t[5]=s,t[6]=c,t[7]=u):u=t[7];let{packClone:m,packIflInitializers:h}=u,g,_;t[8]!==r||t[9]!==m?(g=()=>(r.add(m),()=>{r.remove(m),d(m)}),_=[m,r],t[8]=r,t[9]=m,t[10]=g,t[11]=_):(g=t[10],_=t[11]),(0,j.useEffect)(g,_);let v,y;return t[12]===h?(v=t[13],y=t[14]):(v=()=>{let e=[];for(let{mesh:t,initialize:n}of h)n(t,$).then(t=>e.push(t)).catch(Q);return()=>e.forEach(fe)},y=[h],t[12]=h,t[13]=v,t[14]=y),(0,j.useEffect)(v,y),null}function fe(e){return e()}function Q(){}function $(){return O.getState().time}function pe(e){let t=(0,A.c)(7),{shapeName:n,eyeOffsetRef:r}=e,i=p(n),a;t[0]!==r||t[1]!==i.animations||t[2]!==i.scene?(a=()=>{let e=l(i.scene,i.animations,`Eye`);e?r.current.set(e.position.z,e.position.y,-e.position.x):r.current.set(0,s,0)},t[0]=r,t[1]=i.animations,t[2]=i.scene,t[3]=a):a=t[3];let o;return t[4]!==r||t[5]!==i?(o=[i,r],t[4]=r,t[5]=i,t[6]=o):o=t[6],(0,j.useEffect)(a,o),null}export{pe as PlayerEyeOffset,X as PlayerModel}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import{a}from"./SettingsProvider-2cUUftaX.js";import{S as o,a as s,d as c,f as l,i as u,l as d,p as f,r as p,t as m}from"./GenericShape-BbryN-E_.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{$ as h,Q as g,bt as _,i as v,o as y,s as b}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{a as x,i as S,o as C}from"./engineStore-Cio8vU1L.js";import{r as ee}from"./loaders-BRV0t4WA.js";import{n as w}from"./AudioContext-BCDmeKrq.js";import"./FloatingLabel-BEL3jCDa.js";import{getCachedAudioBuffer as te,getSoundGeneration as ne,playOneShotSound as re,resolveAudioProfile as ie,trackSound as T,untrackSound as E}from"./AudioEmitter--xCrCrsV.js";import{t as D}from"./DebugSuspense-qtqhYC4y.js";import{n as O}from"./streamPlaybackStore-uClZ1maO.js";import{c as ae}from"./globalFogUniforms-CaAkHfiE.js";import{t as k}from"./ShapeErrorBoundary-DEJ9vtex.js";var A=t(),j=e(n(),1),M=.1;function N(e){return-2*Math.atan2(e[1],e[3])}function P(e,t,n,r){if(n)return{animation:`fall`,timeScale:1};if(r)return{animation:`jet`,timeScale:1};if(!e)return{animation:`root`,timeScale:1};let[i,a,o]=e;if(Math.abs(o)>2)return{animation:`root`,timeScale:1};let s=N(t),c=Math.cos(s),l=Math.sin(s),u=i*c+a*l,d=-i*l+a*c,f=d,p=-d,m=-u,h=u,g=Math.max(f,p,m,h);return g0&&(this.delayTime=e[0].timeoutValue??0)}get stateIndex(){return this.currentStateIndex}reset(){this.currentStateIndex=0,this.delayTime=this.states.length>0?this.states[0].timeoutValue??0:0,this.lastFireCount=-1}tick(e,t){if(this.states.length===0)return{sequenceName:null,isFiring:!1,spinTimeScale:0,reverse:!1,scaleAnimation:!1,timeoutValue:0,transitioned:!1,soundDataBlockIds:[],stateIndex:-1};let n=this.lastFireCount>=0&&t.fireCount!==this.lastFireCount;this.lastFireCount=t.fireCount;let r=[];if(n){let e=this.states.findIndex(e=>e.fire);if(e>=0&&e!==this.currentStateIndex){this.currentStateIndex=e,this.delayTime=this.states[e].timeoutValue??0;let t=this.states[e].soundDataBlockId;t>=0&&r.push(t)}}this.delayTime-=e;let i=n,a=this.evaluateTickTransitions(t),o=0;for(;a>=0&&o=0&&r.push(c),this.states[a].spin){case L:this.spinTimeScale=0;break;case B:this.spinTimeScale=1;break;case R:e===z&&s>0&&(this.delayTime*=1-n/s);break;case z:e===R&&s>0&&(this.delayTime*=1-n/s);break}a=this.evaluateEntryTransitions(t)}let s=this.states[this.currentStateIndex],c=s.timeoutValue??0;switch(s.spin){case L:this.spinTimeScale=0;break;case R:this.spinTimeScale=c>0?Math.max(0,1-this.delayTime/c):1;break;case B:this.spinTimeScale=1;break;case z:this.spinTimeScale=c>0?Math.max(0,this.delayTime/c):0;break}return{sequenceName:this.resolveSequenceName(s),isFiring:s.fire,spinTimeScale:this.spinTimeScale,reverse:!s.direction,scaleAnimation:s.scaleAnimation,timeoutValue:s.timeoutValue??0,transitioned:i,soundDataBlockIds:r,stateIndex:this.currentStateIndex}}evaluateTickTransitions(e){let t=this.states[this.currentStateIndex],n=this.delayTime<=0;if(!(n||!t.waitForTimeout))return-1;let r=this.evaluateConditions(t,e);if(r!==-1)return r;if(n){let e=t.transitionOnTimeout;if(e!==F)return e}return-1}evaluateEntryTransitions(e){let t=this.states[this.currentStateIndex];return this.evaluateConditions(t,e)}evaluateConditions(e,t){let n=t.loaded?e.transitionOnLoaded:e.transitionOnNotLoaded;if(n!==F)return n;let r=t.ammo?e.transitionOnAmmo:e.transitionOnNoAmmo;if(r!==F)return r;let i=t.target?e.transitionOnTarget:e.transitionOnNoTarget;if(i!==F)return i;let a=t.wet?e.transitionOnWet:e.transitionOnNotWet;if(a!==F)return a;let o=t.triggerDown?e.transitionOnTriggerDown:e.transitionOnTriggerUp;return o===F?-1:o}resolveSequenceName(e){return e.sequence==null||e.sequence<0?null:this.seqIndexToName[e.sequence]??null}},H=r();function U(e){if(!e)return`lookde`;let t=e.toLowerCase();return t.includes(`missile`)?`lookms`:t.includes(`sniper`)?`looksn`:`lookde`}var W=8,G=[`root`,`run`,`back`,`side`,`fall`,`jet`,`jump`,`land`];function K(e,t,n=0){let r=new Map,i=[];for(let n of e){let e=n.indexOf(` `);if(e===-1)continue;let r=n.slice(0,e).toLowerCase(),a=n.slice(e+1).trim().toLowerCase();if(!a||!r.startsWith(t)||!r.endsWith(`.dsq`))continue;let o=r.slice(t.length,-4);o&&i.push({clipName:o,alias:a})}let a=new Set;for(let e=0;e{let t=n?.toLowerCase();return t?e.runtime.sequenceAliases.get(t):void 0}),s=ae(),{clonedScene:l,mixer:_,mount0:ee,mount1:w,mount2:te,iflInitializers:ne}=(0,j.useMemo)(()=>{let e=o(r.scene),t=f(e,void 0,{anisotropy:s});e.traverse(e=>{if(e.isMesh&&e.material){let t=Array.isArray(e.material)?e.material:[e.material];for(let e of t)e.side=0}});let n=new y(e),i=null,a=null,c=null;return e.traverse(e=>{!i&&e.name===`Mount0`&&(i=e),!a&&e.name===`Mount1`&&(a=e),!c&&e.name===`Mount2`&&(c=e)}),{clonedScene:e,mixer:n,mount0:i,mount1:a,mount2:c,iflInitializers:t}},[r,s]);(0,j.useEffect)(()=>()=>{d(l),_.uncacheRoot(l)},[l,_]);let re=(0,j.useRef)(new Map),ie=(0,j.useRef)({head:null,headside:null}),T=(0,j.useRef)(new Map),E=(0,j.useRef)(null),A=(0,j.useRef)({name:`root`,timeScale:1}),M=(0,j.useRef)(!1),N=(0,j.useRef)(void 0),F=(0,j.useMemo)(()=>{let e=t.getState().playback.recording?.streamingPlayback,i=n?.toLowerCase();if(!e||!i)return new Map;let a=e.getShapeConstructorSequences(i);if(!a)return new Map;let o=i.replace(/\.dts$/i,``)+`_`;return K(a,o,J(r.scene,a,o))},[t,n,r.scene]),I=(0,j.useMemo)(()=>{let e=new Map,t=r.scene.userData?.dts_sequence_names,n=r.scene.userData?.dts_sequence_cyclic;if(typeof t==`string`&&typeof n==`string`)try{let r=JSON.parse(t),i=JSON.parse(n),o=new Map;for(let e=0;e{let e=C(r.animations,_,a);re.current=e;let t=e.get(`root`);t&&t.play(),A.current={name:`root`,timeScale:1};let n={head:null,headside:null};for(let{key:e,names:t}of[{key:`head`,names:[`head`]},{key:`headside`,names:[`headside`]}]){let i=r.animations.find(e=>t.includes(e.name.toLowerCase()));if(!i)continue;let a=i.clone(),o=Math.round(i.duration*30/2);b.makeClipAdditive(a,o,i,30);let s=_.clipAction(a);s.blendMode=v,s.timeScale=0,s.weight=1,s.play(),n[e]=s}ie.current=n;let i=new Map,o=r.animations.find(e=>e.name.toLowerCase()===`lookde`),s=o?Math.round(o.duration*30/2):0;for(let e of[`lookde`,`lookms`,`looksn`]){let t=r.animations.find(t=>t.name.toLowerCase()===e);if(!t)continue;let n=t.clone(),a=o??t;b.makeClipAdditive(n,s,a,30);let c=_.clipAction(n);c.blendMode=v,c.timeScale=0,c.weight=0,c.play(),i.set(e,c)}T.current=i;let c=i.get(`lookde`);return c&&(c.weight=1,E.current=`lookde`),_.update(0),()=>{_.stopAllAction(),re.current=new Map,ie.current={head:null,headside:null},T.current=new Map,E.current=null}},[_,r.animations,a]),(0,j.useEffect)(()=>{let e=[];for(let{mesh:t,initialize:n}of ne)n(t,()=>O.getState().time).then(t=>e.push(t)).catch(()=>{});return()=>e.forEach(e=>e())},[ne]);let L=(0,j.useRef)(e.weaponShape),[R,z]=(0,j.useState)(e.weaponShape),B=(0,j.useRef)(e.packShape),[V,G]=(0,j.useState)(e.packShape),q=(0,j.useRef)(e.flagShape),[Y,X]=(0,j.useState)(e.flagShape);return i((n,r)=>{e.weaponShape!==L.current&&(L.current=e.weaponShape,z(e.weaponShape)),e.packShape!==B.current&&(B.current=e.packShape,G(e.packShape)),e.flagShape!==q.current&&(q.current=e.flagShape,X(e.flagShape));let i=t.getState().playback,a=i.status===`playing`,o=O.getState().time,s=c(e.keyframes??[],o),l=s?.damageState!=null&&s.damageState>=1,d=re.current;if(l&&!M.current){M.current=!0;let e=s.actionAnim==null?void 0:F.get(s.actionAnim);if(e){let t=d.get(e.clipName);if(t){let n=d.get(A.current.name.toLowerCase());n&&n.fadeOut(u),t.setLoop(g,1),t.clampWhenFinished=!0,t.reset().fadeIn(u).play(),A.current={name:e.clipName,timeScale:1},N.current=s.actionAnim}}}if(!l&&M.current){M.current=!1,N.current=void 0;let e=d.get(A.current.name.toLowerCase());e&&(e.stop(),e.setLoop(h,1/0),e.clampWhenFinished=!1),A.current={name:`root`,timeScale:1};let t=d.get(`root`);t&&t.reset().play()}let f=s?.actionAnim,p=N.current;if(!M.current&&f!==p){N.current=f;let e=f!=null&&f>=W,t=p!=null&&p>=W;if(e){let e=F.get(f);if(e){let t=d.get(e.clipName);if(t){let n=d.get(A.current.name.toLowerCase());n&&n.fadeOut(u),t.setLoop(g,1),t.clampWhenFinished=!0,t.reset().fadeIn(u).play(),A.current={name:e.clipName,timeScale:1}}}}else if(t){let e=F.get(p);if(e){let t=d.get(e.clipName);t&&(t.fadeOut(u),t.setLoop(h,1/0),t.clampWhenFinished=!1)}A.current={name:`root`,timeScale:1};let t=d.get(`root`);t&&t.reset().fadeIn(u).play()}}if(f!=null&&f>=W&&s?.actionAtEnd){let e=F.get(f);if(e){let t=d.get(e.clipName);t&&(t.paused=!0)}}let m=N.current!=null&&N.current>=W;if(!M.current&&!m){let t=P(s?.velocity,s?.rotation??[0,0,0,1],e.falling,e.jetting),n=A.current;if(t.animation!==n.name||t.timeScale!==n.timeScale){let e=d.get(n.name.toLowerCase()),r=d.get(t.animation.toLowerCase());r&&(I.get(t.animation)??!0?(r.setLoop(h,1/0),r.clampWhenFinished=!1):(r.setLoop(g,1),r.clampWhenFinished=!0),a&&e&&e!==r?(e.fadeOut(u),r.reset().fadeIn(u).play()):(e&&e!==r&&e.stop(),r.reset().play()),r.timeScale=t.timeScale,A.current={name:t.animation,timeScale:t.timeScale})}}let v=U(e.weaponShape);if(v!==E.current){let e=T.current,t=E.current?e.get(E.current):null,n=e.get(v);n&&(t&&(t.weight=0),n.weight=l?0:1,E.current=v)}let{head:y,headside:b}=ie.current,x=E.current?T.current.get(E.current):null,S=l?0:1,C=e.headPitch??0,ee=e.headYaw??0,w=(C+1)/2,te=(ee+1)/2;x&&(x.time=w*x.getClip().duration,x.weight=S),y&&(y.time=w*y.getClip().duration,y.weight=S),b&&(b.time=te*b.getClip().duration,b.weight=S),a?_.update(r*i.rate):_.update(0)}),(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`group`,{rotation:[0,Math.PI/2,0],children:(0,H.jsx)(`primitive`,{object:l})}),R&&ee&&(0,H.jsx)(k,{fallback:(0,H.jsx)(m,{color:`red`,label:R}),children:(0,H.jsx)(D,{name:`Weapon:${e.id}/${R}`,fallback:(0,H.jsx)(m,{color:`cyan`,label:R}),children:(0,H.jsx)(Z,{entity:e,weaponShape:R,mount0:ee})})},R),V&&w&&(0,H.jsx)(k,{fallback:(0,H.jsx)(m,{color:`red`,label:V}),children:(0,H.jsx)(D,{name:`Pack:${e.id}/${V}`,fallback:(0,H.jsx)(m,{color:`cyan`,label:V}),children:(0,H.jsx)(de,{packShape:V,mountBone:w})})},V),Y&&te&&(0,H.jsx)(k,{fallback:(0,H.jsx)(m,{color:`red`,label:Y}),children:(0,H.jsx)(D,{name:`Flag:${e.id}/${Y}`,fallback:(0,H.jsx)(m,{color:`cyan`,label:Y}),children:(0,H.jsx)(de,{packShape:Y,mountBone:te})})},Y)]})}function oe(e,t){let n=e.userData?.dts_sequence_names;if(typeof n==`string`)try{return JSON.parse(n).map(e=>e.toLowerCase())}catch{}return t.map(e=>e.name.toLowerCase())}function Z(e){let t=(0,A.c)(43),{entity:n,weaponShape:r,mount0:s}=e,c=x(),u=p(r),m=ae(),g,v,b,S;if(t[0]!==m||t[1]!==u.animations||t[2]!==u.scene){g=o(u.scene),v=f(g,void 0,{anisotropy:m});let e=l(u.scene,u.animations,`Mountpoint`);if(e){let t=e.quaternion.clone().invert(),n=e.position.clone().negate().applyQuaternion(t);g.position.copy(n),g.quaternion.copy(t)}S=new Map,g.traverse(e=>{if(!e.isMesh)return;let t=(e.userData?.vis_sequence??``).toLowerCase();if(!t)return;let n=S.get(t);n||(n=[],S.set(t,n)),n.push(e)}),b=new y(g),t[0]=m,t[1]=u.animations,t[2]=u.scene,t[3]=g,t[4]=v,t[5]=b,t[6]=S}else g=t[3],v=t[4],b=t[5],S=t[6];let C=b,E=u.scene,D;t[7]!==E||t[8]!==u.animations?(D=oe(E,u.animations),t[7]=E,t[8]=u.animations,t[9]=D):D=t[9];let O=D,k;t[10]!==g||t[11]!==v||t[12]!==C||t[13]!==O||t[14]!==S?(k={weaponClone:g,weaponMixer:C,seqIndexToName:O,visNodesBySequence:S,weaponIflInitializers:v},t[10]=g,t[11]=v,t[12]=C,t[13]=O,t[14]=S,t[15]=k):k=t[15];let{weaponClone:M,weaponMixer:N,seqIndexToName:P,visNodesBySequence:F,weaponIflInitializers:I}=k,L,R;t[16]!==M||t[17]!==N?(L=()=>()=>{d(M),N.uncacheRoot(M)},R=[M,N],t[16]=M,t[17]=N,t[18]=L,t[19]=R):(L=t[18],R=t[19]),(0,j.useEffect)(L,R);let z;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(z=new Map,t[20]=z):z=t[20];let B=(0,j.useRef)(z),H=(0,j.useRef)(null),U,W;t[21]!==u.animations||t[22]!==N?(U=()=>{let e=new Map;for(let t of u.animations)e.set(t.name.toLowerCase(),N.clipAction(t));B.current=e;let t=e.get(`spin`);return t&&(t.setLoop(h,1/0),t.timeScale=0,t.play()),H.current=t??null,N.update(0),()=>{N.stopAllAction(),B.current=new Map,H.current=null,Y(Q,$)}},W=[N,u.animations],t[21]=u.animations,t[22]=N,t[23]=U,t[24]=W):(U=t[23],W=t[24]),(0,j.useEffect)(U,W);let G,K;t[25]===I?(G=t[26],K=t[27]):(G=()=>{let e=[];for(let{mesh:t,initialize:n}of I)n(t,le).then(t=>e.push(t)).catch(ce);return()=>e.forEach(se)},K=[I],t[25]=I,t[26]=G,t[27]=K),(0,j.useEffect)(G,K);let{audioLoader:q,audioListener:J}=w(),X=a()?.audioEnabled??!1,Z=(0,j.useRef)(null),de=(0,j.useRef)(null),fe=(0,j.useRef)(n.weaponImageStates),Q=(0,j.useRef)(null),$=(0,j.useRef)(-1),pe,me;t[28]!==s||t[29]!==M?(pe=()=>(s.add(M),()=>{s.remove(M)}),me=[M,s],t[28]=s,t[29]=M,t[30]=pe,t[31]=me):(pe=t[30],me=t[31]),(0,j.useEffect)(pe,me);let he;return t[32]!==X||t[33]!==J||t[34]!==q||t[35]!==c||t[36]!==n.weaponImageState||t[37]!==n.weaponImageStates||t[38]!==P||t[39]!==F||t[40]!==M||t[41]!==N?(he=(e,t)=>{let r=c.getState().playback,i=r.status===`playing`,a=B.current,o=n.weaponImageState,s=n.weaponImageStates;s!==fe.current&&(fe.current=s,s&&s.length>0?Z.current=new V(s,P):Z.current=null,de.current=null,Y(Q,$,M)),!Z.current&&s&&s.length>0&&(Z.current=new V(s,P));let l=Z.current;if(l&&o&&i){let e=t*r.rate,n=l.tick(e,o);if(ue(n,a,de,F),Q.current&&n.stateIndex!==$.current&&Y(Q,$,M),X&&q&&J&&n.soundDataBlockIds.length>0){let e=r.recording?.streamingPlayback.getDataBlockData.bind(r.recording.streamingPlayback);if(e)for(let t of n.soundDataBlockIds){let n=ie(t,e);if(n)if(n.isLooping){if(!Q.current)try{let e=ee(n.filename),t=ne();te(e,q,e=>{if(t!==ne()||Q.current)return;let i=l.stateIndex,a=new _(J);a.setBuffer(e),a.setDistanceModel(`inverse`),a.setRefDistance(n.refDist),a.setMaxDistance(n.maxDist),a.setRolloffFactor(1),a.setVolume(n.volume),a.setPlaybackRate(r.rate),a.setLoop(!0),M.add(a),T(a),a.play(),Q.current=a,$.current=i})}catch{}}else re(n,J,q,void 0,M)}}H.current&&(H.current.timeScale=n.spinTimeScale)}i?N.update(t*r.rate):N.update(0)},t[32]=X,t[33]=J,t[34]=q,t[35]=c,t[36]=n.weaponImageState,t[37]=n.weaponImageStates,t[38]=P,t[39]=F,t[40]=M,t[41]=N,t[42]=he):he=t[42],i(he),null}function se(e){return e()}function ce(){}function le(){return O.getState().time}function ue(e,t,n,r){let i=e.sequenceName,a=n.current;if(i===a&&!e.transitioned)return;if(i!==a){if(a){let e=r.get(a);if(e)for(let t of e)t.visible=!1}if(i){let e=r.get(i);if(e)for(let t of e)t.visible=!0}}if(!i){if(a){let e=t.get(a);e&&e.fadeOut(u),n.current=null}return}let o=t.get(i);if(o&&(e.transitioned||i!==a)){let r=a?t.get(a):null;if(e.isFiring||e.timeoutValue>0?(o.setLoop(g,1),o.clampWhenFinished=!0):(o.setLoop(h,1/0),o.clampWhenFinished=!1),e.scaleAnimation&&e.timeoutValue>0){let t=o.getClip().duration;o.timeScale=t>0?t/e.timeoutValue:1}else o.timeScale=e.reverse?-1:1;r&&r!==o?(r.fadeOut(u),o.reset().fadeIn(u).play()):o.reset().play(),n.current=i}}function de(e){let t=(0,A.c)(15),{packShape:n,mountBone:r}=e,i=p(n),a=ae(),s,c;if(t[0]!==a||t[1]!==i.animations||t[2]!==i.scene){s=o(i.scene),c=f(s,void 0,{anisotropy:a});let e=l(i.scene,i.animations,`Mountpoint`);if(e){let t=e.quaternion.clone().invert(),n=e.position.clone().negate().applyQuaternion(t);s.position.copy(n),s.quaternion.copy(t)}t[0]=a,t[1]=i.animations,t[2]=i.scene,t[3]=s,t[4]=c}else s=t[3],c=t[4];let u;t[5]!==s||t[6]!==c?(u={packClone:s,packIflInitializers:c},t[5]=s,t[6]=c,t[7]=u):u=t[7];let{packClone:m,packIflInitializers:h}=u,g,_;t[8]!==r||t[9]!==m?(g=()=>(r.add(m),()=>{r.remove(m),d(m)}),_=[m,r],t[8]=r,t[9]=m,t[10]=g,t[11]=_):(g=t[10],_=t[11]),(0,j.useEffect)(g,_);let v,y;return t[12]===h?(v=t[13],y=t[14]):(v=()=>{let e=[];for(let{mesh:t,initialize:n}of h)n(t,$).then(t=>e.push(t)).catch(Q);return()=>e.forEach(fe)},y=[h],t[12]=h,t[13]=v,t[14]=y),(0,j.useEffect)(v,y),null}function fe(e){return e()}function Q(){}function $(){return O.getState().time}function pe(e){let t=(0,A.c)(7),{shapeName:n,eyeOffsetRef:r}=e,i=p(n),a;t[0]!==r||t[1]!==i.animations||t[2]!==i.scene?(a=()=>{let e=l(i.scene,i.animations,`Eye`);e?r.current.set(e.position.z,e.position.y,-e.position.x):r.current.set(0,s,0)},t[0]=r,t[1]=i.animations,t[2]=i.scene,t[3]=a):a=t[3];let o;return t[4]!==r||t[5]!==i?(o=[i,r],t[4]=r,t[5]=i,t[6]=o):o=t[6],(0,j.useEffect)(a,o),null}export{pe as PlayerEyeOffset,X as PlayerModel}; \ No newline at end of file diff --git a/docs/assets/Projectiles-CMqanslS.js b/docs/assets/Projectiles-0l_BpFsV.js similarity index 94% rename from docs/assets/Projectiles-CMqanslS.js rename to docs/assets/Projectiles-0l_BpFsV.js index 989f701a..24816de0 100644 --- a/docs/assets/Projectiles-CMqanslS.js +++ b/docs/assets/Projectiles-0l_BpFsV.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import"./SettingsProvider-2cUUftaX.js";import{_ as a,h as o,m as s}from"./GenericShape-DCImTyf2.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{Ot as c,St as l,Ut as u,b as d}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import"./engineStore-Cio8vU1L.js";import{t as f}from"./Texture-CI_Y9elU.js";import{p}from"./loaders-C_1cX1lR.js";import"./FloatingLabel-CXLHy5vc.js";import"./globalFogUniforms-DQn9KFk6.js";var m=t(),h=e(n(),1),g=r(),_=new u,v=new u,y=new u,b=new u,x=new u,S=new u,C=new u(0,1,0);function w(e){let t=(0,m.c)(14),{entity:n}=e,{visual:r}=n,i;t[0]===r.texture?i=t[1]:(i=p(r.texture),t[0]=r.texture,t[1]=i);let a=f(i,T),o=Array.isArray(a)?a[0]:a,s;t[2]!==r.color.b||t[3]!==r.color.g||t[4]!==r.color.r?(s=new d().setRGB(r.color.r,r.color.g,r.color.b,c),t[2]=r.color.b,t[3]=r.color.g,t[4]=r.color.r,t[5]=s):s=t[5];let l=s,u;t[6]===r.size?u=t[7]:(u=[r.size,r.size,1],t[6]=r.size,t[7]=u);let h;t[8]!==l||t[9]!==o?(h=(0,g.jsx)(`spriteMaterial`,{map:o,color:l,transparent:!0,blending:2,depthWrite:!1,toneMapped:!1}),t[8]=l,t[9]=o,t[10]=h):h=t[10];let _;return t[11]!==u||t[12]!==h?(_=(0,g.jsx)(`sprite`,{scale:u,children:h}),t[11]=u,t[12]=h,t[13]=_):_=t[13],_}function T(e){o(Array.isArray(e)?e[0]:e)}function E(e){let t=(0,m.c)(29),{entity:n}=e,{visual:r}=n,o=(0,h.useRef)(null),c=(0,h.useRef)(null),u=(0,h.useRef)(null),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=new l,t[0]=d):d=t[0];let w=(0,h.useRef)(d),T;t[1]===r.texture?T=t[2]:(T=p(r.texture),t[1]=r.texture,t[2]=T);let E=r.crossTexture??r.texture,O;t[3]===E?O=t[4]:(O=p(E),t[3]=E,t[4]=O);let k;t[5]!==T||t[6]!==O?(k=[T,O],t[5]=T,t[6]=O,t[7]=k):k=t[7];let A=f(k,D),j;t[8]===A?j=t[9]:(j=Array.isArray(A)?A:[A,A],t[8]=A,t[9]=j);let[M,N]=j,P;t[10]!==n.direction||t[11]!==n.keyframes?.[0]||t[12]!==r.crossSize||t[13]!==r.crossViewAng||t[14]!==r.renderCross||t[15]!==r.tracerLength||t[16]!==r.tracerWidth?(P=e=>{let{camera:t}=e,i=o.current,l=c.current;if(!i||!l)return;let d=n.keyframes?.[0],f=d?.position,p=n.direction??d?.velocity;if(!f||!p){i.visible=!1,u.current&&(u.current.visible=!1);return}if(a(p,_),_.lengthSq()<1e-8){i.visible=!1,u.current&&(u.current.visible=!1);return}_.normalize(),i.visible=!0,a(f,S),v.copy(S).sub(t.position),y.crossVectors(v,_),y.lengthSq()<1e-8&&(y.crossVectors(C,_),y.lengthSq()<1e-8&&y.set(1,0,0)),y.normalize().multiplyScalar(r.tracerWidth);let m=r.tracerLength*.5;b.copy(_).multiplyScalar(-m),x.copy(_).multiplyScalar(m);let h=l.array;h[0]=b.x+y.x,h[1]=b.y+y.y,h[2]=b.z+y.z,h[3]=b.x-y.x,h[4]=b.y-y.y,h[5]=b.z-y.z,h[6]=x.x-y.x,h[7]=x.y-y.y,h[8]=x.z-y.z,h[9]=x.x+y.x,h[10]=x.y+y.y,h[11]=x.z+y.z,l.needsUpdate=!0;let g=u.current;if(!g)return;if(!r.renderCross){g.visible=!1;return}v.normalize();let T=_.dot(v);if(T>-r.crossViewAng&&T{let{camera:t}=e,i=o.current,l=c.current;if(!i||!l)return;let d=n.keyframes?.[0],f=d?.position,p=n.direction??d?.velocity;if(!f||!p){i.visible=!1,u.current&&(u.current.visible=!1);return}if(a(p,_),_.lengthSq()<1e-8){i.visible=!1,u.current&&(u.current.visible=!1);return}_.normalize(),i.visible=!0,a(f,S),v.copy(S).sub(t.position),y.crossVectors(v,_),y.lengthSq()<1e-8&&(y.crossVectors(C,_),y.lengthSq()<1e-8&&y.set(1,0,0)),y.normalize().multiplyScalar(r.tracerWidth);let m=r.tracerLength*.5;b.copy(_).multiplyScalar(-m),x.copy(_).multiplyScalar(m);let h=l.array;h[0]=b.x+y.x,h[1]=b.y+y.y,h[2]=b.z+y.z,h[3]=b.x-y.x,h[4]=b.y-y.y,h[5]=b.z-y.z,h[6]=x.x-y.x,h[7]=x.y-y.y,h[8]=x.z-y.z,h[9]=x.x+y.x,h[10]=x.y+y.y,h[11]=x.z+y.z,l.needsUpdate=!0;let g=u.current;if(!g)return;if(!r.renderCross){g.visible=!1;return}v.normalize();let T=_.dot(v);if(T>-r.crossViewAng&&Te.ping),n=t.reduce((e,t)=>e+t,0)/t.length,r=t.reduce((e,t)=>e+(t-n)**2,0)/t.length;return{avg:Math.round(n),dev:Math.round(Math.sqrt(r))}}function h(e){let t=e<0?`-`:``,n=Math.abs(e),r=Math.floor(n/60),i=Math.floor(n%60);return`${t}${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function ee(e){let t=(0,u.c)(5),{clockMs:n}=e,r=Math.abs(n)/1e3,i=n<0?Math.ceil(r):Math.floor(r),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,p.jsx)(c,{className:f.ClockIcon}),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=h(i),t[1]=i,t[2]=o);let s;return t[3]===o?s=t[4]:(s=(0,p.jsxs)(`span`,{className:f.MatchClock,children:[a,` `,(0,p.jsx)(`span`,{className:f.Time,children:o})]}),t[3]=o,t[4]=s),s}function g(e){return e.name||i[e.teamId]||`Team ${e.teamId}`}function _(e){let t=(0,u.c)(56),{onClose:n}=e,r=(0,d.useRef)(null),i=s()===`live`,{connectedClientId:c,teamScores:l,playerRoster:h,matchClockMs:_}=a(se,oe),y,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{r.current?.focus();try{document.exitPointerLock()}catch{}},b=[],t[0]=y,t[1]=b):(y=t[0],b=t[1]),(0,d.useEffect)(y,b);let x,S;t[2]===n?(x=t[3],S=t[4]):(x=()=>{let e=e=>{e.key===`Escape`&&n(),e.stopImmediatePropagation()},t=v;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,t,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,t,{capture:!0})}},S=[n],t[2]=n,t[3]=x,t[4]=S),(0,d.useEffect)(x,S);let C,w;t[5]===i?(C=t[6],w=t[7]):(C=()=>{if(!i)return;let e=ae;e();let t=setInterval(e,4e3);return()=>clearInterval(t)},w=[i],t[5]=i,t[6]=C,t[7]=w),(0,d.useEffect)(C,w);let T;if(t[8]!==h){let e=new Map,n=[];if(h)for(let t of h)if(t.teamId>0){let n=e.get(t.teamId);n?n.push(t):e.set(t.teamId,[t])}else n.push(t);for(let t of e.values())t.sort(ie);n.sort(re),T={teamPlayers:e,observers:n},t[8]=h,t[9]=T}else T=t[9];let{teamPlayers:E,observers:D}=T,O;bb0:{if(!l?.length){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[10]=e):e=t[10],O=e;break bb0}let e;t[11]===l?e=t[12]:(e=[...l].sort(ne),t[11]=l,t[12]=e),O=e}let k=O,A=k.length>=2,j=k[0],M=k[1],N;t[13]!==j||t[14]!==E?(N=j?E.get(j.teamId)??[]:[],t[13]=j,t[14]=E,t[15]=N):N=t[15];let P=N,F;t[16]!==M||t[17]!==E?(F=M?E.get(M.teamId)??[]:[],t[16]=M,t[17]=E,t[18]=F):F=t[18];let I=F,L;t[19]===P?L=t[20]:(L=m(P),t[19]=P,t[20]=L);let R=L,z;t[21]===I?z=t[22]:(z=m(I),t[21]=I,t[22]=z);let B=z,V=Math.max(P.length,I.length),H;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,p.jsx)(`h2`,{className:f.Title,children:`Score`}),t[23]=H):H=t[23];let U;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(o,{className:f.PlayersIcon}),t[24]=U):U=t[24];let W=h?.length??0,G;t[25]===W?G=t[26]:(G=(0,p.jsxs)(`span`,{className:f.PlayerTotal,children:[U,` `,W,` players`]}),t[25]=W,t[26]=G);let K;t[27]===_?K=t[28]:(K=_!=null&&(0,p.jsx)(ee,{clockMs:_}),t[27]=_,t[28]=K);let q;t[29]!==G||t[30]!==K?(q=(0,p.jsxs)(`header`,{className:f.TitleBar,children:[H,` `,G,` `,K]}),t[29]=G,t[30]=K,t[31]=q):q=t[31];let J;t[32]!==c||t[33]!==A||t[34]!==V||t[35]!==D||t[36]!==h?.length||t[37]!==j||t[38]!==R||t[39]!==P||t[40]!==M||t[41]!==B||t[42]!==I?(J=A?(0,p.jsx)(`div`,{className:f.TableWrapper,children:(0,p.jsxs)(`table`,{className:f.Table,children:[(0,p.jsxs)(`thead`,{children:[(0,p.jsxs)(`tr`,{className:f.TeamHeaderRow,children:[(0,p.jsx)(`th`,{className:f.TeamName,children:g(j)}),(0,p.jsx)(`th`,{className:f.TeamScore,children:j.score}),(0,p.jsx)(`th`,{className:f.TeamName,children:g(M)}),(0,p.jsx)(`th`,{className:f.TeamScore,children:M.score})]}),(0,p.jsxs)(`tr`,{className:f.ColumnHeaderRow,children:[(0,p.jsxs)(`th`,{className:f.ColumnHeader,children:[(0,p.jsxs)(`span`,{children:[`Players (`,P.length,`)`]}),P.length>0&&(0,p.jsxs)(`span`,{className:f.ColumnPing,children:[` `,`PING: `,R.avg,` ± `,R.dev,` ms`]})]}),(0,p.jsx)(`th`,{className:f.ColumnHeaderScore,children:`Score`}),(0,p.jsxs)(`th`,{className:f.ColumnHeader,children:[(0,p.jsxs)(`span`,{children:[`Players (`,I.length,`)`]}),I.length>0&&(0,p.jsxs)(`span`,{className:f.ColumnPing,children:[` `,`PING: `,B.avg,` ± `,B.dev,` ms`]})]}),(0,p.jsx)(`th`,{className:f.ColumnHeaderScore,children:`Score`})]})]}),(0,p.jsx)(`tbody`,{className:f.PlayerBody,children:Array.from({length:V},(e,t)=>{let n=P[t],r=I[t],i=c!=null&&n?.clientId===c,a=c!=null&&r?.clientId===c;return(0,p.jsxs)(`tr`,{children:[(0,p.jsx)(`td`,{className:i?f.PlayerNameLocal:f.PlayerName,children:n?.name||(n?`...`:``)}),(0,p.jsx)(`td`,{className:i?f.PlayerScoreLocal:f.PlayerScore,children:n==null?``:n.score}),(0,p.jsx)(`td`,{className:a?f.PlayerNameLocal:f.PlayerName,children:r?.name||(r?`...`:``)}),(0,p.jsx)(`td`,{className:a?f.PlayerScoreLocal:f.PlayerScore,children:r==null?``:r.score})]},`${n?.clientId??``}-${r?.clientId??``}`)})}),D.length>0&&(()=>{let e=Math.ceil(D.length/2),t=Math.ceil(D.length/2);return(0,p.jsxs)(`tbody`,{className:f.ObserverBody,children:[(0,p.jsxs)(`tr`,{className:f.ColumnHeaderRow,children:[(0,p.jsxs)(`th`,{colSpan:2,className:f.ColumnHeader,children:[`Observers (`,D.length,`)`]}),(0,p.jsx)(`th`,{colSpan:2,className:f.ColumnHeader,children:`\xA0`})]}),Array.from({length:t},(t,n)=>{let r=D[n],i=D[n+e],a=c!=null&&r?.clientId===c,o=c!=null&&i?.clientId===c;return(0,p.jsxs)(`tr`,{children:[(0,p.jsx)(`td`,{className:a?f.PlayerNameLocal:f.PlayerName,children:r?.name||(r?`...`:``)}),(0,p.jsx)(`td`,{className:a?f.PlayerScoreLocal:f.PlayerScore,children:r==null?``:r.score}),(0,p.jsx)(`td`,{className:o?f.PlayerNameLocal:f.PlayerName,children:i?.name||``}),(0,p.jsx)(`td`,{className:o?f.PlayerScoreLocal:f.PlayerScore,children:i==null?``:i.score})]},`${r?.clientId??``}-${i?.clientId??``}`)})]})})()]})}):(0,p.jsx)(`div`,{className:f.Empty,children:h?.length?`No team data available`:`Waiting for player data…`}),t[32]=c,t[33]=A,t[34]=V,t[35]=D,t[36]=h?.length,t[37]=j,t[38]=R,t[39]=P,t[40]=M,t[41]=B,t[42]=I,t[43]=J):J=t[43];let Y;t[44]===n?Y=t[45]:(Y=(0,p.jsx)(`button`,{className:f.CloseButton,onClick:n,children:`Close`}),t[44]=n,t[45]=Y);let X;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,p.jsx)(`span`,{className:f.Hint,children:`Esc to close`}),t[46]=X):X=t[46];let Z;t[47]===Y?Z=t[48]:(Z=(0,p.jsxs)(`div`,{className:f.Footer,children:[Y,X]}),t[47]=Y,t[48]=Z);let Q;t[49]!==q||t[50]!==J||t[51]!==Z?(Q=(0,p.jsxs)(`div`,{ref:r,className:f.Dialog,onClick:te,role:`dialog`,"aria-modal":`true`,"aria-label":`Score Screen`,tabIndex:-1,children:[q,J,Z]}),t[49]=q,t[50]=J,t[51]=Z,t[52]=Q):Q=t[52];let $;return t[53]!==n||t[54]!==Q?($=(0,p.jsx)(`div`,{className:f.Overlay,onClick:n,children:Q}),t[53]=n,t[54]=Q,t[55]=$):$=t[55],$}function te(e){return e.stopPropagation()}function ne(e,t){return e.teamId-t.teamId}function re(e,t){return(e.name??``).localeCompare(t.name??``)}function ie(e,t){return t.score-e.score||(e.name??``).localeCompare(t.name??``)}function ae(){l.getState().sendCommand(`getScores`)}function v(e){e.stopImmediatePropagation()}function oe(e,t){return e.connectedClientId===t.connectedClientId&&e.teamScores===t.teamScores&&e.playerRoster===t.playerRoster&&e.matchClockMs===t.matchClockMs}function se(e){let t=e.playback.streamSnapshot;return{connectedClientId:t?.connectedClientId,teamScores:t?.teamScores,playerRoster:t?.playerRoster,matchClockMs:t?.matchClockMs}}export{_ as ScoreScreen}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./stringUtils-BfUKbRCH.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./streamHelpers-Be29sBCp.js";import"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{i as a}from"./engineStore-Cio8vU1L.js";import{D as o,b as s,c,g as l}from"./index-Chmtkuc3.js";var u=t(),d=e(n(),1),f={Dialog:`_Dialog_4rdu6_1 _Dialog_6c89x_1`,Overlay:`_Overlay_4rdu6_11 _Overlay_6c89x_20`,TitleBar:`_TitleBar_4rdu6_15`,PlayerTotal:`_PlayerTotal_4rdu6_27`,Title:`_Title_4rdu6_15`,MatchClock:`_MatchClock_4rdu6_46`,Time:`_Time_4rdu6_56`,PlayersIcon:`_PlayersIcon_4rdu6_60`,ClockIcon:`_ClockIcon_4rdu6_64`,TableWrapper:`_TableWrapper_4rdu6_69`,Table:`_Table_4rdu6_69`,TeamHeaderRow:`_TeamHeaderRow_4rdu6_92`,TeamName:`_TeamName_4rdu6_99`,TeamScore:`_TeamScore_4rdu6_109`,ColumnHeaderRow:`_ColumnHeaderRow_4rdu6_117`,ColumnHeader:`_ColumnHeader_4rdu6_117`,ColumnHeaderScore:`_ColumnHeaderScore_4rdu6_134`,PlayerScore:`_PlayerScore_4rdu6_141`,ColumnPing:`_ColumnPing_4rdu6_145`,PlayerBody:`_PlayerBody_4rdu6_154`,PlayerName:`_PlayerName_4rdu6_168`,PlayerNameLocal:`_PlayerNameLocal_4rdu6_179 _PlayerName_4rdu6_168`,PlayerScoreLocal:`_PlayerScoreLocal_4rdu6_193 _PlayerScore_4rdu6_141`,ObserverBody:`_ObserverBody_4rdu6_202`,Footer:`_Footer_4rdu6_223`,CloseButton:`_CloseButton_4rdu6_233 _DialogButton_6c89x_31`,Hint:`_Hint_4rdu6_237`,Empty:`_Empty_4rdu6_243`},p=r();function m(e){if(!e.length)return{avg:0,dev:0};let t=e.map(e=>e.ping),n=t.reduce((e,t)=>e+t,0)/t.length,r=t.reduce((e,t)=>e+(t-n)**2,0)/t.length;return{avg:Math.round(n),dev:Math.round(Math.sqrt(r))}}function h(e){let t=e<0?`-`:``,n=Math.abs(e),r=Math.floor(n/60),i=Math.floor(n%60);return`${t}${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function ee(e){let t=(0,u.c)(5),{clockMs:n}=e,r=Math.abs(n)/1e3,i=n<0?Math.ceil(r):Math.floor(r),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,p.jsx)(c,{className:f.ClockIcon}),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=h(i),t[1]=i,t[2]=o);let s;return t[3]===o?s=t[4]:(s=(0,p.jsxs)(`span`,{className:f.MatchClock,children:[a,` `,(0,p.jsx)(`span`,{className:f.Time,children:o})]}),t[3]=o,t[4]=s),s}function g(e){return e.name||i[e.teamId]||`Team ${e.teamId}`}function _(e){let t=(0,u.c)(56),{onClose:n}=e,r=(0,d.useRef)(null),i=s()===`live`,{connectedClientId:c,teamScores:l,playerRoster:h,matchClockMs:_}=a(se,oe),y,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{r.current?.focus();try{document.exitPointerLock()}catch{}},b=[],t[0]=y,t[1]=b):(y=t[0],b=t[1]),(0,d.useEffect)(y,b);let x,S;t[2]===n?(x=t[3],S=t[4]):(x=()=>{let e=e=>{e.key===`Escape`&&n(),e.stopImmediatePropagation()},t=v;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,t,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,t,{capture:!0})}},S=[n],t[2]=n,t[3]=x,t[4]=S),(0,d.useEffect)(x,S);let C,w;t[5]===i?(C=t[6],w=t[7]):(C=()=>{if(!i)return;let e=ae;e();let t=setInterval(e,4e3);return()=>clearInterval(t)},w=[i],t[5]=i,t[6]=C,t[7]=w),(0,d.useEffect)(C,w);let T;if(t[8]!==h){let e=new Map,n=[];if(h)for(let t of h)if(t.teamId>0){let n=e.get(t.teamId);n?n.push(t):e.set(t.teamId,[t])}else n.push(t);for(let t of e.values())t.sort(ie);n.sort(re),T={teamPlayers:e,observers:n},t[8]=h,t[9]=T}else T=t[9];let{teamPlayers:E,observers:D}=T,O;bb0:{if(!l?.length){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[10]=e):e=t[10],O=e;break bb0}let e;t[11]===l?e=t[12]:(e=[...l].sort(ne),t[11]=l,t[12]=e),O=e}let k=O,A=k.length>=2,j=k[0],M=k[1],N;t[13]!==j||t[14]!==E?(N=j?E.get(j.teamId)??[]:[],t[13]=j,t[14]=E,t[15]=N):N=t[15];let P=N,F;t[16]!==M||t[17]!==E?(F=M?E.get(M.teamId)??[]:[],t[16]=M,t[17]=E,t[18]=F):F=t[18];let I=F,L;t[19]===P?L=t[20]:(L=m(P),t[19]=P,t[20]=L);let R=L,z;t[21]===I?z=t[22]:(z=m(I),t[21]=I,t[22]=z);let B=z,V=Math.max(P.length,I.length),H;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,p.jsx)(`h2`,{className:f.Title,children:`Score`}),t[23]=H):H=t[23];let U;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(o,{className:f.PlayersIcon}),t[24]=U):U=t[24];let W=h?.length??0,G;t[25]===W?G=t[26]:(G=(0,p.jsxs)(`span`,{className:f.PlayerTotal,children:[U,` `,W,` players`]}),t[25]=W,t[26]=G);let K;t[27]===_?K=t[28]:(K=_!=null&&(0,p.jsx)(ee,{clockMs:_}),t[27]=_,t[28]=K);let q;t[29]!==G||t[30]!==K?(q=(0,p.jsxs)(`header`,{className:f.TitleBar,children:[H,` `,G,` `,K]}),t[29]=G,t[30]=K,t[31]=q):q=t[31];let J;t[32]!==c||t[33]!==A||t[34]!==V||t[35]!==D||t[36]!==h?.length||t[37]!==j||t[38]!==R||t[39]!==P||t[40]!==M||t[41]!==B||t[42]!==I?(J=A?(0,p.jsx)(`div`,{className:f.TableWrapper,children:(0,p.jsxs)(`table`,{className:f.Table,children:[(0,p.jsxs)(`thead`,{children:[(0,p.jsxs)(`tr`,{className:f.TeamHeaderRow,children:[(0,p.jsx)(`th`,{className:f.TeamName,children:g(j)}),(0,p.jsx)(`th`,{className:f.TeamScore,children:j.score}),(0,p.jsx)(`th`,{className:f.TeamName,children:g(M)}),(0,p.jsx)(`th`,{className:f.TeamScore,children:M.score})]}),(0,p.jsxs)(`tr`,{className:f.ColumnHeaderRow,children:[(0,p.jsxs)(`th`,{className:f.ColumnHeader,children:[(0,p.jsxs)(`span`,{children:[`Players (`,P.length,`)`]}),P.length>0&&(0,p.jsxs)(`span`,{className:f.ColumnPing,children:[` `,`PING: `,R.avg,` ± `,R.dev,` ms`]})]}),(0,p.jsx)(`th`,{className:f.ColumnHeaderScore,children:`Score`}),(0,p.jsxs)(`th`,{className:f.ColumnHeader,children:[(0,p.jsxs)(`span`,{children:[`Players (`,I.length,`)`]}),I.length>0&&(0,p.jsxs)(`span`,{className:f.ColumnPing,children:[` `,`PING: `,B.avg,` ± `,B.dev,` ms`]})]}),(0,p.jsx)(`th`,{className:f.ColumnHeaderScore,children:`Score`})]})]}),(0,p.jsx)(`tbody`,{className:f.PlayerBody,children:Array.from({length:V},(e,t)=>{let n=P[t],r=I[t],i=c!=null&&n?.clientId===c,a=c!=null&&r?.clientId===c;return(0,p.jsxs)(`tr`,{children:[(0,p.jsx)(`td`,{className:i?f.PlayerNameLocal:f.PlayerName,children:n?.name||(n?`...`:``)}),(0,p.jsx)(`td`,{className:i?f.PlayerScoreLocal:f.PlayerScore,children:n==null?``:n.score}),(0,p.jsx)(`td`,{className:a?f.PlayerNameLocal:f.PlayerName,children:r?.name||(r?`...`:``)}),(0,p.jsx)(`td`,{className:a?f.PlayerScoreLocal:f.PlayerScore,children:r==null?``:r.score})]},`${n?.clientId??``}-${r?.clientId??``}`)})}),D.length>0&&(()=>{let e=Math.ceil(D.length/2),t=Math.ceil(D.length/2);return(0,p.jsxs)(`tbody`,{className:f.ObserverBody,children:[(0,p.jsxs)(`tr`,{className:f.ColumnHeaderRow,children:[(0,p.jsxs)(`th`,{colSpan:2,className:f.ColumnHeader,children:[`Observers (`,D.length,`)`]}),(0,p.jsx)(`th`,{colSpan:2,className:f.ColumnHeader,children:`\xA0`})]}),Array.from({length:t},(t,n)=>{let r=D[n],i=D[n+e],a=c!=null&&r?.clientId===c,o=c!=null&&i?.clientId===c;return(0,p.jsxs)(`tr`,{children:[(0,p.jsx)(`td`,{className:a?f.PlayerNameLocal:f.PlayerName,children:r?.name||(r?`...`:``)}),(0,p.jsx)(`td`,{className:a?f.PlayerScoreLocal:f.PlayerScore,children:r==null?``:r.score}),(0,p.jsx)(`td`,{className:o?f.PlayerNameLocal:f.PlayerName,children:i?.name||``}),(0,p.jsx)(`td`,{className:o?f.PlayerScoreLocal:f.PlayerScore,children:i==null?``:i.score})]},`${r?.clientId??``}-${i?.clientId??``}`)})]})})()]})}):(0,p.jsx)(`div`,{className:f.Empty,children:h?.length?`No team data available`:`Waiting for player data…`}),t[32]=c,t[33]=A,t[34]=V,t[35]=D,t[36]=h?.length,t[37]=j,t[38]=R,t[39]=P,t[40]=M,t[41]=B,t[42]=I,t[43]=J):J=t[43];let Y;t[44]===n?Y=t[45]:(Y=(0,p.jsx)(`button`,{className:f.CloseButton,onClick:n,children:`Close`}),t[44]=n,t[45]=Y);let X;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,p.jsx)(`span`,{className:f.Hint,children:`Esc to close`}),t[46]=X):X=t[46];let Z;t[47]===Y?Z=t[48]:(Z=(0,p.jsxs)(`div`,{className:f.Footer,children:[Y,X]}),t[47]=Y,t[48]=Z);let Q;t[49]!==q||t[50]!==J||t[51]!==Z?(Q=(0,p.jsxs)(`div`,{ref:r,className:f.Dialog,onClick:te,role:`dialog`,"aria-modal":`true`,"aria-label":`Score Screen`,tabIndex:-1,children:[q,J,Z]}),t[49]=q,t[50]=J,t[51]=Z,t[52]=Q):Q=t[52];let $;return t[53]!==n||t[54]!==Q?($=(0,p.jsx)(`div`,{className:f.Overlay,onClick:n,children:Q}),t[53]=n,t[54]=Q,t[55]=$):$=t[55],$}function te(e){return e.stopPropagation()}function ne(e,t){return e.teamId-t.teamId}function re(e,t){return(e.name??``).localeCompare(t.name??``)}function ie(e,t){return t.score-e.score||(e.name??``).localeCompare(t.name??``)}function ae(){l.getState().sendCommand(`getScores`)}function v(e){e.stopImmediatePropagation()}function oe(e,t){return e.connectedClientId===t.connectedClientId&&e.teamScores===t.teamScores&&e.playerRoster===t.playerRoster&&e.matchClockMs===t.matchClockMs}function se(e){let t=e.playback.streamSnapshot;return{connectedClientId:t?.connectedClientId,teamScores:t?.teamScores,playerRoster:t?.playerRoster,matchClockMs:t?.matchClockMs}}export{_ as ScoreScreen}; \ No newline at end of file diff --git a/docs/assets/ServerBrowser-Dc3KGuyz.js b/docs/assets/ServerBrowser-Dp9CuTIh.js similarity index 98% rename from docs/assets/ServerBrowser-Dc3KGuyz.js rename to docs/assets/ServerBrowser-Dp9CuTIh.js index 20fe9a72..56f75871 100644 --- a/docs/assets/ServerBrowser-Dc3KGuyz.js +++ b/docs/assets/ServerBrowser-Dp9CuTIh.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as ee}from"./SettingsProvider-2cUUftaX.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./streamHelpers-Be29sBCp.js";import"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{E as te,_ as i}from"./index-B_QKaSWI.js";var ne=t(),a=e(n(),1),o={Dialog:`_Dialog_1s844_1 _Dialog_6c89x_1`,Overlay:`_Overlay_1s844_10 _Overlay_6c89x_20`,Header:`_Header_1s844_14`,Title:`_Title_1s844_22`,HiddenRadio:`_HiddenRadio_1s844_31`,RefreshButton:`_RefreshButton_1s844_41 _DialogButton_6c89x_31`,ServerCount:`_ServerCount_1s844_47`,TableWrapper:`_TableWrapper_1s844_52`,Table:`_Table_1s844_52`,CompactHidden:`_CompactHidden_1s844_118`,EmptyServer:`_EmptyServer_1s844_169`,Empty:`_Empty_1s844_169`,PasswordIcon:`_PasswordIcon_1s844_186`,PlayersIcon:`_PlayersIcon_1s844_198`,Footer:`_Footer_1s844_209`,JoinButton:`_JoinButton_1s844_220 _DialogButton_6c89x_31`,CloseButton:`_CloseButton_1s844_225 _Secondary_6c89x_70 _DialogButton_6c89x_31`,WarriorField:`_WarriorField_1s844_229`,WarriorLabel:`_WarriorLabel_1s844_235`,WarriorInput:`_WarriorInput_1s844_241`,Hint:`_Hint_1s844_261`,Actions:`_Actions_1s844_267 _Actions_6c89x_84`},s=r();function c(e){let t=(0,ne.c)(102),{onClose:n}=e,r=i(le),c=i(ce),l=i(se),u=i(oe),d=i(ae),{warriorName:f,setWarriorName:ue}=ee(),[p,de]=(0,a.useState)(null),m;t[0]!==d||t[1]!==n||t[2]!==p||t[3]!==f?(m=()=>{p&&(d(p,f),n())},t[0]=d,t[1]=n,t[2]=p,t[3]=f,t[4]=m):m=t[4];let h=m,fe;t[5]!==d||t[6]!==n||t[7]!==f?(fe=e=>{d(e,f),n()},t[5]=d,t[6]=n,t[7]=f,t[8]=fe):fe=t[8];let g=fe,[_,pe]=(0,a.useState)(`ping`),[v,me]=(0,a.useState)(`asc`),he=(0,a.useRef)(null),y,b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{he.current?.focus();try{document.exitPointerLock()}catch{}},b=[],t[9]=y,t[10]=b):(y=t[9],b=t[10]),(0,a.useEffect)(y,b);let x,S;t[11]===u?(x=t[12],S=t[13]):(x=()=>{u()},S=[u],t[11]=u,t[12]=x,t[13]=S),(0,a.useEffect)(x,S);let ge,C;t[14]===n?(ge=t[15],C=t[16]):(ge=()=>{let e=e=>{e.stopPropagation(),e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},C=[n],t[14]=n,t[15]=ge,t[16]=C),(0,a.useEffect)(ge,C);let w;t[17]===_?w=t[18]:(w=e=>{_===e?me(ie):(pe(e),me(`desc`))},t[17]=_,t[18]=w);let T=w,E;if(t[19]!==r||t[20]!==v||t[21]!==_){let e;t[23]!==v||t[24]!==_?(e=(e,t)=>{let n=e[_],r=t[_],ee=typeof n==`number`&&typeof r==`number`?n-r:String(n).localeCompare(String(r));return v===`asc`?ee:-ee},t[23]=v,t[24]=_,t[25]=e):e=t[25],E=[...r].sort(e),t[19]=r,t[20]=v,t[21]=_,t[22]=E}else E=t[22];let _e=E,D;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,s.jsx)(`h2`,{className:o.Title,children:`Server Browser`}),t[26]=D):D=t[26];let ve=r.length===1?``:`s`,O;t[27]!==r.length||t[28]!==ve?(O=(0,s.jsxs)(`span`,{className:o.ServerCount,children:[r.length,` server`,ve]}),t[27]=r.length,t[28]=ve,t[29]=O):O=t[29];let k;t[30]!==u||t[31]!==c?(k=(0,s.jsx)(`button`,{className:o.RefreshButton,onClick:u,disabled:c,children:`Refresh`}),t[30]=u,t[31]=c,t[32]=k):k=t[32];let A;t[33]!==O||t[34]!==k?(A=(0,s.jsxs)(`div`,{className:o.Header,children:[D,O,k]}),t[33]=O,t[34]=k,t[35]=A):A=t[35];let j;t[36]===T?j=t[37]:(j=(0,s.jsx)(`th`,{"data-column":`server`,onClick:()=>T(`name`),children:`Server Name`}),t[36]=T,t[37]=j);let M;t[38]===T?M=t[39]:(M=()=>T(`playerCount`),t[38]=T,t[39]=M);let N;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,s.jsx)(te,{className:o.PlayersIcon,title:`Players`,"aria-label":`Players`}),t[40]=N):N=t[40];let P;t[41]===M?P=t[42]:(P=(0,s.jsx)(`th`,{"data-column":`players`,onClick:M,children:N}),t[41]=M,t[42]=P);let F;t[43]===T?F=t[44]:(F=(0,s.jsx)(`th`,{"data-column":`ping`,onClick:()=>T(`ping`),children:`Ping`}),t[43]=T,t[44]=F);let I;t[45]===T?I=t[46]:(I=(0,s.jsx)(`th`,{"data-column":`map`,onClick:()=>T(`mapName`),children:`Map`}),t[45]=T,t[46]=I);let L;t[47]===T?L=t[48]:(L=(0,s.jsx)(`th`,{"data-column":`gameType`,onClick:()=>T(`gameType`),children:`Type`}),t[47]=T,t[48]=L);let R;t[49]===T?R=t[50]:(R=(0,s.jsx)(`th`,{"data-column":`mod`,onClick:()=>T(`mod`),children:`Mod`}),t[49]=T,t[50]=R);let z;t[51]!==j||t[52]!==P||t[53]!==F||t[54]!==I||t[55]!==L||t[56]!==R?(z=(0,s.jsx)(`thead`,{children:(0,s.jsxs)(`tr`,{children:[j,P,F,I,L,R]})}),t[51]=j,t[52]=P,t[53]=F,t[54]=I,t[55]=L,t[56]=R,t[57]=z):z=t[57];let B;if(t[58]!==l||t[59]!==g||t[60]!==n||t[61]!==p||t[62]!==_e){let e;t[64]!==l||t[65]!==g||t[66]!==n||t[67]!==p?(e=e=>(0,s.jsxs)(`tr`,{onClick:()=>{de(e.address);let t=document.forms.namedItem(`serverList`).elements.namedItem(`serverAddress`);Array.from(t).find(t=>t.value===e.address).focus()},onDoubleClick:()=>{de(e.address),g(e.address),n()},children:[(0,s.jsxs)(`td`,{"data-column":`server`,children:[(0,s.jsx)(`input`,{type:`radio`,className:o.HiddenRadio,name:`serverAddress`,value:e.address,checked:p===e.address,onChange:e=>{de(e.target.value)}}),e.passwordRequired&&(0,s.jsx)(`span`,{className:o.PasswordIcon,children:`🔒`}),e.name]}),(0,s.jsxs)(`td`,{className:e.playerCount===0?o.EmptyServer:void 0,"data-column":`players`,children:[e.playerCount,(0,s.jsxs)(`span`,{className:o.CompactHidden,children:[` / `,e.maxPlayers]})]}),(0,s.jsx)(`td`,{"data-column":`ping`,children:l==null?`—`:(e.ping+l).toLocaleString()}),(0,s.jsx)(`td`,{"data-column":`map`,children:e.mapName}),(0,s.jsx)(`td`,{"data-column":`gameType`,children:e.gameType}),(0,s.jsx)(`td`,{"data-column":`mod`,children:e.mod})]},e.address),t[64]=l,t[65]=g,t[66]=n,t[67]=p,t[68]=e):e=t[68],B=_e.map(e),t[58]=l,t[59]=g,t[60]=n,t[61]=p,t[62]=_e,t[63]=B}else B=t[63];let V;t[69]===B?V=t[70]:(V=(0,s.jsx)(`tbody`,{children:B}),t[69]=B,t[70]=V);let H;t[71]!==z||t[72]!==V?(H=(0,s.jsxs)(`table`,{className:o.Table,children:[z,V]}),t[71]=z,t[72]=V,t[73]=H):H=t[73];let U;t[74]!==h||t[75]!==H?(U=(0,s.jsx)(`div`,{className:o.TableWrapper,children:(0,s.jsx)(`form`,{name:`serverList`,onSubmit:h,children:H})}),t[74]=h,t[75]=H,t[76]=U):U=t[76];let W;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,s.jsx)(`label`,{className:o.WarriorLabel,htmlFor:`warriorName`,children:`Warrior`}),t[77]=W):W=t[77];let G;t[78]===ue?G=t[79]:(G=e=>ue(e.target.value),t[78]=ue,t[79]=G);let K;t[80]!==G||t[81]!==f?(K=(0,s.jsxs)(`div`,{className:o.WarriorField,children:[W,(0,s.jsx)(`input`,{id:`warriorName`,className:o.WarriorInput,type:`text`,value:f,onChange:G,placeholder:`Name thyself…`,maxLength:24})]}),t[80]=G,t[81]=f,t[82]=K):K=t[82];let q;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,s.jsx)(`span`,{className:o.Hint,children:`Double-click a server to join`}),t[83]=q):q=t[83];let J;t[84]===n?J=t[85]:(J=(0,s.jsx)(`button`,{onClick:n,className:o.CloseButton,children:`Cancel`}),t[84]=n,t[85]=J);let ye=!p,Y;t[86]!==h||t[87]!==ye?(Y=(0,s.jsx)(`button`,{onClick:h,disabled:ye,className:o.JoinButton,children:`Join`}),t[86]=h,t[87]=ye,t[88]=Y):Y=t[88];let X;t[89]!==J||t[90]!==Y?(X=(0,s.jsxs)(`div`,{className:o.Actions,children:[J,Y]}),t[89]=J,t[90]=Y,t[91]=X):X=t[91];let Z;t[92]!==K||t[93]!==X?(Z=(0,s.jsxs)(`div`,{className:o.Footer,children:[K,q,X]}),t[92]=K,t[93]=X,t[94]=Z):Z=t[94];let Q;t[95]!==A||t[96]!==U||t[97]!==Z?(Q=(0,s.jsxs)(`div`,{className:o.Dialog,ref:he,tabIndex:-1,onClick:re,children:[A,U,Z]}),t[95]=A,t[96]=U,t[97]=Z,t[98]=Q):Q=t[98];let $;return t[99]!==n||t[100]!==Q?($=(0,s.jsx)(`div`,{className:o.Overlay,onClick:n,children:Q}),t[99]=n,t[100]=Q,t[101]=$):$=t[101],$}function re(e){return e.stopPropagation()}function ie(e){return e===`asc`?`desc`:`asc`}function ae(e){return e.joinServer}function oe(e){return e.listServers}function se(e){return e.browserToRelayPing}function ce(e){return e.serversLoading}function le(e){return e.servers}export{c as ServerBrowser}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as ee}from"./SettingsProvider-2cUUftaX.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import"./streamHelpers-Be29sBCp.js";import"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{D as te,_ as i}from"./index-Chmtkuc3.js";var ne=t(),a=e(n(),1),o={Dialog:`_Dialog_1s844_1 _Dialog_6c89x_1`,Overlay:`_Overlay_1s844_10 _Overlay_6c89x_20`,Header:`_Header_1s844_14`,Title:`_Title_1s844_22`,HiddenRadio:`_HiddenRadio_1s844_31`,RefreshButton:`_RefreshButton_1s844_41 _DialogButton_6c89x_31`,ServerCount:`_ServerCount_1s844_47`,TableWrapper:`_TableWrapper_1s844_52`,Table:`_Table_1s844_52`,CompactHidden:`_CompactHidden_1s844_118`,EmptyServer:`_EmptyServer_1s844_169`,Empty:`_Empty_1s844_169`,PasswordIcon:`_PasswordIcon_1s844_186`,PlayersIcon:`_PlayersIcon_1s844_198`,Footer:`_Footer_1s844_209`,JoinButton:`_JoinButton_1s844_220 _DialogButton_6c89x_31`,CloseButton:`_CloseButton_1s844_225 _Secondary_6c89x_70 _DialogButton_6c89x_31`,WarriorField:`_WarriorField_1s844_229`,WarriorLabel:`_WarriorLabel_1s844_235`,WarriorInput:`_WarriorInput_1s844_241`,Hint:`_Hint_1s844_261`,Actions:`_Actions_1s844_267 _Actions_6c89x_84`},s=r();function c(e){let t=(0,ne.c)(102),{onClose:n}=e,r=i(le),c=i(ce),l=i(se),u=i(oe),d=i(ae),{warriorName:f,setWarriorName:ue}=ee(),[p,de]=(0,a.useState)(null),m;t[0]!==d||t[1]!==n||t[2]!==p||t[3]!==f?(m=()=>{p&&(d(p,f),n())},t[0]=d,t[1]=n,t[2]=p,t[3]=f,t[4]=m):m=t[4];let h=m,fe;t[5]!==d||t[6]!==n||t[7]!==f?(fe=e=>{d(e,f),n()},t[5]=d,t[6]=n,t[7]=f,t[8]=fe):fe=t[8];let g=fe,[_,pe]=(0,a.useState)(`ping`),[v,me]=(0,a.useState)(`asc`),he=(0,a.useRef)(null),y,b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{he.current?.focus();try{document.exitPointerLock()}catch{}},b=[],t[9]=y,t[10]=b):(y=t[9],b=t[10]),(0,a.useEffect)(y,b);let x,S;t[11]===u?(x=t[12],S=t[13]):(x=()=>{u()},S=[u],t[11]=u,t[12]=x,t[13]=S),(0,a.useEffect)(x,S);let ge,C;t[14]===n?(ge=t[15],C=t[16]):(ge=()=>{let e=e=>{e.stopPropagation(),e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},C=[n],t[14]=n,t[15]=ge,t[16]=C),(0,a.useEffect)(ge,C);let w;t[17]===_?w=t[18]:(w=e=>{_===e?me(ie):(pe(e),me(`desc`))},t[17]=_,t[18]=w);let T=w,E;if(t[19]!==r||t[20]!==v||t[21]!==_){let e;t[23]!==v||t[24]!==_?(e=(e,t)=>{let n=e[_],r=t[_],ee=typeof n==`number`&&typeof r==`number`?n-r:String(n).localeCompare(String(r));return v===`asc`?ee:-ee},t[23]=v,t[24]=_,t[25]=e):e=t[25],E=[...r].sort(e),t[19]=r,t[20]=v,t[21]=_,t[22]=E}else E=t[22];let _e=E,D;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,s.jsx)(`h2`,{className:o.Title,children:`Server Browser`}),t[26]=D):D=t[26];let ve=r.length===1?``:`s`,O;t[27]!==r.length||t[28]!==ve?(O=(0,s.jsxs)(`span`,{className:o.ServerCount,children:[r.length,` server`,ve]}),t[27]=r.length,t[28]=ve,t[29]=O):O=t[29];let k;t[30]!==u||t[31]!==c?(k=(0,s.jsx)(`button`,{className:o.RefreshButton,onClick:u,disabled:c,children:`Refresh`}),t[30]=u,t[31]=c,t[32]=k):k=t[32];let A;t[33]!==O||t[34]!==k?(A=(0,s.jsxs)(`div`,{className:o.Header,children:[D,O,k]}),t[33]=O,t[34]=k,t[35]=A):A=t[35];let j;t[36]===T?j=t[37]:(j=(0,s.jsx)(`th`,{"data-column":`server`,onClick:()=>T(`name`),children:`Server Name`}),t[36]=T,t[37]=j);let M;t[38]===T?M=t[39]:(M=()=>T(`playerCount`),t[38]=T,t[39]=M);let N;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,s.jsx)(te,{className:o.PlayersIcon,title:`Players`,"aria-label":`Players`}),t[40]=N):N=t[40];let P;t[41]===M?P=t[42]:(P=(0,s.jsx)(`th`,{"data-column":`players`,onClick:M,children:N}),t[41]=M,t[42]=P);let F;t[43]===T?F=t[44]:(F=(0,s.jsx)(`th`,{"data-column":`ping`,onClick:()=>T(`ping`),children:`Ping`}),t[43]=T,t[44]=F);let I;t[45]===T?I=t[46]:(I=(0,s.jsx)(`th`,{"data-column":`map`,onClick:()=>T(`mapName`),children:`Map`}),t[45]=T,t[46]=I);let L;t[47]===T?L=t[48]:(L=(0,s.jsx)(`th`,{"data-column":`gameType`,onClick:()=>T(`gameType`),children:`Type`}),t[47]=T,t[48]=L);let R;t[49]===T?R=t[50]:(R=(0,s.jsx)(`th`,{"data-column":`mod`,onClick:()=>T(`mod`),children:`Mod`}),t[49]=T,t[50]=R);let z;t[51]!==j||t[52]!==P||t[53]!==F||t[54]!==I||t[55]!==L||t[56]!==R?(z=(0,s.jsx)(`thead`,{children:(0,s.jsxs)(`tr`,{children:[j,P,F,I,L,R]})}),t[51]=j,t[52]=P,t[53]=F,t[54]=I,t[55]=L,t[56]=R,t[57]=z):z=t[57];let B;if(t[58]!==l||t[59]!==g||t[60]!==n||t[61]!==p||t[62]!==_e){let e;t[64]!==l||t[65]!==g||t[66]!==n||t[67]!==p?(e=e=>(0,s.jsxs)(`tr`,{onClick:()=>{de(e.address);let t=document.forms.namedItem(`serverList`).elements.namedItem(`serverAddress`);Array.from(t).find(t=>t.value===e.address).focus()},onDoubleClick:()=>{de(e.address),g(e.address),n()},children:[(0,s.jsxs)(`td`,{"data-column":`server`,children:[(0,s.jsx)(`input`,{type:`radio`,className:o.HiddenRadio,name:`serverAddress`,value:e.address,checked:p===e.address,onChange:e=>{de(e.target.value)}}),e.passwordRequired&&(0,s.jsx)(`span`,{className:o.PasswordIcon,children:`🔒`}),e.name]}),(0,s.jsxs)(`td`,{className:e.playerCount===0?o.EmptyServer:void 0,"data-column":`players`,children:[e.playerCount,(0,s.jsxs)(`span`,{className:o.CompactHidden,children:[` / `,e.maxPlayers]})]}),(0,s.jsx)(`td`,{"data-column":`ping`,children:l==null?`—`:(e.ping+l).toLocaleString()}),(0,s.jsx)(`td`,{"data-column":`map`,children:e.mapName}),(0,s.jsx)(`td`,{"data-column":`gameType`,children:e.gameType}),(0,s.jsx)(`td`,{"data-column":`mod`,children:e.mod})]},e.address),t[64]=l,t[65]=g,t[66]=n,t[67]=p,t[68]=e):e=t[68],B=_e.map(e),t[58]=l,t[59]=g,t[60]=n,t[61]=p,t[62]=_e,t[63]=B}else B=t[63];let V;t[69]===B?V=t[70]:(V=(0,s.jsx)(`tbody`,{children:B}),t[69]=B,t[70]=V);let H;t[71]!==z||t[72]!==V?(H=(0,s.jsxs)(`table`,{className:o.Table,children:[z,V]}),t[71]=z,t[72]=V,t[73]=H):H=t[73];let U;t[74]!==h||t[75]!==H?(U=(0,s.jsx)(`div`,{className:o.TableWrapper,children:(0,s.jsx)(`form`,{name:`serverList`,onSubmit:h,children:H})}),t[74]=h,t[75]=H,t[76]=U):U=t[76];let W;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,s.jsx)(`label`,{className:o.WarriorLabel,htmlFor:`warriorName`,children:`Warrior`}),t[77]=W):W=t[77];let G;t[78]===ue?G=t[79]:(G=e=>ue(e.target.value),t[78]=ue,t[79]=G);let K;t[80]!==G||t[81]!==f?(K=(0,s.jsxs)(`div`,{className:o.WarriorField,children:[W,(0,s.jsx)(`input`,{id:`warriorName`,className:o.WarriorInput,type:`text`,value:f,onChange:G,placeholder:`Name thyself…`,maxLength:24})]}),t[80]=G,t[81]=f,t[82]=K):K=t[82];let q;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,s.jsx)(`span`,{className:o.Hint,children:`Double-click a server to join`}),t[83]=q):q=t[83];let J;t[84]===n?J=t[85]:(J=(0,s.jsx)(`button`,{onClick:n,className:o.CloseButton,children:`Cancel`}),t[84]=n,t[85]=J);let ye=!p,Y;t[86]!==h||t[87]!==ye?(Y=(0,s.jsx)(`button`,{onClick:h,disabled:ye,className:o.JoinButton,children:`Join`}),t[86]=h,t[87]=ye,t[88]=Y):Y=t[88];let X;t[89]!==J||t[90]!==Y?(X=(0,s.jsxs)(`div`,{className:o.Actions,children:[J,Y]}),t[89]=J,t[90]=Y,t[91]=X):X=t[91];let Z;t[92]!==K||t[93]!==X?(Z=(0,s.jsxs)(`div`,{className:o.Footer,children:[K,q,X]}),t[92]=K,t[93]=X,t[94]=Z):Z=t[94];let Q;t[95]!==A||t[96]!==U||t[97]!==Z?(Q=(0,s.jsxs)(`div`,{className:o.Dialog,ref:he,tabIndex:-1,onClick:re,children:[A,U,Z]}),t[95]=A,t[96]=U,t[97]=Z,t[98]=Q):Q=t[98];let $;return t[99]!==n||t[100]!==Q?($=(0,s.jsx)(`div`,{className:o.Overlay,onClick:n,children:Q}),t[99]=n,t[100]=Q,t[101]=$):$=t[101],$}function re(e){return e.stopPropagation()}function ie(e){return e===`asc`?`desc`:`asc`}function ae(e){return e.joinServer}function oe(e){return e.listServers}function se(e){return e.browserToRelayPing}function ce(e){return e.serversLoading}function le(e){return e.servers}export{c as ServerBrowser}; \ No newline at end of file diff --git a/docs/assets/ShapeErrorBoundary-BDMn5cgT.js b/docs/assets/ShapeErrorBoundary-DEJ9vtex.js similarity index 100% rename from docs/assets/ShapeErrorBoundary-BDMn5cgT.js rename to docs/assets/ShapeErrorBoundary-DEJ9vtex.js diff --git a/docs/assets/ShapeModel-Dfvda7ou.js b/docs/assets/ShapeModel-DNodPIU5.js similarity index 95% rename from docs/assets/ShapeModel-Dfvda7ou.js rename to docs/assets/ShapeModel-DNodPIU5.js index 15a8a5b5..6b3fa273 100644 --- a/docs/assets/ShapeModel-Dfvda7ou.js +++ b/docs/assets/ShapeModel-DNodPIU5.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import"./SettingsProvider-2cUUftaX.js";import{S as a,b as o,c as s,f as c,l,n as u,p as d,r as f,s as p,v as m,x as h,y as g}from"./GenericShape-DCImTyf2.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{Q as _,o as v}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{n as y,r as b}from"./engineStore-Cio8vU1L.js";import"./loaders-C_1cX1lR.js";import"./FloatingLabel-CXLHy5vc.js";import{n as x}from"./streamPlaybackStore-CszjeINn.js";import{c as S}from"./globalFogUniforms-DQn9KFk6.js";var C=t(),w=e(n(),1),T=r();function E(e){if(!e)return`lookde`;let t=e.toLowerCase();return t.includes(`missile`)?`lookms`:t.includes(`sniper`)?`looksn`:`lookde`}function D(e){let t=(0,C.c)(18),{entity:n}=e,r=n.weaponShape,i=n.shapeName,a=f(i),o=f(r),l;if(t[0]!==a.animations||t[1]!==a.scene||t[2]!==r||t[3]!==o.animations||t[4]!==o.scene){bb0:{let e=E(r),n=c(a.scene,a.animations,`Mount0`,[e]);if(!n){let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e={position:void 0,quaternion:void 0},t[6]=e):e=t[6],l=e;break bb0}let i=c(o.scene,o.animations,`Mountpoint`),u,d;if(i){let e=i.quaternion.clone().invert(),t=i.position.clone().negate().applyQuaternion(e);d=n.quaternion.clone().multiply(e),u=t.clone().applyQuaternion(n.quaternion).add(n.position)}else u=n.position.clone(),d=n.quaternion.clone();let f=u.applyQuaternion(p),m=p.clone().multiply(d).multiply(s),h;t[7]!==f||t[8]!==m?(h={position:f,quaternion:m},t[7]=f,t[8]=m,t[9]=h):h=t[9],l=h}t[0]=a.animations,t[1]=a.scene,t[2]=r,t[3]=o.animations,t[4]=o.scene,t[5]=l}else l=t[5];let d=l,m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m={_class:`weapon`,_className:`Weapon`,_id:0},t[10]=m):m=t[10];let g=m,_;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,T.jsx)(u,{loadingColor:`#4488ff`}),t[11]=_):_=t[11];let v;t[12]!==d.position||t[13]!==d.quaternion?(v=(0,T.jsx)(`group`,{position:d.position,quaternion:d.quaternion,children:_}),t[12]=d.position,t[13]=d.quaternion,t[14]=v):v=t[14];let y;return t[15]!==r||t[16]!==v?(y=(0,T.jsx)(h,{object:g,shapeName:r,type:`Item`,children:v}),t[15]=r,t[16]=v,t[17]=y):y=t[17],y}function O(e){let t=e.sizes,n=e.times;if(!Array.isArray(t)||t.length===0)return{times:[0,1],sizes:[[1,1,1],[1,1,1]]};let r=t.map(e=>[e.x/100,e.y/100,e.z/100]);return{times:Array.isArray(n)?n:r.map((e,t)=>t/Math.max(r.length-1,1)),sizes:r}}function k(e,t){let{times:n,sizes:r}=e;if(n.length===0)return[1,1,1];if(t<=n[0])return r[0];if(t>=n[n.length-1])return r[r.length-1];for(let e=0;e=n[e]&&t<=n[e+1]){let i=(t-n[e])/(n[e+1]-n[e]);return[r[e][0]+(r[e+1][0]-r[e][0])*i,r[e][1]+(r[e+1][1]-r[e][1])*i,r[e][2]+(r[e+1][2]-r[e][2])*i]}return r[r.length-1]}function A({entity:e}){let t=x.getState().playback,n=f(e.shapeName),r=S(),s=(0,w.useRef)(null),c=(0,w.useRef)(y()),u=(0,w.useRef)(Math.random()*Math.PI*2),p=(0,w.useRef)([]),h=(0,w.useMemo)(()=>{if(e.explosionDataBlockId)return t.getDataBlockData(e.explosionDataBlockId)},[e.explosionDataBlockId,t]),C=(0,w.useMemo)(()=>h?O(h):void 0,[h]),E=(0,w.useMemo)(()=>{let e=h?.explosionScale;return e?[e.x/100,e.y/100,e.z/100]:[1,1,1]},[h]),D=(h?.lifetimeMS??31)*32,A=e.faceViewer!==!1,{scene:j,mixer:M,visNodes:N,iflInfos:P,materials:F}=(0,w.useMemo)(()=>{let t=a(n.scene),i=[];t.traverse(e=>{if(!e.isMesh||!e.material)return;let t=Array.isArray(e.material)?e.material[0]:e.material;if(!t?.userData)return;let n=new Set(t.userData.flag_names??[]),r=t.userData.resource_path;if(n.has(`IflMaterial`)&&r){let t=e.userData;i.push({mesh:e,iflPath:`textures/${r}.ifl`,sequenceName:t?.ifl_sequence?String(t.ifl_sequence).toLowerCase():void 0,duration:t?.ifl_duration?Number(t.ifl_duration):void 0,cyclic:t?.ifl_sequence?!!t.ifl_cyclic:void 0,toolBegin:t?.ifl_tool_begin==null?void 0:Number(t.ifl_tool_begin)})}}),d(t,e.shapeName,{anisotropy:r});let o=[];t.traverse(e=>{if(!e.isMesh)return;let t=e.userData;if(!t)return;let n=t.vis_keyframes,r=t.vis_duration,i=(t.vis_sequence??``).toLowerCase();!i||!Array.isArray(n)||n.length<=1||!r||r<=0||i===`ambient`&&o.push({mesh:e,keyframes:n,duration:r,cyclic:!!t.vis_cyclic})});for(let e of o)e.mesh.visible=!0,e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.transparent=!0,e.mesh.material.depthWrite=!1);for(let e of i)e.mesh.userData?.vis_sequence||(e.mesh.visible=!0);let s=new Map;for(let e of n.animations)s.set(e.name.toLowerCase(),e);let c=s.get(`ambient`),l=null;if(c){l=new v(t);let e=l.clipAction(c);e.setLoop(_,1),e.clampWhenFinished=!0,e.timeScale=(h?.playSpeed??20)/20,e.play()}let u=[];return t.traverse(e=>{e.isMesh&&(Array.isArray(e.material)?u.push(...e.material):e.material&&u.push(e.material))}),t.traverse(e=>{e.frustumCulled=!1}),{scene:t,mixer:l,visNodes:o,iflInfos:i,materials:u}},[n,h,r]);return(0,w.useEffect)(()=>()=>{l(j),M?.uncacheRoot(j)},[j,M]),(0,w.useEffect)(()=>{p.current=[];for(let e of P)g(e.iflPath).then(t=>{let n=Array.isArray(e.mesh.material)?e.mesh.material[0]:e.mesh.material;n&&(n.map=t.texture,n.needsUpdate=!0),p.current.push({atlas:t,info:e})}).catch(()=>{})},[P]),i((e,t)=>{let n=s.current;if(!n)return;let r=b.getState().playback,i=r.status===`playing`?t*r.rate:0,a=y()-c.current,l=Math.min(a/D,1),d=a/1e3;M&&M.update(i);let f=l>.8?1-(l-.8)/.2:1;for(let{mesh:e,keyframes:t,duration:n,cyclic:r}of N){let i=e.material;if(!i||Array.isArray(i))continue;let a=d/n,o=r?a%1:Math.min(a,1),s=t.length,c=o*s,l=Math.floor(c)%s,u=(l+1)%s,p=c-Math.floor(c);i.opacity=(t[l]+(t[u]-t[l])*p)*f}if(f<1)for(let e of F)`opacity`in e&&(e.transparent=!0,e.opacity*=f);for(let{atlas:e,info:t}of p.current){let n;n=t.sequenceName&&t.duration?(t.cyclic?d/t.duration%1:Math.min(d/t.duration,1))*t.duration+(t.toolBegin??0):d,o(e,m(e,n))}if(C){let e=k(C,l);n.scale.set(e[0]*E[0],e[1]*E[1],e[2]*E[2])}A&&(n.lookAt(e.camera.position),n.rotateZ(u.current))}),(0,T.jsx)(`group`,{ref:s,children:(0,T.jsx)(`group`,{rotation:[0,Math.PI,0],children:(0,T.jsx)(`primitive`,{object:j})})})}export{A as ExplosionShape,D as WeaponModel}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-dhSWjERg.js";import"./SettingsProvider-2cUUftaX.js";import{S as a,b as o,c as s,f as c,l,n as u,p as d,r as f,s as p,v as m,x as h,y as g}from"./GenericShape-BbryN-E_.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{Q as _,o as v}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{n as y,r as b}from"./engineStore-Cio8vU1L.js";import"./loaders-BRV0t4WA.js";import"./FloatingLabel-BEL3jCDa.js";import{n as x}from"./streamPlaybackStore-uClZ1maO.js";import{c as S}from"./globalFogUniforms-CaAkHfiE.js";var C=t(),w=e(n(),1),T=r();function E(e){if(!e)return`lookde`;let t=e.toLowerCase();return t.includes(`missile`)?`lookms`:t.includes(`sniper`)?`looksn`:`lookde`}function D(e){let t=(0,C.c)(18),{entity:n}=e,r=n.weaponShape,i=n.shapeName,a=f(i),o=f(r),l;if(t[0]!==a.animations||t[1]!==a.scene||t[2]!==r||t[3]!==o.animations||t[4]!==o.scene){bb0:{let e=E(r),n=c(a.scene,a.animations,`Mount0`,[e]);if(!n){let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e={position:void 0,quaternion:void 0},t[6]=e):e=t[6],l=e;break bb0}let i=c(o.scene,o.animations,`Mountpoint`),u,d;if(i){let e=i.quaternion.clone().invert(),t=i.position.clone().negate().applyQuaternion(e);d=n.quaternion.clone().multiply(e),u=t.clone().applyQuaternion(n.quaternion).add(n.position)}else u=n.position.clone(),d=n.quaternion.clone();let f=u.applyQuaternion(p),m=p.clone().multiply(d).multiply(s),h;t[7]!==f||t[8]!==m?(h={position:f,quaternion:m},t[7]=f,t[8]=m,t[9]=h):h=t[9],l=h}t[0]=a.animations,t[1]=a.scene,t[2]=r,t[3]=o.animations,t[4]=o.scene,t[5]=l}else l=t[5];let d=l,m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m={_class:`weapon`,_className:`Weapon`,_id:0},t[10]=m):m=t[10];let g=m,_;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,T.jsx)(u,{loadingColor:`#4488ff`}),t[11]=_):_=t[11];let v;t[12]!==d.position||t[13]!==d.quaternion?(v=(0,T.jsx)(`group`,{position:d.position,quaternion:d.quaternion,children:_}),t[12]=d.position,t[13]=d.quaternion,t[14]=v):v=t[14];let y;return t[15]!==r||t[16]!==v?(y=(0,T.jsx)(h,{object:g,shapeName:r,type:`Item`,children:v}),t[15]=r,t[16]=v,t[17]=y):y=t[17],y}function O(e){let t=e.sizes,n=e.times;if(!Array.isArray(t)||t.length===0)return{times:[0,1],sizes:[[1,1,1],[1,1,1]]};let r=t.map(e=>[e.x/100,e.y/100,e.z/100]);return{times:Array.isArray(n)?n:r.map((e,t)=>t/Math.max(r.length-1,1)),sizes:r}}function k(e,t){let{times:n,sizes:r}=e;if(n.length===0)return[1,1,1];if(t<=n[0])return r[0];if(t>=n[n.length-1])return r[r.length-1];for(let e=0;e=n[e]&&t<=n[e+1]){let i=(t-n[e])/(n[e+1]-n[e]);return[r[e][0]+(r[e+1][0]-r[e][0])*i,r[e][1]+(r[e+1][1]-r[e][1])*i,r[e][2]+(r[e+1][2]-r[e][2])*i]}return r[r.length-1]}function A({entity:e}){let t=x.getState().playback,n=f(e.shapeName),r=S(),s=(0,w.useRef)(null),c=(0,w.useRef)(y()),u=(0,w.useRef)(Math.random()*Math.PI*2),p=(0,w.useRef)([]),h=(0,w.useMemo)(()=>{if(e.explosionDataBlockId)return t.getDataBlockData(e.explosionDataBlockId)},[e.explosionDataBlockId,t]),C=(0,w.useMemo)(()=>h?O(h):void 0,[h]),E=(0,w.useMemo)(()=>{let e=h?.explosionScale;return e?[e.x/100,e.y/100,e.z/100]:[1,1,1]},[h]),D=(h?.lifetimeMS??31)*32,A=e.faceViewer!==!1,{scene:j,mixer:M,visNodes:N,iflInfos:P,materials:F}=(0,w.useMemo)(()=>{let t=a(n.scene),i=[];t.traverse(e=>{if(!e.isMesh||!e.material)return;let t=Array.isArray(e.material)?e.material[0]:e.material;if(!t?.userData)return;let n=new Set(t.userData.flag_names??[]),r=t.userData.resource_path;if(n.has(`IflMaterial`)&&r){let t=e.userData;i.push({mesh:e,iflPath:`textures/${r}.ifl`,sequenceName:t?.ifl_sequence?String(t.ifl_sequence).toLowerCase():void 0,duration:t?.ifl_duration?Number(t.ifl_duration):void 0,cyclic:t?.ifl_sequence?!!t.ifl_cyclic:void 0,toolBegin:t?.ifl_tool_begin==null?void 0:Number(t.ifl_tool_begin)})}}),d(t,e.shapeName,{anisotropy:r});let o=[];t.traverse(e=>{if(!e.isMesh)return;let t=e.userData;if(!t)return;let n=t.vis_keyframes,r=t.vis_duration,i=(t.vis_sequence??``).toLowerCase();!i||!Array.isArray(n)||n.length<=1||!r||r<=0||i===`ambient`&&o.push({mesh:e,keyframes:n,duration:r,cyclic:!!t.vis_cyclic})});for(let e of o)e.mesh.visible=!0,e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.transparent=!0,e.mesh.material.depthWrite=!1);for(let e of i)e.mesh.userData?.vis_sequence||(e.mesh.visible=!0);let s=new Map;for(let e of n.animations)s.set(e.name.toLowerCase(),e);let c=s.get(`ambient`),l=null;if(c){l=new v(t);let e=l.clipAction(c);e.setLoop(_,1),e.clampWhenFinished=!0,e.timeScale=(h?.playSpeed??20)/20,e.play()}let u=[];return t.traverse(e=>{e.isMesh&&(Array.isArray(e.material)?u.push(...e.material):e.material&&u.push(e.material))}),t.traverse(e=>{e.frustumCulled=!1}),{scene:t,mixer:l,visNodes:o,iflInfos:i,materials:u}},[n,h,r]);return(0,w.useEffect)(()=>()=>{l(j),M?.uncacheRoot(j)},[j,M]),(0,w.useEffect)(()=>{p.current=[];for(let e of P)g(e.iflPath).then(t=>{let n=Array.isArray(e.mesh.material)?e.mesh.material[0]:e.mesh.material;n&&(n.map=t.texture,n.needsUpdate=!0),p.current.push({atlas:t,info:e})}).catch(()=>{})},[P]),i((e,t)=>{let n=s.current;if(!n)return;let r=b.getState().playback,i=r.status===`playing`?t*r.rate:0,a=y()-c.current,l=Math.min(a/D,1),d=a/1e3;M&&M.update(i);let f=l>.8?1-(l-.8)/.2:1;for(let{mesh:e,keyframes:t,duration:n,cyclic:r}of N){let i=e.material;if(!i||Array.isArray(i))continue;let a=d/n,o=r?a%1:Math.min(a,1),s=t.length,c=o*s,l=Math.floor(c)%s,u=(l+1)%s,p=c-Math.floor(c);i.opacity=(t[l]+(t[u]-t[l])*p)*f}if(f<1)for(let e of F)`opacity`in e&&(e.transparent=!0,e.opacity*=f);for(let{atlas:e,info:t}of p.current){let n;n=t.sequenceName&&t.duration?(t.cyclic?d/t.duration%1:Math.min(d/t.duration,1))*t.duration+(t.toolBegin??0):d,o(e,m(e,n))}if(C){let e=k(C,l);n.scale.set(e[0]*E[0],e[1]*E[1],e[2]*E[2])}A&&(n.lookAt(e.camera.position),n.rotateZ(u.current))}),(0,T.jsx)(`group`,{ref:s,children:(0,T.jsx)(`group`,{rotation:[0,Math.PI,0],children:(0,T.jsx)(`primitive`,{object:j})})})}export{A as ExplosionShape,D as WeaponModel}; \ No newline at end of file diff --git a/docs/assets/StreamingController-rKlAT2Gw.js b/docs/assets/StreamingController-CUy11rkV.js similarity index 98% rename from docs/assets/StreamingController-rKlAT2Gw.js rename to docs/assets/StreamingController-CUy11rkV.js index 7024358f..1eb5cc7c 100644 --- a/docs/assets/StreamingController-rKlAT2Gw.js +++ b/docs/assets/StreamingController-CUy11rkV.js @@ -1,4 +1,4 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i,o as a}from"./react-three-fiber.esm-dhSWjERg.js";import{a as o,i as s}from"./SettingsProvider-2cUUftaX.js";import{a as c,g as l,h as u,o as d}from"./GenericShape-DCImTyf2.js";import{t as f}from"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{At as p,Bt as m,C as h,It as g,Lt as _,O as v,Pt as y,St as b,Ut as x,Vt as S,bt as C,g as w,h as T,it as E,m as D,p as O,rt as k,wt as A}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{a as j,n as M,r as N,t as P}from"./engineStore-Cio8vU1L.js";import{v as F}from"./index-B_QKaSWI.js";import{p as I,r as ee}from"./loaders-C_1cX1lR.js";import{n as te}from"./AudioContext-B-BTQZ7_.js";import"./FloatingLabel-CXLHy5vc.js";import{getCachedAudioBuffer as L,getSoundGeneration as R,playOneShotSound as z,resolveAudioProfile as ne,stopAllTrackedSounds as B,trackSound as re,untrackSound as ie}from"./AudioEmitter-DQcaN3l9.js";import"./DebugSuspense-DTOoTVsz.js";import{t as ae}from"./gameEntityTypes-n-ppAY7z.js";import{n as V,t as oe}from"./streamPlaybackStore-CszjeINn.js";import{l as se}from"./globalFogUniforms-DQn9KFk6.js";import"./ShapeErrorBoundary-BDMn5cgT.js";import{PlayerEyeOffset as ce}from"./PlayerModel-Beu7pkFZ.js";var le=t(),H=e(n(),1),ue=Math.PI/180,de=-9.81,fe=Math.PI/(180*1e3),pe=1/100,me=-1e3,he=50,U=5,ge=5,_e=10;function W(e,t,n){let r=e[t];return typeof r==`number`&&Number.isFinite(r)?r:n}function ve(e,t,n){let r=e[t];return typeof r==`boolean`?r:typeof r==`number`?r!==0:n}function ye(e){let t=e.keys,n=[];if(Array.isArray(t)&&t.length>0)for(let e=0;e0&&t[0]&&(r=t[0])}return{dragCoefficient:W(e,`dragCoefficient`,0)*ge,windCoefficient:W(e,`windCoefficient`,1),gravityCoefficient:W(e,`gravityCoefficient`,0)*_e,inheritedVelFactor:W(e,`inheritedVelFactor`,0),constantAcceleration:W(e,`constantAcceleration`,0),lifetimeMS:W(e,`lifetimeMS`,31)<=t){let r=e[n-1],i=e[n],a=i.time-r.time,o=a>0?(t-r.time)/a:0;return{r:r.r+(i.r-r.r)*o,g:r.g+(i.g-r.g)*o,b:r.b+(i.b-r.b)*o,a:r.a+(i.a-r.a)*o,size:r.size+(i.size-r.size)*o}}let n=e[e.length-1];return{r:n.r,g:n.g,b:n.b,a:n.a,size:n.size}}var Te=class{data;particles=[];maxParticles;internalClock=0;nextParticleTime=0;emitterAge=0;emitterLifetime;emitterDead=!1;constructor(e,t=256,n){this.data=e,this.maxParticles=t;let r=n??e.lifetimeMS;!n&&e.lifetimeVarianceMS>0&&(r+=Math.round(G(0,e.lifetimeVarianceMS))),this.emitterLifetime=r}emitBurst(e,t,n=[0,0,1]){for(let r=0;r0;){if(this.nextParticleTime>0){let e=Math.min(r,this.nextParticleTime);this.nextParticleTime-=e,r-=e,this.internalClock+=e;continue}if(this.particles.length0)){let e=this.particles[this.particles.length-1];e.currentAge+=r,e.currentAge>=e.totalLifetime&&this.particles.pop()}let t=this.data.ejectionPeriodMS;this.data.periodVarianceMS>0&&(t+=Math.round(G(0,this.data.periodVarianceMS))),this.nextParticleTime=Math.max(1,t)}}update(e){this.emitterAge+=e,this.emitterLifetime>0&&this.emitterAge>this.emitterLifetime&&(this.emitterDead=!0);let t=e/1e3,n=this.data.particles;for(let r=this.particles.length-1;r>=0;r--){let i=this.particles[r];if(i.currentAge+=e,i.currentAge>=i.totalLifetime){this.particles[r]=this.particles[this.particles.length-1],this.particles.pop();continue}let a=n.dragCoefficient,o=n.gravityCoefficient,s=i.acc[0]-i.vel[0]*a,c=i.acc[1]-i.vel[1]*a,l=i.acc[2]-i.vel[2]*a+de*o;i.vel[0]+=s*t,i.vel[1]+=c*t,i.vel[2]+=l*t,i.pos[0]+=i.vel[0]*t,i.pos[1]+=i.vel[1]*t,i.pos[2]+=i.vel[2]*t;let u=i.currentAge/i.totalLifetime,d=we(n.keys,u);i.r=d.r,i.g=d.g,i.b=d.b,i.a=d.a,i.size=d.size,i.currentSpin=i.spinSpeed*i.currentAge*fe}}isDead(){return this.emitterDead&&this.particles.length===0}kill(){this.emitterDead=!0}addParticle(e,t){let n=this.data,r=n.particles,i=t[0],a=t[1],o=t[2],s=Se(i,a,o),c=(n.thetaMin+Math.random()*(n.thetaMax-n.thetaMin))*ue,l=(this.internalClock/1e3*n.phiReferenceVel+Math.random()*n.phiVariance)*ue;[i,a,o]=Ce(i,a,o,s[0],s[1],s[2],c),[i,a,o]=Ce(i,a,o,t[0],t[1],t[2],l);let u=Math.sqrt(i*i+a*a+o*o);u>1e-8&&(i/=u,a/=u,o/=u);let d=G(n.ejectionVelocity,n.velocityVariance),f=[e[0]+i*n.ejectionOffset,e[1]+a*n.ejectionOffset,e[2]+o*n.ejectionOffset],p=[i*d,a*d,o*d],m=r.constantAcceleration,h=[p[0]*m,p[1]*m,p[2]*m],g=r.lifetimeMS;r.lifetimeVarianceMS>0&&(g+=Math.round(G(0,r.lifetimeVarianceMS))),g=Math.max(1,g);let _=r.spinSpeed+xe(r.spinRandomMin,r.spinRandomMax),v=r.keys[0];this.particles.push({pos:f,vel:p,acc:h,orientDir:[i,a,o],currentAge:0,totalLifetime:g,dataIndex:0,spinSpeed:_,currentSpin:0,r:v.r,g:v.g,b:v.b,a:v.a,size:v.size})}},Ee=` +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i,o as a}from"./react-three-fiber.esm-dhSWjERg.js";import{a as o,i as s}from"./SettingsProvider-2cUUftaX.js";import{a as c,g as l,h as u,o as d}from"./GenericShape-BbryN-E_.js";import{t as f}from"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{At as p,Bt as m,C as h,It as g,Lt as _,O as v,Pt as y,St as b,Ut as x,Vt as S,bt as C,g as w,h as T,it as E,m as D,p as O,rt as k,wt as A}from"./three.module-CwgFV8Kd.js";import"./mission-CFLOK_Oy.js";import{a as j,n as M,r as N,t as P}from"./engineStore-Cio8vU1L.js";import{v as F}from"./index-Chmtkuc3.js";import{p as I,r as ee}from"./loaders-BRV0t4WA.js";import{n as te}from"./AudioContext-BCDmeKrq.js";import"./FloatingLabel-BEL3jCDa.js";import{getCachedAudioBuffer as L,getSoundGeneration as R,playOneShotSound as z,resolveAudioProfile as ne,stopAllTrackedSounds as B,trackSound as re,untrackSound as ie}from"./AudioEmitter--xCrCrsV.js";import"./DebugSuspense-qtqhYC4y.js";import{t as ae}from"./gameEntityTypes-9Mm4qfyP.js";import{n as V,t as oe}from"./streamPlaybackStore-uClZ1maO.js";import{l as se}from"./globalFogUniforms-CaAkHfiE.js";import"./ShapeErrorBoundary-DEJ9vtex.js";import{PlayerEyeOffset as ce}from"./PlayerModel-CkXV0XVj.js";var le=t(),H=e(n(),1),ue=Math.PI/180,de=-9.81,fe=Math.PI/(180*1e3),pe=1/100,me=-1e3,he=50,U=5,ge=5,_e=10;function W(e,t,n){let r=e[t];return typeof r==`number`&&Number.isFinite(r)?r:n}function ve(e,t,n){let r=e[t];return typeof r==`boolean`?r:typeof r==`number`?r!==0:n}function ye(e){let t=e.keys,n=[];if(Array.isArray(t)&&t.length>0)for(let e=0;e0&&t[0]&&(r=t[0])}return{dragCoefficient:W(e,`dragCoefficient`,0)*ge,windCoefficient:W(e,`windCoefficient`,1),gravityCoefficient:W(e,`gravityCoefficient`,0)*_e,inheritedVelFactor:W(e,`inheritedVelFactor`,0),constantAcceleration:W(e,`constantAcceleration`,0),lifetimeMS:W(e,`lifetimeMS`,31)<=t){let r=e[n-1],i=e[n],a=i.time-r.time,o=a>0?(t-r.time)/a:0;return{r:r.r+(i.r-r.r)*o,g:r.g+(i.g-r.g)*o,b:r.b+(i.b-r.b)*o,a:r.a+(i.a-r.a)*o,size:r.size+(i.size-r.size)*o}}let n=e[e.length-1];return{r:n.r,g:n.g,b:n.b,a:n.a,size:n.size}}var Te=class{data;particles=[];maxParticles;internalClock=0;nextParticleTime=0;emitterAge=0;emitterLifetime;emitterDead=!1;constructor(e,t=256,n){this.data=e,this.maxParticles=t;let r=n??e.lifetimeMS;!n&&e.lifetimeVarianceMS>0&&(r+=Math.round(G(0,e.lifetimeVarianceMS))),this.emitterLifetime=r}emitBurst(e,t,n=[0,0,1]){for(let r=0;r0;){if(this.nextParticleTime>0){let e=Math.min(r,this.nextParticleTime);this.nextParticleTime-=e,r-=e,this.internalClock+=e;continue}if(this.particles.length0)){let e=this.particles[this.particles.length-1];e.currentAge+=r,e.currentAge>=e.totalLifetime&&this.particles.pop()}let t=this.data.ejectionPeriodMS;this.data.periodVarianceMS>0&&(t+=Math.round(G(0,this.data.periodVarianceMS))),this.nextParticleTime=Math.max(1,t)}}update(e){this.emitterAge+=e,this.emitterLifetime>0&&this.emitterAge>this.emitterLifetime&&(this.emitterDead=!0);let t=e/1e3,n=this.data.particles;for(let r=this.particles.length-1;r>=0;r--){let i=this.particles[r];if(i.currentAge+=e,i.currentAge>=i.totalLifetime){this.particles[r]=this.particles[this.particles.length-1],this.particles.pop();continue}let a=n.dragCoefficient,o=n.gravityCoefficient,s=i.acc[0]-i.vel[0]*a,c=i.acc[1]-i.vel[1]*a,l=i.acc[2]-i.vel[2]*a+de*o;i.vel[0]+=s*t,i.vel[1]+=c*t,i.vel[2]+=l*t,i.pos[0]+=i.vel[0]*t,i.pos[1]+=i.vel[1]*t,i.pos[2]+=i.vel[2]*t;let u=i.currentAge/i.totalLifetime,d=we(n.keys,u);i.r=d.r,i.g=d.g,i.b=d.b,i.a=d.a,i.size=d.size,i.currentSpin=i.spinSpeed*i.currentAge*fe}}isDead(){return this.emitterDead&&this.particles.length===0}kill(){this.emitterDead=!0}addParticle(e,t){let n=this.data,r=n.particles,i=t[0],a=t[1],o=t[2],s=Se(i,a,o),c=(n.thetaMin+Math.random()*(n.thetaMax-n.thetaMin))*ue,l=(this.internalClock/1e3*n.phiReferenceVel+Math.random()*n.phiVariance)*ue;[i,a,o]=Ce(i,a,o,s[0],s[1],s[2],c),[i,a,o]=Ce(i,a,o,t[0],t[1],t[2],l);let u=Math.sqrt(i*i+a*a+o*o);u>1e-8&&(i/=u,a/=u,o/=u);let d=G(n.ejectionVelocity,n.velocityVariance),f=[e[0]+i*n.ejectionOffset,e[1]+a*n.ejectionOffset,e[2]+o*n.ejectionOffset],p=[i*d,a*d,o*d],m=r.constantAcceleration,h=[p[0]*m,p[1]*m,p[2]*m],g=r.lifetimeMS;r.lifetimeVarianceMS>0&&(g+=Math.round(G(0,r.lifetimeVarianceMS))),g=Math.max(1,g);let _=r.spinSpeed+xe(r.spinRandomMin,r.spinRandomMax),v=r.keys[0];this.particles.push({pos:f,vel:p,acc:h,orientDir:[i,a,o],currentAge:0,totalLifetime:g,dataIndex:0,spinSpeed:_,currentSpin:0,r:v.r,g:v.g,b:v.b,a:v.a,size:v.size})}},Ee=` // 'position' is auto-declared by Three.js for ShaderMaterial. attribute vec4 particleColor; attribute float particleSize; diff --git a/docs/assets/Texture-CI_Y9elU.js b/docs/assets/Texture-CUOilM1U.js similarity index 100% rename from docs/assets/Texture-CI_Y9elU.js rename to docs/assets/Texture-CUOilM1U.js diff --git a/docs/assets/TouchHandler-BEuKIyRb.js b/docs/assets/TouchHandler-Cn4NqwVM.js similarity index 97% rename from docs/assets/TouchHandler-BEuKIyRb.js rename to docs/assets/TouchHandler-Cn4NqwVM.js index 65ce5f5e..fb2c840f 100644 --- a/docs/assets/TouchHandler-BEuKIyRb.js +++ b/docs/assets/TouchHandler-Cn4NqwVM.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n}from"./jsx-runtime-BpGWiA-R.js";import{i as r,o as i}from"./react-three-fiber.esm-dhSWjERg.js";import{r as a}from"./SettingsProvider-2cUUftaX.js";import"./traditional-BTL5qX2E.js";import{o,r as s}from"./index-B_QKaSWI.js";var c=t(),l=e(n(),1),u=.004,d=2.5,f=.08,p=.15,m=.15;function h(){let e=(0,c.c)(17),{speedMultiplier:t,touchMode:n,invertDrag:h,invertJoystick:_}=a(),v=i(g),{moveState:y,lookState:b}=o(),x=s(),S=(0,l.useRef)(null),C;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={x:0,y:0},e[0]=C):C=e[0];let w=(0,l.useRef)(C),T;e[1]===h?T=e[2]:(T=()=>h,e[1]=h,e[2]=T);let E=(0,l.useEffectEvent)(T),D=(0,l.useRef)(0),O=(0,l.useRef)(0),k;e[3]!==E||e[4]!==v.domElement||e[5]!==n?(k=()=>{if(n!==`moveLookStick`)return;let e=v.domElement,t=e=>{if(S.current===null)for(;0{if(S.current!==null)for(let t=0;t{for(let t=0;t{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchmove`,r),e.removeEventListener(`touchend`,i),e.removeEventListener(`touchcancel`,i),S.current=null}},e[3]=E,e[4]=v.domElement,e[5]=n,e[6]=k):k=e[6];let A;e[7]!==v.domElement||e[8]!==n?(A=[v.domElement,n],e[7]=v.domElement,e[8]=n,e[9]=A):A=e[9],(0,l.useEffect)(k,A);let j;return e[10]!==_||e[11]!==b.current||e[12]!==y.current||e[13]!==x||e[14]!==t||e[15]!==n?(j=(e,r)=>{let{force:i,angle:a}=y.current,{force:o,angle:s}=b.current,c=D.current,l=O.current;D.current=0,O.current=0;let u=0,h=0;if(n===`dualStick`){if(o>p){let e=(o-p)/(1-p),t=Math.cos(s),n=Math.sin(s),i=_?1:-1;c-=i*t*e*d*r,l+=i*n*e*d*r}if(i>f){let e=(i-f)/(1-f),n=Math.cos(a),r=Math.sin(a);u=Math.max(-1,Math.min(1,n*e*t)),h=Math.max(-1,Math.min(1,r*e*t))}}else if(n===`moveLookStick`&&i>0&&(h=Math.max(-1,Math.min(1,.5*t)),i>=m)){let e=Math.cos(a),t=Math.sin(a),n=(i-m)/(1-m),o=_?1:-1;c-=o*e*n*d*.5*r,l+=o*t*n*d*.5*r}!(c!==0||l!==0)&&!(u!==0||h!==0)||x({deltaYaw:c,deltaPitch:l,x:u,y:h,z:0,triggers:[],delta:r})},e[10]=_,e[11]=b.current,e[12]=y.current,e[13]=x,e[14]=t,e[15]=n,e[16]=j):j=e[16],r(j),null}function g(e){return e.gl}export{h as TouchHandler}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n}from"./jsx-runtime-BpGWiA-R.js";import{i as r,o as i}from"./react-three-fiber.esm-dhSWjERg.js";import{r as a}from"./SettingsProvider-2cUUftaX.js";import"./traditional-BTL5qX2E.js";import{o,r as s}from"./index-Chmtkuc3.js";var c=t(),l=e(n(),1),u=.004,d=2.5,f=.08,p=.15,m=.15;function h(){let e=(0,c.c)(17),{speedMultiplier:t,touchMode:n,invertDrag:h,invertJoystick:_}=a(),v=i(g),{moveState:y,lookState:b}=o(),x=s(),S=(0,l.useRef)(null),C;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={x:0,y:0},e[0]=C):C=e[0];let w=(0,l.useRef)(C),T;e[1]===h?T=e[2]:(T=()=>h,e[1]=h,e[2]=T);let E=(0,l.useEffectEvent)(T),D=(0,l.useRef)(0),O=(0,l.useRef)(0),k;e[3]!==E||e[4]!==v.domElement||e[5]!==n?(k=()=>{if(n!==`moveLookStick`)return;let e=v.domElement,t=e=>{if(S.current===null)for(;0{if(S.current!==null)for(let t=0;t{for(let t=0;t{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchmove`,r),e.removeEventListener(`touchend`,i),e.removeEventListener(`touchcancel`,i),S.current=null}},e[3]=E,e[4]=v.domElement,e[5]=n,e[6]=k):k=e[6];let A;e[7]!==v.domElement||e[8]!==n?(A=[v.domElement,n],e[7]=v.domElement,e[8]=n,e[9]=A):A=e[9],(0,l.useEffect)(k,A);let j;return e[10]!==_||e[11]!==b.current||e[12]!==y.current||e[13]!==x||e[14]!==t||e[15]!==n?(j=(e,r)=>{let{force:i,angle:a}=y.current,{force:o,angle:s}=b.current,c=D.current,l=O.current;D.current=0,O.current=0;let u=0,h=0;if(n===`dualStick`){if(o>p){let e=(o-p)/(1-p),t=Math.cos(s),n=Math.sin(s),i=_?1:-1;c-=i*t*e*d*r,l+=i*n*e*d*r}if(i>f){let e=(i-f)/(1-f),n=Math.cos(a),r=Math.sin(a);u=Math.max(-1,Math.min(1,n*e*t)),h=Math.max(-1,Math.min(1,r*e*t))}}else if(n===`moveLookStick`&&i>0&&(h=Math.max(-1,Math.min(1,.5*t)),i>=m)){let e=Math.cos(a),t=Math.sin(a),n=(i-m)/(1-m),o=_?1:-1;c-=o*e*n*d*.5*r,l+=o*t*n*d*.5*r}!(c!==0||l!==0)&&!(u!==0||h!==0)||x({deltaYaw:c,deltaPitch:l,x:u,y:h,z:0,triggers:[],delta:r})},e[10]=_,e[11]=b.current,e[12]=y.current,e[13]=x,e[14]=t,e[15]=n,e[16]=j):j=e[16],r(j),null}function g(e){return e.gl}export{h as TouchHandler}; \ No newline at end of file diff --git a/docs/assets/TouchJoystick-BEBTF5st.js b/docs/assets/TouchJoystick-BEBTF5st.js deleted file mode 100644 index dc00b0bb..00000000 --- a/docs/assets/TouchJoystick-BEBTF5st.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/nipplejs-l2bgT5Z7.js","assets/chunk-DECur_0Z.js"])))=>i.map(i=>d[i]); -import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{r}from"./SettingsProvider-2cUUftaX.js";import{t as i}from"./preload-helper-BcSNVXZP.js";import{o as a}from"./index-B_QKaSWI.js";var o=e(t(),1),s={Joystick:`_Joystick_155b9_1`,Left:`_Left_155b9_11 _Joystick_155b9_1`,Right:`_Right_155b9_17 _Joystick_155b9_1`},c=n();function l(e){let t=e.querySelector(`.back`);t&&(t.style.background=`rgba(3, 79, 76, 0.6)`,t.style.border=`1px solid rgba(0, 219, 223, 0.5)`,t.style.boxShadow=`inset 0 0 10px rgba(0, 0, 0, 0.7)`);let n=e.querySelector(`.front`);n&&(n.style.background=`radial-gradient(circle at 50% 50%, rgba(23, 247, 198, 0.9) 0%, rgba(9, 184, 170, 0.95) 100%)`,n.style.border=`2px solid rgba(255, 255, 255, 0.4)`,n.style.boxShadow=`0 2px 4px rgba(0, 0, 0, 0.5), 0 1px 1px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 2px rgba(0, 0, 0, 0.3)`)}function u(){let{touchMode:t}=r(),[n,u]=(0,o.useState)(null),[d,f]=(0,o.useState)(null),{moveState:p,lookState:m,setMoveState:h,setLookState:g}=a();(0,o.useEffect)(()=>{if(!n)return;let t=null,r=!1;return i(()=>import(`./nipplejs-l2bgT5Z7.js`).then(t=>e(t.default,1)).then(e=>{r||(t=e.default.create({zone:n,mode:`static`,position:{left:`70px`,bottom:`70px`},size:120,restOpacity:.9,dynamicPage:!0}),l(n),t.on(`move`,(e,t)=>{h({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{h({force:0})}))}),__vite__mapDeps([0,1])),()=>{r=!0,t?.destroy()}},[p,n,h]),(0,o.useEffect)(()=>{if(!d)return;let t=null,n=!1;return i(()=>import(`./nipplejs-l2bgT5Z7.js`).then(t=>e(t.default,1)).then(e=>{n||(t=e.default.create({zone:d,mode:`static`,position:{right:`70px`,bottom:`70px`},size:120,restOpacity:.9,dynamicPage:!0}),l(d),t.on(`move`,(e,t)=>{g({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{g({force:0})}))}),__vite__mapDeps([0,1])),()=>{n=!0,t?.destroy()}},[m,d,g]);let _=()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{ref:u,className:t===`dualStick`?s.Left:s.Joystick,onContextMenu:e=>e.preventDefault(),onTouchStart:_},t),t===`dualStick`?(0,c.jsx)(`div`,{ref:f,className:s.Right,onContextMenu:e=>e.preventDefault(),onTouchStart:_}):null]})}export{u as TouchJoystick}; \ No newline at end of file diff --git a/docs/assets/TouchJoystick-lIhMSm3I.js b/docs/assets/TouchJoystick-lIhMSm3I.js new file mode 100644 index 00000000..190615cd --- /dev/null +++ b/docs/assets/TouchJoystick-lIhMSm3I.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/nipplejs-TUj5E3G4.js","assets/chunk-DECur_0Z.js"])))=>i.map(i=>d[i]); +import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{r}from"./SettingsProvider-2cUUftaX.js";import{l as i,o as a}from"./index-Chmtkuc3.js";var o=e(t(),1),s={Joystick:`_Joystick_155b9_1`,Left:`_Left_155b9_11 _Joystick_155b9_1`,Right:`_Right_155b9_17 _Joystick_155b9_1`},c=n();function l(e){let t=e.querySelector(`.back`);t&&(t.style.background=`rgba(3, 79, 76, 0.6)`,t.style.border=`1px solid rgba(0, 219, 223, 0.5)`,t.style.boxShadow=`inset 0 0 10px rgba(0, 0, 0, 0.7)`);let n=e.querySelector(`.front`);n&&(n.style.background=`radial-gradient(circle at 50% 50%, rgba(23, 247, 198, 0.9) 0%, rgba(9, 184, 170, 0.95) 100%)`,n.style.border=`2px solid rgba(255, 255, 255, 0.4)`,n.style.boxShadow=`0 2px 4px rgba(0, 0, 0, 0.5), 0 1px 1px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 2px rgba(0, 0, 0, 0.3)`)}function u(){let{touchMode:t}=r(),[n,u]=(0,o.useState)(null),[d,f]=(0,o.useState)(null),{moveState:p,lookState:m,setMoveState:h,setLookState:g}=a();(0,o.useEffect)(()=>{if(!n)return;let t=null,r=!1;return i(()=>import(`./nipplejs-TUj5E3G4.js`).then(t=>e(t.default,1)).then(e=>{r||(t=e.default.create({zone:n,mode:`static`,position:{left:`70px`,bottom:`70px`},size:120,restOpacity:.9,dynamicPage:!0}),l(n),t.on(`move`,(e,t)=>{h({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{h({force:0})}))}),__vite__mapDeps([0,1])),()=>{r=!0,t?.destroy()}},[p,n,h]),(0,o.useEffect)(()=>{if(!d)return;let t=null,n=!1;return i(()=>import(`./nipplejs-TUj5E3G4.js`).then(t=>e(t.default,1)).then(e=>{n||(t=e.default.create({zone:d,mode:`static`,position:{right:`70px`,bottom:`70px`},size:120,restOpacity:.9,dynamicPage:!0}),l(d),t.on(`move`,(e,t)=>{g({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{g({force:0})}))}),__vite__mapDeps([0,1])),()=>{n=!0,t?.destroy()}},[m,d,g]);let _=()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{ref:u,className:t===`dualStick`?s.Left:s.Joystick,onContextMenu:e=>e.preventDefault(),onTouchStart:_},t),t===`dualStick`?(0,c.jsx)(`div`,{ref:f,className:s.Right,onContextMenu:e=>e.preventDefault(),onTouchStart:_}):null]})}export{u as TouchJoystick}; \ No newline at end of file diff --git a/docs/assets/WaterBlock-cCfl8B1Q.js b/docs/assets/WaterBlock-DPJdPJLc.js similarity index 98% rename from docs/assets/WaterBlock-cCfl8B1Q.js rename to docs/assets/WaterBlock-DPJdPJLc.js index ba39d49a..0e2a0b11 100644 --- a/docs/assets/WaterBlock-cCfl8B1Q.js +++ b/docs/assets/WaterBlock-DPJdPJLc.js @@ -1,4 +1,4 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i,o as a}from"./react-three-fiber.esm-dhSWjERg.js";import{a as o,i as s}from"./SettingsProvider-2cUUftaX.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{At as c,Dt as l,b as u,gt as ee,nt as d}from"./three.module-CwgFV8Kd.js";import{n as te,r as ne,t as re}from"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{t as f}from"./extends-C_PM0Yom.js";import{t as p}from"./Texture-CI_Y9elU.js";import{p as m}from"./loaders-C_1cX1lR.js";import{a as h,c as g,f as _,t as v}from"./globalFogUniforms-DQn9KFk6.js";var y=e(n());function b(e,t){let n=e+`Geometry`;return y.forwardRef(({args:e,children:r,...i},a)=>{let o=y.useRef(null);return y.useImperativeHandle(a,()=>o.current),y.useLayoutEffect(()=>void t?.(o.current)),y.createElement(`mesh`,f({ref:o},i),y.createElement(n,{attach:`geometry`,args:e}),r)})}var x=b(`box`),S=t(),C=` +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i,o as a}from"./react-three-fiber.esm-dhSWjERg.js";import{a as o,i as s}from"./SettingsProvider-2cUUftaX.js";import"./logger-zy3b0zcG.js";import"./traditional-BTL5qX2E.js";import{At as c,Dt as l,b as u,gt as ee,nt as d}from"./three.module-CwgFV8Kd.js";import{n as te,r as ne,t as re}from"./scene-B1EyKjda.js";import"./mission-CFLOK_Oy.js";import{t as f}from"./extends-Cu_B6L18.js";import{t as p}from"./Texture-CUOilM1U.js";import{p as m}from"./loaders-BRV0t4WA.js";import{a as h,c as g,f as _,t as v}from"./globalFogUniforms-CaAkHfiE.js";var y=e(n());function b(e,t){let n=e+`Geometry`;return y.forwardRef(({args:e,children:r,...i},a)=>{let o=y.useRef(null);return y.useImperativeHandle(a,()=>o.current),y.useLayoutEffect(()=>void t?.(o.current)),y.createElement(`mesh`,f({ref:o},i),y.createElement(n,{attach:`geometry`,args:e}),r)})}var x=b(`box`),S=t(),C=` #include #ifdef USE_FOG diff --git a/docs/assets/demoStreaming-CyI0Mhez.js b/docs/assets/demoStreaming-ZopkbEeD.js similarity index 99% rename from docs/assets/demoStreaming-CyI0Mhez.js rename to docs/assets/demoStreaming-ZopkbEeD.js index f5bd3f59..96f9fc10 100644 --- a/docs/assets/demoStreaming-CyI0Mhez.js +++ b/docs/assets/demoStreaming-ZopkbEeD.js @@ -1 +1 @@ -import"./logger-zy3b0zcG.js";import{A as e,D as t,O as n,_ as r,a as i,b as a,d as o,l as s,n as c,r as l,t as u,v as d,y as f}from"./streamHelpers-Be29sBCp.js";import{i as p}from"./scene-B1EyKjda.js";import{C as m}from"./index-B_QKaSWI.js";function h(e){let t=null,n=null,i=null,a=null,o=null,s=null,c=NaN,l=null;for(let u=0;u=3&&d[1]?.endsWith(`Game`)&&(i=d[1]),e[u]!==`readplayerinfo`)continue;let f=e[u+1];if(f){if(f.startsWith(`1 `)){let e=f.split(` `);e[1]&&(c=parseInt(e[1],10)),e[2]&&(s=r(e[2]).trim());continue}if(f.startsWith(`2 `)){let e=f.split(` `);e[1]&&(a=e[1]),e[3]&&(l=e[3]),e[4]&&(t=e[4]);continue}if(f.startsWith(`3 `)){let e=f.split(` `);e[1]&&(o=e[1]),e[2]&&(n=e[2])}}}return{missionDisplayName:t,missionType:n,gameClassName:i,serverDisplayName:a,mod:o,recorderName:s,recorderClientId:Number.isFinite(c)?c:null,recordingDate:l}}function g(e){let t={weaponsHud:null,backpackHud:null,inventoryHud:null,teamScores:[],playerRoster:new Map,chatMessages:[],clockTimeMin:null,gravity:-20};if(!e.length)return t;let n=0,i=()=>{let t=e[n++];return t===``?``:t??``};if(i(),n>=e.length)return t;let a=parseInt(i(),10)||0,o=new Map;for(let e=0;e0&&o.set(s,(o.get(s)??0)+1)}if(n>=e.length||(i(),n>=e.length))return t;{let e=i().split(` `),n=e[0]??``,r=e[1]===`1`||e[1]===`true`,a=e[2]??``,o=e[4]===`1`||e[4]===`true`;r&&n&&(t.backpackHud={packIndex:c(n),active:o,text:a})}if(n>=e.length)return t;let s=i().split(` `),l=parseInt(s[4],10)||0,u=parseInt(s[5],10)||0,d=parseInt(s[6],10);for(let e=0;e=e.length)return t;let p=i().split(` `),m=parseInt(p[4],10)||0,h=parseInt(p[5],10)||0,g=parseInt(p[6],10);for(let e=0;e0&&e.set(n,r)}e.size>0&&(t.inventoryHud={slots:e,activeSlot:isNaN(g)?-1:g})}if(n>=e.length)return t;let _=i().split(` `),v=_[1]??``,y=parseInt(_[2],10)||0,b=[];for(let e=0;e=8)for(let e=0;e<2;e++){let n=e*4,r=e+1;t.teamScores.push({teamId:r,name:b[n]??``,score:parseInt(b[n+1],10)||0,playerCount:o.get(r)??0})}else if(v===`TR2Game`&&y>=4)for(let e=0;e<2;e++){let n=e*2,r=e+1;t.teamScores.push({teamId:r,name:b[n+1]??``,score:parseInt(b[n],10)||0,playerCount:o.get(r)??0})}if(n>=e.length)return t;{let e=i().split(` `),n=parseFloat(e[1]??``);Number.isFinite(n)&&(t.clockTimeMin=n)}for(let r=0;r<10&&!(n>=e.length);r++){let e=i();e&&t.chatMessages.push(e)}if(n=0?t(`Player`,this.initialBlock.controlObjectGhostIndex):void 0;for(let e of this.initialBlock.initialGhosts){if(e.type!==`create`||e.classId==null)continue;let r=this.registry.getGhostParser(e.classId)?.name;if(!r)throw Error(`No ghost parser for classId ${e.classId} (ghost index ${e.index})`);let i=t(r,e.index),a={id:i,ghostIndex:e.index,className:r,spawnTick:0,type:n(r),rotation:[0,0,0,1]};if(this.applyGhostData(a,e.parsedData),e.parsedData){let t=p(r,e.index,e.parsedData);t&&(a.sceneData=t)}this.entities.set(i,a),this.entityIdByGhostIndex.set(e.index,i)}if(this.playerSensorGroup===0&&this.lastControlType===`player`&&this.latestControl.ghostIndex>=0){let e=this.entityIdByGhostIndex.get(this.latestControl.ghostIndex),t=e?this.entities.get(e):void 0;t?.sensorGroup!=null&&t.sensorGroup>0&&(this.playerSensorGroup=t.sensorGroup)}for(let e of this.initialBlock.initialEvents){let t=this.registry.getEventParser(e.classId)?.name;if(t===`SetSensorGroupEvent`&&e.parsedData){let t=e.parsedData.sensorGroup;t!=null&&(this.playerSensorGroup=t)}else if(t===`RemoteCommandEvent`&&e.parsedData){let t=this.resolveNetString(e.parsedData.funcName),n=e.parsedData.args;t===`ServerMessage`&&this.handleServerMessage(n),this.handleHudRemoteCommand(t,n)}}let c=g(this.initialBlock.demoValues);c.weaponsHud&&(this.weaponsHud.slots=c.weaponsHud.slots,this.weaponsHud.activeIndex=c.weaponsHud.activeIndex),c.backpackHud&&(this.backpackHud.packIndex=c.backpackHud.packIndex,this.backpackHud.active=c.backpackHud.active,this.backpackHud.text=c.backpackHud.text),c.inventoryHud&&(this.inventoryHud.slots=c.inventoryHud.slots,this.inventoryHud.activeSlot=c.inventoryHud.activeSlot),this.teamScores=c.teamScores,this.playerRoster=new Map(c.playerRoster),c.clockTimeMin!=null&&(this.clockAnchorStreamSec=0,this.clockDurationMs=c.clockTimeMin*60*1e3);for(let e of c.chatMessages){let t=o(e);if(!t.length)continue;let n=t.map(e=>e.text).join(``);if(!n.trim())continue;let r=t[0].colorCode;if(t.some(e=>e.colorCode===3||e.colorCode===4)&&n.includes(`: `)){let e=n.indexOf(`: `);this.pushChatMessage({timeSec:0,sender:n.slice(0,e),text:n.slice(e+2),kind:`chat`,colorCode:r,segments:t})}else this.pushChatMessage({timeSec:0,sender:``,text:n,kind:`server`,colorCode:r,segments:t})}this.updateCameraAndHud()}getSnapshot(){if(this._cachedSnapshot&&this._cachedSnapshotTick===this.moveTicks)return this._cachedSnapshot;let e=this.buildSnapshot();return this._cachedSnapshot=e,this._cachedSnapshotTick=this.moveTicks,e}getEffectShapes(){let e=new Set,t=t=>{let n=t.dtsFileName;n&&e.add(n);let r=t.subExplosions;if(Array.isArray(r))for(let t of r){if(t==null)continue;let n=this.getDataBlockData(t);n?.dtsFileName&&e.add(n.dtsFileName)}};for(let[,e]of this.initialBlock.dataBlocks){let n=e.data?.explosion;if(n==null)continue;let r=this.getDataBlockData(n);r&&t(r)}return[...e]}stepToTime(e,t=1/0){let n=Number.isFinite(e)?Math.max(0,e):0,r=Math.floor(n*1e3/32),i=!1;r({index:e,ammo:t})),activeIndex:this.weaponsHud.activeIndex},o=n&&n.inventoryHudGen===this._inventoryHudGen?n.inventoryHud:{slots:Array.from(this.inventoryHud.slots.entries()).map(([e,t])=>({slot:e,count:t})),activeSlot:this.inventoryHud.activeSlot},s=n&&n.backpackPackIndex===this.backpackHud.packIndex&&n.backpackActive===this.backpackHud.active&&n.backpackText===this.backpackHud.text?n.backpackHud:this.backpackHud.packIndex>=0?{...this.backpackHud}:null,c,l;if(n&&n.teamScoresGen===this._teamScoresGen&&n.rosterGen===this._rosterGen)c=n.teamScores,l=n.playerRoster;else{c=this.teamScores.map(e=>({...e}));let e=new Map;for(let{teamId:t}of this.playerRoster.values())t>0&&e.set(t,(e.get(t)??0)+1);for(let t of c)t.playerCount=e.get(t.teamId)??0;l=[];for(let[e,t]of this.playerRoster)l.push({clientId:e,...t})}return this._snap={teamScoresGen:this._teamScoresGen,rosterGen:this._rosterGen,teamScores:c,playerRoster:l,weaponsHudGen:this._weaponsHudGen,weaponsHud:a,inventoryHudGen:this._inventoryHudGen,inventoryHud:o,backpackPackIndex:this.backpackHud.packIndex,backpackActive:this.backpackHud.active,backpackText:this.backpackHud.text,backpackHud:s},{timeSec:t,exhausted:this.exhausted,camera:this.camera,entities:e,controlPlayerGhostId:this.controlPlayerGhostId,playerSensorGroup:this.playerSensorGroup,status:this.lastStatus,chatMessages:r,audioEvents:i,weaponsHud:a,backpackHud:s,inventoryHud:o,teamScores:c,playerRoster:l,connectedClientId:this.connectedClientId,matchClockMs:this.computeMatchClockMs(t)}}isPacketData(e){return!!e&&typeof e==`object`&&`gameState`in e&&`events`in e&&`ghosts`in e}isMoveData(e){return!!e&&typeof e==`object`&&`yaw`in e}isInfoData(e){return!!e&&typeof e==`object`&&`value1`in e&&typeof e.value1==`number`&&`value2`in e&&typeof e.value2==`number`}};async function v(t){let n=new e(new Uint8Array(t)),{header:r,initialBlock:i}=await n.load(),a=h(i.demoValues),o=new _(n);return o.missionDisplayName=a.missionDisplayName,o.missionTypeDisplayName=a.missionType,o.gameClassName=a.gameClassName,o.serverDisplayName=a.serverDisplayName,o.connectedPlayerName=a.recorderName,o.connectedClientId=a.recorderClientId,{source:`demo`,duration:r.demoLengthMs/1e3,missionName:i.missionName??null,gameType:a.missionType,serverDisplayName:a.serverDisplayName,recorderName:a.recorderName,recordingDate:a.recordingDate,streamingPlayback:o}}export{v as createDemoStreamingRecording}; \ No newline at end of file +import"./logger-zy3b0zcG.js";import{A as e,D as t,O as n,_ as r,a as i,b as a,d as o,l as s,n as c,r as l,t as u,v as d,y as f}from"./streamHelpers-Be29sBCp.js";import{i as p}from"./scene-B1EyKjda.js";import{C as m}from"./index-Chmtkuc3.js";function h(e){let t=null,n=null,i=null,a=null,o=null,s=null,c=NaN,l=null;for(let u=0;u=3&&d[1]?.endsWith(`Game`)&&(i=d[1]),e[u]!==`readplayerinfo`)continue;let f=e[u+1];if(f){if(f.startsWith(`1 `)){let e=f.split(` `);e[1]&&(c=parseInt(e[1],10)),e[2]&&(s=r(e[2]).trim());continue}if(f.startsWith(`2 `)){let e=f.split(` `);e[1]&&(a=e[1]),e[3]&&(l=e[3]),e[4]&&(t=e[4]);continue}if(f.startsWith(`3 `)){let e=f.split(` `);e[1]&&(o=e[1]),e[2]&&(n=e[2])}}}return{missionDisplayName:t,missionType:n,gameClassName:i,serverDisplayName:a,mod:o,recorderName:s,recorderClientId:Number.isFinite(c)?c:null,recordingDate:l}}function g(e){let t={weaponsHud:null,backpackHud:null,inventoryHud:null,teamScores:[],playerRoster:new Map,chatMessages:[],clockTimeMin:null,gravity:-20};if(!e.length)return t;let n=0,i=()=>{let t=e[n++];return t===``?``:t??``};if(i(),n>=e.length)return t;let a=parseInt(i(),10)||0,o=new Map;for(let e=0;e0&&o.set(s,(o.get(s)??0)+1)}if(n>=e.length||(i(),n>=e.length))return t;{let e=i().split(` `),n=e[0]??``,r=e[1]===`1`||e[1]===`true`,a=e[2]??``,o=e[4]===`1`||e[4]===`true`;r&&n&&(t.backpackHud={packIndex:c(n),active:o,text:a})}if(n>=e.length)return t;let s=i().split(` `),l=parseInt(s[4],10)||0,u=parseInt(s[5],10)||0,d=parseInt(s[6],10);for(let e=0;e=e.length)return t;let p=i().split(` `),m=parseInt(p[4],10)||0,h=parseInt(p[5],10)||0,g=parseInt(p[6],10);for(let e=0;e0&&e.set(n,r)}e.size>0&&(t.inventoryHud={slots:e,activeSlot:isNaN(g)?-1:g})}if(n>=e.length)return t;let _=i().split(` `),v=_[1]??``,y=parseInt(_[2],10)||0,b=[];for(let e=0;e=8)for(let e=0;e<2;e++){let n=e*4,r=e+1;t.teamScores.push({teamId:r,name:b[n]??``,score:parseInt(b[n+1],10)||0,playerCount:o.get(r)??0})}else if(v===`TR2Game`&&y>=4)for(let e=0;e<2;e++){let n=e*2,r=e+1;t.teamScores.push({teamId:r,name:b[n+1]??``,score:parseInt(b[n],10)||0,playerCount:o.get(r)??0})}if(n>=e.length)return t;{let e=i().split(` `),n=parseFloat(e[1]??``);Number.isFinite(n)&&(t.clockTimeMin=n)}for(let r=0;r<10&&!(n>=e.length);r++){let e=i();e&&t.chatMessages.push(e)}if(n=0?t(`Player`,this.initialBlock.controlObjectGhostIndex):void 0;for(let e of this.initialBlock.initialGhosts){if(e.type!==`create`||e.classId==null)continue;let r=this.registry.getGhostParser(e.classId)?.name;if(!r)throw Error(`No ghost parser for classId ${e.classId} (ghost index ${e.index})`);let i=t(r,e.index),a={id:i,ghostIndex:e.index,className:r,spawnTick:0,type:n(r),rotation:[0,0,0,1]};if(this.applyGhostData(a,e.parsedData),e.parsedData){let t=p(r,e.index,e.parsedData);t&&(a.sceneData=t)}this.entities.set(i,a),this.entityIdByGhostIndex.set(e.index,i)}if(this.playerSensorGroup===0&&this.lastControlType===`player`&&this.latestControl.ghostIndex>=0){let e=this.entityIdByGhostIndex.get(this.latestControl.ghostIndex),t=e?this.entities.get(e):void 0;t?.sensorGroup!=null&&t.sensorGroup>0&&(this.playerSensorGroup=t.sensorGroup)}for(let e of this.initialBlock.initialEvents){let t=this.registry.getEventParser(e.classId)?.name;if(t===`SetSensorGroupEvent`&&e.parsedData){let t=e.parsedData.sensorGroup;t!=null&&(this.playerSensorGroup=t)}else if(t===`RemoteCommandEvent`&&e.parsedData){let t=this.resolveNetString(e.parsedData.funcName),n=e.parsedData.args;t===`ServerMessage`&&this.handleServerMessage(n),this.handleHudRemoteCommand(t,n)}}let c=g(this.initialBlock.demoValues);c.weaponsHud&&(this.weaponsHud.slots=c.weaponsHud.slots,this.weaponsHud.activeIndex=c.weaponsHud.activeIndex),c.backpackHud&&(this.backpackHud.packIndex=c.backpackHud.packIndex,this.backpackHud.active=c.backpackHud.active,this.backpackHud.text=c.backpackHud.text),c.inventoryHud&&(this.inventoryHud.slots=c.inventoryHud.slots,this.inventoryHud.activeSlot=c.inventoryHud.activeSlot),this.teamScores=c.teamScores,this.playerRoster=new Map(c.playerRoster),c.clockTimeMin!=null&&(this.clockAnchorStreamSec=0,this.clockDurationMs=c.clockTimeMin*60*1e3);for(let e of c.chatMessages){let t=o(e);if(!t.length)continue;let n=t.map(e=>e.text).join(``);if(!n.trim())continue;let r=t[0].colorCode;if(t.some(e=>e.colorCode===3||e.colorCode===4)&&n.includes(`: `)){let e=n.indexOf(`: `);this.pushChatMessage({timeSec:0,sender:n.slice(0,e),text:n.slice(e+2),kind:`chat`,colorCode:r,segments:t})}else this.pushChatMessage({timeSec:0,sender:``,text:n,kind:`server`,colorCode:r,segments:t})}this.updateCameraAndHud()}getSnapshot(){if(this._cachedSnapshot&&this._cachedSnapshotTick===this.moveTicks)return this._cachedSnapshot;let e=this.buildSnapshot();return this._cachedSnapshot=e,this._cachedSnapshotTick=this.moveTicks,e}getEffectShapes(){let e=new Set,t=t=>{let n=t.dtsFileName;n&&e.add(n);let r=t.subExplosions;if(Array.isArray(r))for(let t of r){if(t==null)continue;let n=this.getDataBlockData(t);n?.dtsFileName&&e.add(n.dtsFileName)}};for(let[,e]of this.initialBlock.dataBlocks){let n=e.data?.explosion;if(n==null)continue;let r=this.getDataBlockData(n);r&&t(r)}return[...e]}stepToTime(e,t=1/0){let n=Number.isFinite(e)?Math.max(0,e):0,r=Math.floor(n*1e3/32),i=!1;r({index:e,ammo:t})),activeIndex:this.weaponsHud.activeIndex},o=n&&n.inventoryHudGen===this._inventoryHudGen?n.inventoryHud:{slots:Array.from(this.inventoryHud.slots.entries()).map(([e,t])=>({slot:e,count:t})),activeSlot:this.inventoryHud.activeSlot},s=n&&n.backpackPackIndex===this.backpackHud.packIndex&&n.backpackActive===this.backpackHud.active&&n.backpackText===this.backpackHud.text?n.backpackHud:this.backpackHud.packIndex>=0?{...this.backpackHud}:null,c,l;if(n&&n.teamScoresGen===this._teamScoresGen&&n.rosterGen===this._rosterGen)c=n.teamScores,l=n.playerRoster;else{c=this.teamScores.map(e=>({...e}));let e=new Map;for(let{teamId:t}of this.playerRoster.values())t>0&&e.set(t,(e.get(t)??0)+1);for(let t of c)t.playerCount=e.get(t.teamId)??0;l=[];for(let[e,t]of this.playerRoster)l.push({clientId:e,...t})}return this._snap={teamScoresGen:this._teamScoresGen,rosterGen:this._rosterGen,teamScores:c,playerRoster:l,weaponsHudGen:this._weaponsHudGen,weaponsHud:a,inventoryHudGen:this._inventoryHudGen,inventoryHud:o,backpackPackIndex:this.backpackHud.packIndex,backpackActive:this.backpackHud.active,backpackText:this.backpackHud.text,backpackHud:s},{timeSec:t,exhausted:this.exhausted,camera:this.camera,entities:e,controlPlayerGhostId:this.controlPlayerGhostId,playerSensorGroup:this.playerSensorGroup,status:this.lastStatus,chatMessages:r,audioEvents:i,weaponsHud:a,backpackHud:s,inventoryHud:o,teamScores:c,playerRoster:l,connectedClientId:this.connectedClientId,matchClockMs:this.computeMatchClockMs(t)}}isPacketData(e){return!!e&&typeof e==`object`&&`gameState`in e&&`events`in e&&`ghosts`in e}isMoveData(e){return!!e&&typeof e==`object`&&`yaw`in e}isInfoData(e){return!!e&&typeof e==`object`&&`value1`in e&&typeof e.value1==`number`&&`value2`in e&&typeof e.value2==`number`}};async function v(t){let n=new e(new Uint8Array(t)),{header:r,initialBlock:i}=await n.load(),a=h(i.demoValues),o=new _(n);return o.missionDisplayName=a.missionDisplayName,o.missionTypeDisplayName=a.missionType,o.gameClassName=a.gameClassName,o.serverDisplayName=a.serverDisplayName,o.connectedPlayerName=a.recorderName,o.connectedClientId=a.recorderClientId,{source:`demo`,duration:r.demoLengthMs/1e3,missionName:i.missionName??null,gameType:a.missionType,serverDisplayName:a.serverDisplayName,recorderName:a.recorderName,recordingDate:a.recordingDate,streamingPlayback:o}}export{v as createDemoStreamingRecording}; \ No newline at end of file diff --git a/docs/assets/demoTimelineScanner-CRMdvfeq.js b/docs/assets/demoTimelineScanner-NuKBiLD0.js similarity index 100% rename from docs/assets/demoTimelineScanner-CRMdvfeq.js rename to docs/assets/demoTimelineScanner-NuKBiLD0.js diff --git a/docs/assets/extends-C_PM0Yom.js b/docs/assets/extends-Cu_B6L18.js similarity index 100% rename from docs/assets/extends-C_PM0Yom.js rename to docs/assets/extends-Cu_B6L18.js diff --git a/docs/assets/gameEntityTypes-n-ppAY7z.js b/docs/assets/gameEntityTypes-9Mm4qfyP.js similarity index 100% rename from docs/assets/gameEntityTypes-n-ppAY7z.js rename to docs/assets/gameEntityTypes-9Mm4qfyP.js diff --git a/docs/assets/globalFogUniforms-DQn9KFk6.js b/docs/assets/globalFogUniforms-CaAkHfiE.js similarity index 100% rename from docs/assets/globalFogUniforms-DQn9KFk6.js rename to docs/assets/globalFogUniforms-CaAkHfiE.js diff --git a/docs/assets/index-B_QKaSWI.js b/docs/assets/index-B_QKaSWI.js deleted file mode 100644 index 1a95c648..00000000 --- a/docs/assets/index-B_QKaSWI.js +++ /dev/null @@ -1,12 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/demoStreaming-CyI0Mhez.js","assets/streamHelpers-Be29sBCp.js","assets/chunk-DECur_0Z.js","assets/three.module-CwgFV8Kd.js","assets/logger-zy3b0zcG.js","assets/scene-B1EyKjda.js","assets/demoTimelineScanner-CRMdvfeq.js","assets/TouchHandler-BEuKIyRb.js","assets/react-three-fiber.esm-dhSWjERg.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-BTL5qX2E.js","assets/SettingsProvider-2cUUftaX.js","assets/manifest-CmJ-OiDc.js","assets/stringUtils-BfUKbRCH.js","assets/TouchJoystick-BEBTF5st.js","assets/preload-helper-BcSNVXZP.js","assets/TouchJoystick-Dn73xHvm.css","assets/KeyboardOverlay-CpDInLSf.js","assets/mission-CFLOK_Oy.js","assets/engineStore-Cio8vU1L.js","assets/KeyboardOverlay-By62YC1g.css","assets/GameView-B-FWOVN5.js","assets/extends-C_PM0Yom.js","assets/GenericShape-DCImTyf2.js","assets/Texture-CI_Y9elU.js","assets/useBaseQuery-CZsAiqUk.js","assets/FloatingLabel-CXLHy5vc.js","assets/Html-C5epU_38.js","assets/FloatingLabel-DfptgH-Y.css","assets/globalFogUniforms-DQn9KFk6.js","assets/loaders-C_1cX1lR.js","assets/useQuery-CwJPnLi6.js","assets/AudioContext-B-BTQZ7_.js","assets/DebugSuspense-DTOoTVsz.js","assets/ShapeErrorBoundary-BDMn5cgT.js","assets/gameEntityTypes-n-ppAY7z.js","assets/streamPlaybackStore-CszjeINn.js","assets/GameView-PJcE9IRi.css","assets/DemoPlaybackControls-CYIxHIt0.js","assets/DemoPlaybackControls-BQdLO79J.css","assets/PlayerHUD-UBJSra7Y.js","assets/PlayerHUD-ByyGTqsd.css","assets/MapInfoDialog-CpbFz03C.js","assets/MapInfoDialog-DEkKdREx.css","assets/ServerBrowser-Dc3KGuyz.js","assets/ServerBrowser-CwWspRhr.css","assets/ScoreScreen-C9NVaXTI.js","assets/ScoreScreen-DOoKB1Ti.css"])))=>i.map(i=>d[i]); -import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{i as a,o,s}from"./react-three-fiber.esm-dhSWjERg.js";import{a as c,c as l,d as u,f as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x}from"./SettingsProvider-2cUUftaX.js";import{t as S}from"./iconBase-BCRUFbxq.js";import{l as C,n as w,r as T,s as E}from"./manifest-CmJ-OiDc.js";import{n as D,r as O,t as k}from"./stringUtils-BfUKbRCH.js";import{t as A}from"./logger-zy3b0zcG.js";import{i as j,n as M,r as ee}from"./traditional-BTL5qX2E.js";import{C as te,D as N,E as P,O as ne,S as re,T as ie,_ as F,a as I,b as L,c as ae,f as R,g as oe,h as se,i as ce,k as le,l as ue,m as de,o as fe,p as pe,r as me,s as he,t as ge,u as _e,v as ve,w as ye,x as be,y as xe}from"./streamHelpers-Be29sBCp.js";import{E as Se,St as Ce,Ut as we}from"./three.module-CwgFV8Kd.js";import{i as Te}from"./scene-B1EyKjda.js";import{i as Ee}from"./mission-CFLOK_Oy.js";import{i as De,r as Oe,s as ke}from"./engineStore-Cio8vU1L.js";import{t as Ae}from"./preload-helper-BcSNVXZP.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var je=t((e=>{var t=r();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=je()})),Ne=t((e=>{var t=s(),n=r(),i=Me();function a(e){var t=`https://react.dev/errors/`+e;if(1ie||(e.current=re[ie],re[ie]=null,ie--)}function L(e,t){ie++,re[ie]=e.current,e.current=t}var ae=F(null),R=F(null),oe=F(null),se=F(null);function ce(e,t){switch(L(oe,t),L(R,e),L(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}I(ae),L(ae,e)}function le(){I(ae),I(R),I(oe)}function ue(e){e.memoizedState!==null&&L(se,e);var t=ae.current,n=Hd(t,e.type);t!==n&&(L(R,e),L(ae,n))}function de(e){R.current===e&&(I(ae),I(R)),se.current===e&&(I(se),Qf._currentValue=ne)}var fe,pe;function me(e){if(fe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);fe=t&&t[1]||``,pe=-1)`:-1i||c[r]!==l[i]){var u=` -`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{he=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?me(n):``}function _e(e,t){switch(e.tag){case 26:case 27:case 5:return me(e.type);case 16:return me(`Lazy`);case 13:return e.child!==t&&t!==null?me(`Suspense Fallback`):me(`Suspense`);case 19:return me(`SuspenseList`);case 0:case 15:return ge(e.type,!1);case 11:return ge(e.type.render,!1);case 1:return ge(e.type,!0);case 31:return me(`Activity`);default:return``}}function ve(e){try{var t=``,n=null;do t+=_e(e,n),n=e,e=e.return;while(e);return t}catch(e){return` -Error generating stack: `+e.message+` -`+e.stack}}var ye=Object.prototype.hasOwnProperty,be=t.unstable_scheduleCallback,xe=t.unstable_cancelCallback,Se=t.unstable_shouldYield,Ce=t.unstable_requestPaint,we=t.unstable_now,Te=t.unstable_getCurrentPriorityLevel,Ee=t.unstable_ImmediatePriority,De=t.unstable_UserBlockingPriority,Oe=t.unstable_NormalPriority,ke=t.unstable_LowPriority,Ae=t.unstable_IdlePriority,je=t.log,Ne=t.unstable_setDisableYieldValue,Pe=null,Fe=null;function z(e){if(typeof je==`function`&&Ne(e),Fe&&typeof Fe.setStrictMode==`function`)try{Fe.setStrictMode(Pe,e)}catch{}}var B=Math.clz32?Math.clz32:Re,Ie=Math.log,Le=Math.LN2;function Re(e){return e>>>=0,e===0?32:31-(Ie(e)/Le|0)|0}var ze=256,Be=262144,Ve=4194304;function He(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ue(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=He(n))):i=He(o):i=He(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=He(n))):i=He(o)):i=He(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function We(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ge(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ke(){var e=Ve;return Ve<<=1,!(Ve&62914560)&&(Ve=4194304),e}function qe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Je(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ye(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),sn=!1;if(on)try{var cn={};Object.defineProperty(cn,`passive`,{get:function(){sn=!0}}),window.addEventListener(`test`,cn,cn),window.removeEventListener(`test`,cn,cn)}catch{sn=!1}var ln=null,un=null,dn=null;function fn(){if(dn)return dn;var e,t=un,n=t.length,r,i=`value`in ln?ln.value:ln.textContent,a=i.length;for(e=0;e=Wn),qn=` `,Jn=!1;function Yn(e,t){switch(e){case`keyup`:return Hn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Xn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Zn=!1;function Qn(e,t){switch(e){case`compositionend`:return Xn(t);case`keypress`:return t.which===32?(Jn=!0,qn):null;case`textInput`:return e=t.data,e===qn&&Jn?null:e;default:return null}}function $n(e,t){if(Zn)return e===`compositionend`||!Un&&Yn(e,t)?(e=fn(),dn=un=ln=null,Zn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=xr(n)}}function Cr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Cr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Pt(e.document)}return t}function Tr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Er=on&&`documentMode`in document&&11>=document.documentMode,Dr=null,Or=null,kr=null,Ar=!1;function jr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ar||Dr==null||Dr!==Pt(r)||(r=Dr,`selectionStart`in r&&Tr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),kr&&br(kr,r)||(kr=r,r=Td(Or,`onSelect`),0>=o,i-=o,Ci=1<<32-B(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),H&&Ti(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),H&&Ti(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return H&&Ti(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),H&&Ti(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case g:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===D&&wa(l)===r.type){n(e,r.sibling),c=i(r,o.props),ja(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===v?(c=ui(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=li(o.type,o.key,o.props,null,e.mode,c),ja(c,o),c.return=e,e=c)}return s(e);case _:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=pi(o,e.mode,c),c.return=e,e=c}return s(e);case D:return o=wa(o),b(e,r,o,c)}if(te(o))return h(e,r,o,c);if(j(o)){if(l=j(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Aa(o),c);if(o.$$typeof===S)return b(e,r,$i(e,o),c);Ma(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=di(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ka=0;var i=b(e,t,n,r);return Oa=null,i}catch(t){if(t===va||t===ba)throw t;var a=ai(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Pa=Na(!0),Fa=Na(!1),Ia=!1;function La(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ra(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function za(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,X&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ni(e),ti(e,null,n),t}return Qr(e,r,t,n),ni(e)}function Va(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}function Ha(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ua=!1;function Wa(){if(Ua){var e=la;if(e!==null)throw e}}function Ga(e,t,n,r){Ua=!1;var i=e.updateQueue;Ia=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Q&f)===f:(r&f)===f){f!==0&&f===ca&&(Ua=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:Ia=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Ul|=o,e.lanes=o,e.memoizedState=d}}function W(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ka(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=N.T,s={};N.T=s,Os(e,!1,t,n);try{var c=i(),l=N.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ds(e,t,fa(c,r),du(e)):Ds(e,t,r,du(e))}catch(n){Ds(e,t,{then:function(){},status:`rejected`,reason:n},du())}finally{P.p=a,o!==null&&s.types!==null&&(o.types=s.types),N.T=o}}function _s(){}function vs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=ys(e).queue;gs(e,i,t,ne,n===null?_s:function(){return bs(e),n(r)})}function ys(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:q,lastRenderedState:ne},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:q,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function bs(e){var t=ys(e);t.next===null&&(t=e.alternate.memoizedState),Ds(e,t.next.queue,{},du())}function xs(){return Qi(Qf)}function Ss(){return Do().memoizedState}function Cs(){return Do().memoizedState}function ws(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=du();e=za(n);var r=Ba(t,e,n);r!==null&&(pu(r,t,n),Va(r,t,n)),t={cache:ia()},e.payload=t;return}t=t.return}}function Ts(e,t,n){var r=du();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},ks(e)?As(t,n):(n=$r(e,t,n,r),n!==null&&(pu(n,e,r),js(n,t,r)))}function Es(e,t,n){Ds(e,t,n,du())}function Ds(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(ks(e))As(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,yr(s,o))return Qr(e,t,i,0),Fl===null&&Zr(),!1}catch{}if(n=$r(e,t,i,r),n!==null)return pu(n,e,r),js(n,t,r),!0}return!1}function Os(e,t,n,r){if(r={lane:2,revertLane:ud(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},ks(e)){if(t)throw Error(a(479))}else t=$r(e,n,r,2),t!==null&&pu(t,e,2)}function ks(e){var t=e.alternate;return e===K||t!==null&&t===K}function As(e,t){uo=lo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function js(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}var Ms={readContext:Qi,use:Ao,useCallback:_o,useContext:_o,useEffect:_o,useImperativeHandle:_o,useLayoutEffect:_o,useInsertionEffect:_o,useMemo:_o,useReducer:_o,useRef:_o,useState:_o,useDebugValue:_o,useDeferredValue:_o,useTransition:_o,useSyncExternalStore:_o,useId:_o,useHostTransitionStatus:_o,useFormState:_o,useActionState:_o,useOptimistic:_o,useMemoCache:_o,useCacheRefresh:_o};Ms.useEffectEvent=_o;var Ns={readContext:Qi,use:Ao,useCallback:function(e,t){return Eo().memoizedState=[e,t===void 0?null:t],e},useContext:Qi,useEffect:rs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ts(4194308,4,ls.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ts(4194308,4,e,t)},useInsertionEffect:function(e,t){ts(4,2,e,t)},useMemo:function(e,t){var n=Eo();t=t===void 0?null:t;var r=e();if(fo){z(!0);try{e()}finally{z(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Eo();if(n!==void 0){var i=n(t);if(fo){z(!0);try{n(t)}finally{z(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ts.bind(null,K,e),[r.memoizedState,e]},useRef:function(e){var t=Eo();return e={current:e},t.memoizedState=e},useState:function(e){e=Bo(e);var t=e.queue,n=Es.bind(null,K,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ds,useDeferredValue:function(e,t){return ms(Eo(),e,t)},useTransition:function(){var e=Bo(!1);return e=gs.bind(null,K,e.queue,!0,!1),Eo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=K,i=Eo();if(H){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Fl===null)throw Error(a(349));Q&127||Fo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,rs(Lo.bind(null,r,o,e),[e]),r.flags|=2048,Y(9,{destroy:void 0},Io.bind(null,r,o,n,t),null),n},useId:function(){var e=Eo(),t=Fl.identifierPrefix;if(H){var n=wi,r=Ci;n=(r&~(1<<32-B(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=po++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[it]=t,o[at]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Dc(t)}}return Mc(t),Oc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Dc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=oe.current,Ri(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Ai,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[it]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Fi(t,!0)}else e=Bd(e).createTextNode(r),e[it]=t,t.stateNode=e}return Mc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ri(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[it]=t}else zi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Mc(t),e=!1}else n=Bi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(ro(t),t):(ro(t),null);if(t.flags&128)throw Error(a(558))}return Mc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ri(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[it]=t}else zi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Mc(t),i=!1}else i=Bi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(ro(t),t):(ro(t),null)}return ro(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ac(t,t.updateQueue),Mc(t),null);case 4:return le(),e===null&&xd(t.stateNode.containerInfo),Mc(t),null;case 10:return Ki(t.type),Mc(t),null;case 19:if(I(io),r=t.memoizedState,r===null)return Mc(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)jc(r,!1);else{if(Hl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ao(e),o!==null){for(t.flags|=128,jc(r,!1),e=o.updateQueue,t.updateQueue=e,Ac(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ci(n,e),n=n.sibling;return L(io,io.current&1|2),H&&Ti(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&we()>$l&&(t.flags|=128,i=!0,jc(r,!1),t.lanes=4194304)}else{if(!i)if(e=ao(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Ac(t,e),jc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!H)return Mc(t),null}else 2*we()-r.renderingStartTime>$l&&n!==536870912&&(t.flags|=128,i=!0,jc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Mc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=we(),e.sibling=null,n=io.current,L(io,i?n&1|2:n&1),H&&Ti(t,r.treeForkCount),e);case 22:case 23:return ro(t),Za(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Mc(t),t.subtreeFlags&6&&(t.flags|=8192)):Mc(t),n=t.updateQueue,n!==null&&Ac(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&I(ma),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ki(ra),Mc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Pc(e,t){switch(Oi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ki(ra),le(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return de(t),null;case 31:if(t.memoizedState!==null){if(ro(t),t.alternate===null)throw Error(a(340));zi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ro(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));zi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return I(io),null;case 4:return le(),null;case 10:return Ki(t.type),null;case 22:case 23:return ro(t),Za(),e!==null&&I(ma),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ki(ra),null;case 25:return null;default:return null}}function Fc(e,t){switch(Oi(t),t.tag){case 3:Ki(ra),le();break;case 26:case 27:case 5:de(t);break;case 4:le();break;case 31:t.memoizedState!==null&&ro(t);break;case 13:ro(t);break;case 19:I(io);break;case 10:Ki(t.type);break;case 22:case 23:ro(t),Za(),e!==null&&I(ma);break;case 24:Ki(ra)}}function Ic(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Uu(t,t.return,e)}}function Lc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Uu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Uu(t,t.return,e)}}function Rc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ka(t,n)}catch(t){Uu(e,e.return,t)}}}function zc(e,t,n){n.props=Bs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Uu(e,t,n)}}function Bc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Uu(e,t,n)}}function Vc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Uu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Uu(e,t,n)}else n.current=null}function Hc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Uu(e,e.return,t)}}function Uc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[at]=t}catch(t){Uu(e,e.return,t)}}function Wc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Gc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Wc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Kc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Xt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Kc(e,t,n),e=e.sibling;e!==null;)Kc(e,t,n),e=e.sibling}function qc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(qc(e,t,n),e=e.sibling;e!==null;)qc(e,t,n),e=e.sibling}function Jc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[it]=e,t[at]=n}catch(t){Uu(e,e.return,t)}}var Yc=!1,Xc=!1,Zc=!1,Qc=typeof WeakSet==`function`?WeakSet:Set,$c=null;function el(e,t){if(e=e.containerInfo,Rd=sp,e=wr(e),Tr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,$c=t;$c!==null;)if(t=$c,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,$c=e;else for(;$c!==null;){switch(t=$c,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[it]=e,_t(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Sr(s,h),v=Sr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,N.T=null,n=su,su=null;var o=ru,s=au;if(nu=0,iu=ru=null,au=0,X&6)throw Error(a(331));var c=X;if(X|=4,Al(o.current),Sl(o,o.current,s,n),X=c,rd(0,!1),Fe&&typeof Fe.onPostCommitFiberRoot==`function`)try{Fe.onPostCommitFiberRoot(Pe,o)}catch{}return!0}finally{P.p=i,N.T=r,zu(e,t)}}function Hu(e,t,n){t=hi(n,t),t=Ks(e.stateNode,t,2),e=Ba(e,t,2),e!==null&&(Je(e,2),nd(e))}function Uu(e,t,n){if(e.tag===3)Hu(e,e,n);else for(;t!==null;){if(t.tag===3){Hu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(tu===null||!tu.has(r))){e=hi(n,e),n=qs(2),r=Ba(t,n,2),r!==null&&(Js(n,r,t,e),Je(r,2),nd(r));break}}t=t.return}}function Wu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Pl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Bl=!0,i.add(n),e=Gu.bind(null,e,t,n),t.then(e,e))}function Gu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Fl===e&&(Q&n)===n&&(Hl===4||Hl===3&&(Q&62914560)===Q&&300>we()-Zl?!(X&2)&&bu(e,0):Gl|=n,ql===Q&&(ql=0)),nd(e)}function Ku(e,t){t===0&&(t=Ke()),e=ei(e,t),e!==null&&(Je(e,t),nd(e))}function qu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ku(e,n)}function Ju(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),Ku(e,n)}function Yu(e,t){return be(e,t)}var Xu=null,Zu=null,Qu=!1,$u=!1,ed=!1,td=0;function nd(e){e!==Zu&&e.next===null&&(Zu===null?Xu=Zu=e:Zu=Zu.next=e),$u=!0,Qu||(Qu=!0,ld())}function rd(e,t){if(!ed&&$u){ed=!0;do for(var n=!1,r=Xu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-B(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,cd(r,a))}else a=Q,a=Ue(r,r===Fl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||We(r,a)||(n=!0,cd(r,a));r=r.next}while(n);ed=!1}}function id(){ad()}function ad(){$u=Qu=!1;var e=0;td!==0&&Gd()&&(e=td);for(var t=we(),n=null,r=Xu;r!==null;){var i=r.next,a=od(r,t);a===0?(r.next=null,n===null?Xu=i:n.next=i,i===null&&(Zu=n)):(n=r,(e!==0||a&3)&&($u=!0)),r=i}nu!==0&&nu!==5||rd(e,!1),td!==0&&(td=0)}function od(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=It(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),_t(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+It(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+It(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+It(n.imageSizes)+`"]`)):i+=`[href="`+It(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),_t(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+It(r)+`"][href="`+It(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),_t(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=gt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);_t(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=gt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=m({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),_t(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=gt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),_t(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=oe.current)?gf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=gt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=gt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=gt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Af(e){return`href="`+It(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),_t(t),e.head.appendChild(t))}function Pf(e){return`[src="`+It(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+It(n.href)+`"]`);if(r)return t.instance=r,_t(r),r;var i=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),_t(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var o=e.querySelector(jf(i));if(o)return t.state.loading|=4,t.instance=o,_t(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),_t(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(i=e.querySelector(Ff(o)))?(t.instance=i,_t(i),i):(r=n,(i=mf.get(o))&&(r=m({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),_t(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,_t(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),_t(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Ne()})),Fe=e(Pe(),1),z=e(r(),1),B=n();function Ie(e,t,n){return r=>{if(!(t.length===0||t.some(t=>!x(r.getAll(t),e.getAll(t)))))return _("[nuqs `%s`] no change, returning previous",t.join(`,`),r),r;let i=Le(e,t,n);return _(`[nuqs \`%s\`] subbed search params change - from %O - to %O`,t.join(`,`),r,i),i}}function Le(e,t,n){if(t.length===0)return e;let r=n?new URLSearchParams(e):e;for(let n of e.keys())t.includes(n)||r.delete(n);return r}var Re=`__nuqs__`,ze=u();function Be(e){return function(t,n){let r=new URL(location.href);r.search=m(t),_(`[nuqs react] Updating url: %s`,r),e&&n.shallow===!1?(n.history===`push`?location.assign:location.replace).call(location,r):(n.history===`push`?history.pushState:history.replaceState).call(history,history.state,Re,r),ze.emit(`update`,t),n.scroll===!0&&window.scrollTo({top:0})}}var Ve=(0,z.createContext)({fullPageNavigationOnShallowFalseUpdates:!1});function He(e){let{fullPageNavigationOnShallowFalseUpdates:t}=(0,z.useContext)(Ve),[n,r]=(0,z.useState)(()=>typeof location>`u`?new URLSearchParams:Le(new URLSearchParams(location.search),e,!1));return(0,z.useEffect)(()=>{let t=()=>{r(Ie(new URLSearchParams(location.search),e,!1))},n=t=>{r(Ie(t,e,!0))};return ze.on(`update`,n),window.addEventListener(`popstate`,t),()=>{ze.off(`update`,n),window.removeEventListener(`popstate`,t)}},[e.join(`&`)]),{searchParams:n,updateUrl:(0,z.useMemo)(()=>Be(t),[t])}}var Ue=d(He);function We({children:e,fullPageNavigationOnShallowFalseUpdates:t=!1,...n}){return(0,z.createElement)(Ve.Provider,{value:{fullPageNavigationOnShallowFalseUpdates:t}},(0,z.createElement)(Ue,{...n,children:e}))}var Ge=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ke={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},qe=new class{#e=Ke;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function Je(e){setTimeout(e,0)}var Ye=typeof window>`u`||`Deno`in globalThis;function Xe(){}function Ze(e,t){return typeof e==`function`?e(t):e}function Qe(e){return typeof e==`number`&&e>=0&&e!==1/0}function $e(e,t){return Math.max(e+(t||0)-Date.now(),0)}function et(e,t){return typeof e==`function`?e(t):e}function tt(e,t){return typeof e==`function`?e(t):e}function nt(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==it(o,t.options))return!1}else if(!ot(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function rt(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(at(t.options.mutationKey)!==at(a))return!1}else if(!ot(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function it(e,t){return(t?.queryKeyHashFn||at)(e)}function at(e){return JSON.stringify(e,(e,t)=>dt(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ot(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>ot(e[n],t[n])):!1}var st=Object.prototype.hasOwnProperty;function ct(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=ut(e)&&ut(t);if(!r&&!(dt(e)&&dt(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{qe.setTimeout(t,e)})}function mt(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:ct(e,t)}function ht(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function gt(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var _t=Symbol();function vt(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===_t?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function yt(e,t){return typeof e==`function`?e(...t):!!e}function bt(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var xt=new class extends Ge{#e;#t;#n;constructor(){super(),this.#n=e=>{if(!Ye&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}};function St(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var Ct=Je;function wt(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Ct,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var Tt=wt(),Et=new class extends Ge{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(!Ye&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Dt(e){return Math.min(1e3*2**e,3e4)}function Ot(e){return(e??`online`)===`online`?Et.isOnline():!0}var kt=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function At(e){let t=!1,n=0,r,i=St(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new kt(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>xt.isFocused()&&(e.networkMode===`always`||Et.isOnline())&&e.canRun(),u=()=>Ot(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(Ye?0:3),o=e.retryDelay??Dt,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&nl()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var jt=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Qe(this.gcTime)&&(this.#e=qe.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ye?1/0:300*1e3))}clearGcTimeout(){this.#e&&=(qe.clearTimeout(this.#e),void 0)}},Mt=class extends jt{#e;#t;#n;#r;#i;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=Ft(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Ft(this.options);e.data!==void 0&&(this.setState(Pt(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#n.remove(this)}setData(e,t){let n=mt(this.state.data,e,this.options);return this.#s({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#s({type:`setState`,state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(Xe).catch(Xe):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>tt(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===_t||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>et(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!$e(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#i&&(this.#o?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#n.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#s({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#i?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{let e=vt(this.options,t),n=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#o=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#s({type:`fetch`,meta:a.fetchOptions?.meta}),this.#i=At({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof kt&&e.revert&&this.setState({...this.#t,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#s({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#s({type:`pause`})},onContinue:()=>{this.#s({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#n.config.onSuccess?.(e,this),this.#n.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof kt){if(e.silent)return this.#i.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#s({type:`error`,error:e}),this.#n.config.onError?.(e,this),this.#n.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#s(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Nt(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Pt(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}})(this.state),Tt.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#n.notify({query:this,type:`updated`,action:e})})}};function Nt(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ot(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Pt(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Ft(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}function It(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{bt(e,()=>t.signal,()=>n=!0)},u=vt(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?gt:ht;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?Rt:Lt,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Lt(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Lt(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Rt(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var zt=class extends jt{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Bt(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=At({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}})(this.state),Tt.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Bt(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Vt=class extends Ge{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new zt({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Ht(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Ht(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Ht(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Ht(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Tt.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>rt(t,e))}findAll(e={}){return this.getAll().filter(t=>rt(e,t))}notify(e){Tt.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Tt.batch(()=>Promise.all(e.map(e=>e.continue().catch(Xe))))}};function Ht(e){return e.options.scope?.id}var Ut=class extends Ge{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??it(r,t),a=this.get(i);return a||(a=new Mt({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Tt.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>nt(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>nt(e,t)):t}notify(e){Tt.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Tt.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Tt.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Wt=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Ut,this.#t=e.mutationCache||new Vt,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=xt.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Et.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(et(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=Ze(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Tt.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Tt.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Tt.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=Tt.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Xe).catch(Xe)}invalidateQueries(e,t={}){return Tt.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Tt.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Xe)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Xe)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(et(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Xe).catch(Xe)}fetchInfiniteQuery(e){return e.behavior=It(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Xe).catch(Xe)}ensureInfiniteQueryData(e){return e.behavior=It(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Et.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(at(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{ot(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(at(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{ot(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=it(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===_t&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},V=i(),Gt=z.createContext(void 0),Kt=e=>{let t=z.useContext(Gt);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},qt=({client:e,children:t})=>(z.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,V.jsx)(Gt.Provider,{value:e,children:t})),Jt=(0,z.createContext)({live:!1});function Yt(){return(0,z.useContext)(Jt)}function Xt(e){let t=(0,B.c)(5),{children:n}=e,[r]=p(`features`,l),i;t[0]===r?i=t[1]:(i=()=>({live:new Set((r??``).split(`,`).map(Zt).filter(Boolean)).has(`live`)}),t[0]=r,t[1]=i);let[a]=(0,z.useState)(i),o;return t[2]!==n||t[3]!==a?(o=(0,V.jsx)(Jt.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function Zt(e){return e.trim().toLowerCase()}function Qt(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M16 21L11.2381 12.2698L15 6L23 21H16ZM8 10L14 21H2L8 10ZM5.5 8C4.11929 8 3 6.88071 3 5.5C3 4.11929 4.11929 3 5.5 3C6.88071 3 8 4.11929 8 5.5C8 6.88071 6.88071 8 5.5 8Z`},child:[]}]})(e)}function $t(e){return S({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z`},child:[]}]})(e)}function en(e){return S({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`},child:[]}]})(e)}function tn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`},child:[]},{tag:`circle`,attr:{cx:`9`,cy:`7`,r:`4`},child:[]},{tag:`path`,attr:{d:`M22 21v-2a4 4 0 0 0-3-3.87`},child:[]},{tag:`path`,attr:{d:`M16 3.13a4 4 0 0 1 0 7.75`},child:[]}]})(e)}function nn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M3 9h18`},child:[]},{tag:`path`,attr:{d:`m15 14-3 3-3-3`},child:[]}]})(e)}function rn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M3 9h18`},child:[]},{tag:`path`,attr:{d:`m9 16 3-3 3 3`},child:[]}]})(e)}function an(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M9 3v18`},child:[]},{tag:`path`,attr:{d:`m14 9 3 3-3 3`},child:[]}]})(e)}function on(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M9 3v18`},child:[]},{tag:`path`,attr:{d:`m16 15-3-3 3-3`},child:[]}]})(e)}function sn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`},child:[]},{tag:`path`,attr:{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`},child:[]},{tag:`path`,attr:{d:`M12 11h4`},child:[]},{tag:`path`,attr:{d:`M12 16h4`},child:[]},{tag:`path`,attr:{d:`M8 11h.01`},child:[]},{tag:`path`,attr:{d:`M8 16h.01`},child:[]}]})(e)}function cn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M2 8V2h6`},child:[]},{tag:`path`,attr:{d:`m2 2 10 10`},child:[]},{tag:`path`,attr:{d:`M12 2A10 10 0 1 1 2 12`},child:[]}]})(e)}function ln(e){return S({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z`},child:[]}]})(e)}function un(e){return S({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z`},child:[]}]})(e)}function dn(e){return S({tag:`svg`,attr:{viewBox:`0 0 288 512`},child:[{tag:`path`,attr:{d:`M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z`},child:[]}]})(e)}var fn={Root:`_Root_skwdy_1 _IconButton_4wify_23 _LabelledButton_4wify_68`,ClipboardCheck:`_ClipboardCheck_skwdy_11`,showClipboardCheck:`_showClipboardCheck_skwdy_1`,MapPin:`_MapPin_skwdy_21`,ButtonLabel:`_ButtonLabel_skwdy_25 _ButtonLabel_4wify_241`};function pn({position:e,quaternion:t}){let n=e=>parseFloat(e.toFixed(3));return`#c${`${n(e.x)},${n(e.y)},${n(e.z)}`}~${`${n(t.x)},${n(t.y)},${n(t.z)},${n(t.w)}`}`}function mn(e){let t=(0,B.c)(12),{cameraRef:n,missionName:r,missionType:i,disabled:a}=e,{fogEnabled:o}=c(),[s,l]=(0,z.useState)(!1),u=(0,z.useRef)(null),d;t[0]!==n||t[1]!==o||t[2]!==r||t[3]!==i?(d=async()=>{u.current&&clearTimeout(u.current);let e=n.current;if(!e)return;let t=pn(e),a=new URLSearchParams;a.set(`mission`,`${r}~${i}`),a.set(`fog`,o.toString());let s=`${window.location.pathname}?${a}${t}`,c=`${window.location.origin}${s}`;window.history.replaceState(null,``,s);try{await navigator.clipboard.writeText(c),l(!0),u.current=setTimeout(()=>{l(!1)},1100)}catch(e){let t=e;console.error(t)}},t[0]=n,t[1]=o,t[2]=r,t[3]=i,t[4]=d):d=t[4];let f=d,p=s?`true`:`false`,m,h,g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,V.jsx)(dn,{className:fn.MapPin}),h=(0,V.jsx)(en,{className:fn.ClipboardCheck}),g=(0,V.jsx)(`span`,{className:fn.ButtonLabel,children:` Link to coordinates`}),t[5]=m,t[6]=h,t[7]=g):(m=t[5],h=t[6],g=t[7]);let _;return t[8]!==a||t[9]!==f||t[10]!==p?(_=(0,V.jsxs)(`button`,{type:`button`,className:fn.Root,"aria-label":`Link to coordinates`,title:`Copy the current coordinates to URL`,onClick:f,disabled:a,"data-copied":p,id:`copyCoordinatesButton`,children:[m,h,g]}),t[8]=a,t[9]=f,t[10]=p,t[11]=_):_=t[11],_}function hn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0V0z`},child:[]},{tag:`path`,attr:{d:`M21 3H3c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5a2 2 0 0 0-2-2zm0 14H3V5h18v12zm-5-6-7 4V7z`},child:[]}]})(e)}var gn=j(e=>({events:null,scanProgress:null,setEvents(t){e({events:t})},setScanProgress(t){e({scanProgress:t})},reset(){e({events:null,scanProgress:null})}}));function _n(e,t){return M(gn,e,t)}var vn=A(`relayClient`),yn=class{ws=null;handlers;url;_connected=!1;wsPingInterval=null;smoothedWsPing=0;constructor(e,t){this.url=e,this.handlers=t}get connected(){return this._connected}connect(){this.ws=new WebSocket(this.url),this.ws.binaryType=`arraybuffer`,this.ws.onopen=()=>{vn.info(`WebSocket connected to %s`,this.url),this._connected=!0,this.startWsPing(),this.handlers.onOpen?.()},this.ws.onmessage=e=>{if(e.data instanceof ArrayBuffer)this.handlers.onGamePacket?.(new Uint8Array(e.data));else try{let t=JSON.parse(e.data);this.handleMessage(t)}catch(e){vn.error(`Failed to parse relay message: %o`,e)}},this.ws.onclose=()=>{vn.info(`WebSocket disconnected`),this._connected=!1,this.stopWsPing(),this.handlers.onClose?.()},this.ws.onerror=()=>{vn.error(`WebSocket error`),this.handlers.onError?.(`WebSocket connection error`)}}handleMessage(e){switch(e.type){case`serverList`:this.handlers.onServerList?.(e.servers);break;case`status`:this.handlers.onStatus?.(e.status,e.message,e.connectSequence,e.mapName);break;case`ping`:this.handlers.onPing?.(e.ms);break;case`wsPong`:{let t=Date.now()-e.ts;this.smoothedWsPing=this.smoothedWsPing===0?t:this.smoothedWsPing*.5+t*.5,this.handlers.onWsPing?.(Math.round(this.smoothedWsPing));break}case`error`:this.handlers.onError?.(e.message);break}}listServers(){this.send({type:`listServers`})}sendWsPing(){this.send({type:`wsPing`,ts:Date.now()})}joinServer(e,t){vn.info(`Joining server: %s`,e),this.send({type:`joinServer`,address:e,warriorName:t})}sendAuthEvent(e,t){this.send({type:`sendCommand`,command:e,args:t})}sendCommand(e,t){this.send({type:`sendCommand`,command:e,args:t})}sendCRCResponse(e,t,n){this.send({type:`sendCRCResponse`,crcValue:e,field1:t,field2:n})}sendCRCCompute(e,t,n,r){this.send({type:`sendCRCCompute`,seed:e,field2:t,includeTextures:r,datablocks:n})}sendGhostAck(e,t){this.send({type:`sendGhostAck`,sequence:e,ghostCount:t})}sendMoves(e,t){this.send({type:`sendMoves`,moves:e,moveStartIndex:t})}close(){this.stopWsPing(),this.ws&&=(this.ws.close(),null),this._connected=!1}startWsPing(){this.smoothedWsPing=0,this.send({type:`wsPing`,ts:Date.now()}),this.wsPingInterval=setInterval(()=>{this.send({type:`wsPing`,ts:Date.now()})},7e3)}stopWsPing(){this.wsPingInterval!=null&&(clearInterval(this.wsPingInterval),this.wsPingInterval=null)}send(e){this.ws?.readyState===WebSocket.OPEN?this.ws.send(JSON.stringify(e)):vn.warn(`send dropped (ws not open): %s`,e.type)}},bn=A(`StreamEngine`),xn=class{registry;ghostTracker;entities=new Map;entityIdByGhostIndex=new Map;tickCount=0;camera=null;chatMessages=[];chatMessageIdCounter=0;_chatGen=0;_chatSnapshotGen=-1;_chatSnapshot=[];audioEvents=[];netStrings=new Map;targetNames=new Map;targetTeams=new Map;targetRenderFlags=new Map;pendingNameTags=new Map;sensorGroupColors=new Map;playerSensorGroup=0;lastStatus={health:1,energy:1};latestControl={ghostIndex:-1};controlPlayerGhostId;lastControlType=`camera`;isPiloting=!1;lastPilotGhostIndex;lastVehicleHeading=0;lastVehiclePitch=0;lastVehicleOrbitDir;lastVehicleVelocity;lastVehiclePosTime=0;lastVehiclePos;firstPerson=!0;lastCameraMode;lastOrbitGhostIndex;lastOrbitDistance;latestFov=90;weaponsHud={slots:new Map,activeIndex:-1};backpackHud={packIndex:-1,active:!1,text:``};inventoryHud={slots:new Map,activeSlot:-1};teamScores=[];playerRoster=new Map;clockAnchorStreamSec=null;clockDurationMs=0;missionDisplayName=null;missionTypeDisplayName=null;gameClassName=null;serverDisplayName=null;connectedPlayerName=null;connectedClientId=null;onMissionInfoChange;nextExplosionId=0;resolveGhostClassName(e,t){if(typeof t==`number`){let e=this.registry.getGhostParser(t)?.name;if(e)return e}let n=this.entityIdByGhostIndex.get(e);if(n){let e=this.entities.get(n);if(e?.className)return e.className}let r=this.ghostTracker.getGhost(e);if(r?.className)return r.className}resolveEntityIdForGhostIndex(e){let t=this.entityIdByGhostIndex.get(e);if(t)return t;let n=this.ghostTracker.getGhost(e);if(n)return N(n.className,e)}resetSharedState(){this.entities.clear(),this.entityIdByGhostIndex.clear(),this.tickCount=0,this.camera=null,this.chatMessages=[],this.chatMessageIdCounter=0,this._chatGen=0,this._chatSnapshotGen=-1,this._chatSnapshot=[],this.audioEvents=[],this.netStrings.clear(),this.targetNames.clear(),this.targetTeams.clear(),this.targetRenderFlags.clear(),this.sensorGroupColors.clear(),this.playerSensorGroup=0,this.lastStatus={health:1,energy:1},this.latestControl={ghostIndex:-1},this.controlPlayerGhostId=void 0,this.lastControlType=`camera`,this.isPiloting=!1,this.lastPilotGhostIndex=void 0,this.lastVehicleHeading=0,this.lastVehiclePitch=0,this.lastVehicleOrbitDir=void 0,this.lastVehicleVelocity=void 0,this.lastVehiclePosTime=0,this.lastVehiclePos=void 0,this.firstPerson=!0,this.lastCameraMode=void 0,this.lastOrbitGhostIndex=void 0,this.lastOrbitDistance=void 0,this.latestFov=90,this.weaponsHud={slots:new Map,activeIndex:-1},this.backpackHud={packIndex:-1,active:!1,text:``},this.inventoryHud={slots:new Map,activeSlot:-1},this.teamScores=[],this.playerRoster.clear(),this.clockAnchorStreamSec=null,this.clockDurationMs=0,this.nextExplosionId=0,this.missionDisplayName=null,this.missionTypeDisplayName=null,this.gameClassName=null,this.serverDisplayName=null}resolveNetString(e){if(e.length>=2&&e.charCodeAt(0)===1){let t=parseInt(e.slice(1),10);if(Number.isFinite(t))return this.netStrings.get(t)??e}return e}formatRemoteArgs(e,t){let n=this.resolveNetString(e);for(let e=0;e0&&(this.playerSensorGroup=t.sensorGroup)}if(t){let e=I(t);if(e&&(this.lastControlType=e),this.lastControlType===`player`)this.isPiloting=!!(t.pilot||t.controlObjectGhost!=null),this.isPiloting&&typeof t.controlObjectGhost==`number`?this.lastPilotGhostIndex=t.controlObjectGhost:this.isPiloting||(this.lastPilotGhostIndex=void 0,this.lastVehicleHeading=0,this.lastVehiclePitch=0,this.lastVehicleOrbitDir=void 0,this.lastVehicleVelocity=void 0,this.lastVehiclePosTime=0,this.lastVehiclePos=void 0);else if(this.isPiloting=!1,typeof t.cameraMode==`number`)if(this.lastCameraMode=t.cameraMode,t.cameraMode===3){typeof t.orbitObjectGhostIndex==`number`&&(this.lastOrbitGhostIndex=t.orbitObjectGhostIndex);let e=t.minOrbitDist,n=t.maxOrbitDist,r=t.curOrbitDist;typeof e==`number`&&typeof n==`number`&&Number.isFinite(e)&&Number.isFinite(n)?this.lastOrbitDistance=Math.max(0,n-e):typeof r==`number`&&Number.isFinite(r)&&(this.lastOrbitDistance=Math.max(0,r))}else this.lastOrbitGhostIndex=void 0,this.lastOrbitDistance=void 0}e.cameraFov!==void 0&&(this.latestFov=e.cameraFov)}processEvent(e,t){let n=e.parsedData;if(!n)return;let r=n.type;if(r===`GhostAlwaysObjectEvent`){let e=n.ghostIndex,t=n.classId,r=n.objectData,i=n._hasObjectData,a=typeof t==`number`?this.registry.getGhostParser(t)?.name??`classId=${t}`:`?`;bn.debug(`GhostAlwaysObjectEvent: ghost=%d class=%s hasData=%s %s`,e,a,i,r?`keys=[${Object.keys(r).join(`,`)}]`:`(no data)`),e!=null&&t!=null&&this.processGhostUpdate({index:e,type:`create`,classId:t,parsedData:r});return}if(r===`NetStringEvent`||t===`NetStringEvent`){let e=n.id,t=n.value;if(e!=null&&typeof t==`string`){this.netStrings.set(e,t);let n=this.pendingNameTags.get(e);if(n!=null){this.pendingNameTags.delete(e);let r=F(t).trim();this.targetNames.set(n,r);for(let e of this.entities.values())e.targetId===n&&(e.playerName=r)}}return}if(r===`TargetInfoEvent`||t===`TargetInfoEvent`){let e=n.targetId,t=n.nameTag;if(e!=null&&t!=null){let n=this.netStrings.get(t);n?this.targetNames.set(e,F(n).trim()):this.pendingNameTags.set(t,e)}let r=n.sensorGroup;e!=null&&r!=null&&this.targetTeams.set(e,r);let i=n.renderFlags;if(e!=null&&i!=null&&this.targetRenderFlags.set(e,i),e!=null){let t=this.targetNames.get(e),n=this.targetTeams.get(e),r=this.targetRenderFlags.get(e);for(let i of this.entities.values())i.targetId===e&&(t&&(i.playerName=t),n!=null&&(i.sensorGroup=n),r!=null&&(i.targetRenderFlags=r))}return}if(r===`SetSensorGroupEvent`||t===`SetSensorGroupEvent`){let e=n.sensorGroup;e!=null&&(this.playerSensorGroup=e);return}if(r===`SensorGroupColorEvent`||t===`SensorGroupColorEvent`){let e=n.sensorGroup,t=n.colors;if(t){let n=this.sensorGroupColors.get(e);n||(n=new Map,this.sensorGroupColors.set(e,n));for(let e of t)e.default?n.delete(e.index):n.set(e.index,{r:e.r??0,g:e.g??0,b:e.b??0})}return}if(r===`RemoteCommandEvent`||t===`RemoteCommandEvent`){let e=this.resolveNetString(n.funcName),t=n.args,r=this.getTimeSec();if(e===`ChatMessage`&&t.length>=4){let e=ce(this.resolveNetString(t[3])),n=t[4]?F(this.resolveNetString(t[4])):``,i=this.formatRemoteArgs(t[3],t.slice(4));if(i){let a=i.indexOf(`: `),{text:o,wavPath:s}=fe(a>=0?i.slice(a+2):i),c,l;if(s){let e=this.resolveNetString(t[1]);c=e?`voice/${e}/${s}.wav`:s;let n=this.resolveNetString(t[2]);if(n){let e=parseFloat(n);Number.isFinite(e)&&(l=Math.max(.5,Math.min(2,e)))}}let u=e??0;this.pushChatMessage({timeSec:r,sender:n,text:o,kind:`chat`,colorCode:u,segments:[{text:n?`${n}: ${o}`:o,colorCode:u}],soundPath:c,soundPitch:l})}}else if(e===`CannedChatMessage`&&t.length>=6){let e=ce(this.resolveNetString(t[1])),n=F(this.resolveNetString(t[2])),i=F(this.resolveNetString(t[4])),a=this.formatRemoteArgs(t[1],t.slice(2));if(a){let{wavPath:o}=fe(a),s=fe(F(this.resolveNetString(t[3]))).text,c,l;if(o){let e=this.resolveNetString(t[5]);if(c=e?`voice/${e}/${o}.wav`:o,t[6]){let e=parseFloat(this.resolveNetString(t[6]));Number.isFinite(e)&&(l=Math.max(.5,Math.min(2,e)))}}let u=e??0,d=[];i&&d.push({text:`[${i}] `,colorCode:0}),d.push({text:n?`${n}: ${s}`:s,colorCode:u}),this.pushChatMessage({timeSec:r,sender:n,text:s,kind:`chat`,colorCode:u,segments:d,soundPath:c,soundPitch:l})}}else if(e===`ServerMessage`&&t.length>=2){this.handleServerMessage(t);let e=ce(this.resolveNetString(t[1])),n=this.formatRemoteArgs(t[1],t.slice(2));if(n){let{text:t,wavPath:i}=fe(n),a=e??0;this.pushChatMessage({timeSec:r,sender:``,text:t,kind:`server`,colorCode:a,segments:[{text:t,colorCode:a}],soundPath:i??void 0})}}else this.handleHudRemoteCommand(e,t);return}if(r===`Sim3DAudioEvent`||r===`Sim2DAudioEvent`||t===`Sim3DAudioEvent`||t===`Sim2DAudioEvent`){let e=n.profileId;if(typeof e==`number`){let i=this.getTimeSec(),a=r===`Sim3DAudioEvent`||t===`Sim3DAudioEvent`?n.position:void 0;this.audioEvents.push({profileId:e,position:a,timeSec:i}),this.audioEvents.length>100&&this.audioEvents.splice(0,this.audioEvents.length-100)}}}processGhostUpdate(e){let t=e.index,n=this.entityIdByGhostIndex.get(t);if(n){let t=this.entities.get(n);t&&t.type===`Projectile`&&!t.hasExploded&&t.explosionDataBlockId!=null&&t.position&&(e.type===`delete`||e.type===`create`)&&this.spawnExplosion(t,[...t.position])}if(e.type===`delete`){n&&(this.removeSoundSlotEntities(n),this.entities.delete(n),this.entityIdByGhostIndex.delete(t));return}let r=this.resolveGhostClassName(t,e.classId);if(!r){if(e.type===`create`)throw Error(`No ghost parser for classId ${e.classId} (ghost index ${t})`);return}let i=N(r,t);n&&n!==i&&(this.removeSoundSlotEntities(n),this.entities.delete(n));let a,o=this.entities.get(i);if(o&&e.type===`create`?(this.removeSoundSlotEntities(i),o.spawnTick=this.tickCount,this.resetEntity(o),a=o):o?a=o:(a={id:i,ghostIndex:t,className:r,spawnTick:this.tickCount,type:ne(r),rotation:[0,0,0,1]},this.entities.set(i,a)),a.ghostIndex=t,a.className=r,a.type=ne(r),this.entityIdByGhostIndex.set(t,i),this.applyGhostData(a,e.parsedData),e.type===`create`&&e.parsedData){let n=Te(r,t,e.parsedData);n&&(a.sceneData=n)}}resetEntity(e){e.rotation=[0,0,0,1],e.hasExploded=void 0,e.explosionShape=void 0,e.explosionLifetimeTicks=void 0,e.faceViewer=void 0,e.simulatedVelocity=void 0,e.projectilePhysics=void 0,e.gravityMod=void 0,e.direction=void 0,e.velocity=void 0,e.position=void 0,e.dataBlock=void 0,e.dataBlockId=void 0,e.shapeHint=void 0,e.visual=void 0,e.targetId=void 0,e.targetRenderFlags=void 0,e.carryingFlag=void 0,e.sensorGroup=void 0,e.playerName=void 0,e.weaponShape=void 0,e.packShape=void 0,e.falling=void 0,e.jetting=void 0,e.weaponImageState=void 0,e.weaponImageStates=void 0,e.weaponImageStatesDbId=void 0,e.itemPhysics=void 0,e.threads=void 0,e.headPitch=void 0,e.headYaw=void 0,e.health=void 0,e.energy=void 0,e.maxEnergy=void 0,e.damageState=void 0,e.actionAnim=void 0,e.actionAtEnd=void 0,e.explosionDataBlockId=void 0,e.maintainEmitterId=void 0}applyGhostData(e,t){if(!t)return;let n=t,r=n.dataBlockId;if(r!=null){e.dataBlockId=r;let t=this.getDataBlockData(r),n=de(e.className,t);if(e.visual=oe(e.className,t)??se(e.className,t),typeof n==`string`&&(e.shapeHint=n,e.dataBlock=n),e.type===`Player`&&typeof t?.maxEnergy==`number`&&(e.maxEnergy=t.maxEnergy),e.type===`Projectile`&&(ie.has(e.className)?e.projectilePhysics=`linear`:ye.has(e.className)?(e.projectilePhysics=`ballistic`,e.gravityMod=he(t,[`gravityMod`])??1):P.has(e.className)&&(e.projectilePhysics=`seeker`)),e.type===`Projectile`&&e.explosionDataBlockId==null){let t=this.resolveExplosionInfo(r);t&&(e.explosionShape=t.shape,e.faceViewer=t.faceViewer,e.explosionLifetimeTicks=t.lifetimeTicks,e.explosionDataBlockId=t.explosionDataBlockId)}if(e.type===`Projectile`&&e.maintainEmitterId==null){let n=t?.baseEmitter;typeof n==`number`&&n>0&&(e.maintainEmitterId=n)}}if(e.type===`Player`){let t=n.images;if(Array.isArray(t)&&t.length>0){let n=t.find(e=>e.index===0);if(n?.dataBlockId&&n.dataBlockId>0){let t=this.getDataBlockData(n.dataBlockId),r=de(`ShapeBaseImageData`,t);if(r){let n=t?.mountPoint;(n==null||n<=0)&&!/pack_/i.test(r)&&(e.weaponShape=r)}let i=e.weaponImageState;e.weaponImageState={dataBlockId:n.dataBlockId,triggerDown:n.triggerDown??i?.triggerDown??!1,ammo:n.ammo??i?.ammo??!0,loaded:n.loaded??i?.loaded??!0,target:n.target??i?.target??!1,wet:n.wet??i?.wet??!1,fireCount:n.fireCount??i?.fireCount??0},t&&e.weaponImageStatesDbId!==n.dataBlockId&&(e.weaponImageStates=R(t),e.weaponImageStatesDbId=n.dataBlockId)}else n&&!n.dataBlockId&&(e.weaponShape=void 0,e.weaponImageState=void 0,e.weaponImageStates=void 0);let r=t.find(e=>e.index===2);if(r?.dataBlockId&&r.dataBlockId>0){let t=de(`ShapeBaseImageData`,this.getDataBlockData(r.dataBlockId));t&&(e.packShape=t)}else r&&!r.dataBlockId&&(e.packShape=void 0);let i=t.find(e=>e.index===3);if(i?.dataBlockId&&i.dataBlockId>0){e.carryingFlag=!0;let t=de(`ShapeBaseImageData`,this.getDataBlockData(i.dataBlockId));if(t&&(e.flagShape=t),e.targetId!=null&&e.targetId>=0){let t=this.targetRenderFlags.get(e.targetId)??0,n=t|2;n!==t&&(this.targetRenderFlags.set(e.targetId,n),e.targetRenderFlags=n)}}else if(i&&!i.dataBlockId&&(e.carryingFlag=!1,e.flagShape=void 0,e.targetId!=null&&e.targetId>=0)){let t=this.targetRenderFlags.get(e.targetId)??0,n=t&-3;n!==t&&(this.targetRenderFlags.set(e.targetId,n),e.targetRenderFlags=n)}}}let i=ue(n.position)?n.position:ue(n.initialPosition)?n.initialPosition:ue(n.explodePosition)?n.explodePosition:ue(n.endPoint)?n.endPoint:ue(n.transform?.position)?n.transform.position:void 0;i&&(e.position=[i.x,i.y,i.z],this.updateSoundSlotPositions(e));let a=_e(n.direction)?n.direction:void 0;if(a&&(e.direction=[a.x,a.y,a.z]),e.type===`Player`&&typeof n.rotationZ==`number`&&(e.rotation=pe(n.rotationZ)),e.type===`Player`&&(typeof n.headX==`number`&&(e.headPitch=n.headX),typeof n.headZ==`number`&&(e.headYaw=n.headZ)),ae(n.angPosition)){let t=L(n.angPosition);t&&(e.rotation=t)}else if(ae(n.transform?.rotation)){let t=L(n.transform.rotation);t&&(e.rotation=t)}else if(e.type===`Item`&&typeof n.rotation?.angle==`number`){let t=n.rotation;e.rotation=pe((t.zSign??1)*t.angle)}else if(e.type===`Projectile`){let t=n.velocity??n.direction??(ue(n.initialPosition)&&ue(n.endPos)?{x:n.endPos.x-n.initialPosition.x,y:n.endPos.y-n.initialPosition.y,z:n.endPos.z-n.initialPosition.z}:void 0);_e(t)&&(t.x!==0||t.y!==0)&&(e.rotation=pe(Math.atan2(t.x,t.y)))}if(_e(n.velocity)&&(e.velocity=[n.velocity.x,n.velocity.y,n.velocity.z],e.direction||=[n.velocity.x,n.velocity.y,n.velocity.z]),typeof n.moveFlag0==`boolean`&&(e.falling=n.moveFlag0),typeof n.moveFlag1==`boolean`&&(e.jetting=n.moveFlag1),e.type===`Item`){let t=n.atRest;t===!1&&_e(n.velocity)?e.itemPhysics={velocity:[n.velocity.x,n.velocity.y,n.velocity.z],atRest:!1}:t===!0&&(e.itemPhysics=void 0)}if(e.projectilePhysics){if(e.projectilePhysics===`linear`){let t=he(e.dataBlockId==null?void 0:this.getDataBlockData(e.dataBlockId),[`dryVelocity`,`muzzleVelocity`,`bulletVelocity`])??80,r=e.direction??[0,1,0],i=r[0]*t,a=r[1]*t,o=r[2]*t,s=n.excessVel,c=n.excessDir;typeof s==`number`&&s>0&&_e(c)&&(i+=c.x*s,a+=c.y*s,o+=c.z*s),e.simulatedVelocity=[i,a,o]}else _e(n.velocity)&&(e.simulatedVelocity=[n.velocity.x,n.velocity.y,n.velocity.z]);let t=n.currTick;if(typeof t==`number`&&t>0&&e.simulatedVelocity&&e.position){let n=32/1e3*t,r=e.simulatedVelocity;if(e.position[0]+=r[0]*n,e.position[1]+=r[1]*n,e.position[2]+=r[2]*n,e.projectilePhysics===`ballistic`){let t=-9.81*(e.gravityMod??1);e.position[2]+=.5*t*n*n,r[2]+=t*n}}}let o=ue(n.explodePosition)?n.explodePosition:ue(n.explodePoint)?n.explodePoint:void 0;if(e.type===`Projectile`&&!e.hasExploded&&o&&e.explosionDataBlockId!=null&&this.spawnExplosion(e,[o.x,o.y,o.z]),typeof n.damageLevel==`number`&&(e.health=me(1-n.damageLevel,0,1)),typeof n.damageState==`number`&&(e.damageState=n.damageState),typeof n.action==`number`&&(e.actionAnim=n.action,e.actionAtEnd=!!n.actionAtEnd),Array.isArray(n.threads)){let t=n.threads;if(e.threads){let n=[...e.threads];for(let e of t){let t=n.findIndex(t=>t.index===e.index);t>=0?n[t]=e:n.push(e)}e.threads=n}else e.threads=t}if(typeof n.energy==`number`&&(e.energy=me(n.energy,0,1)),typeof n.targetId==`number`){e.targetId=n.targetId;let t=this.targetNames.get(n.targetId);t&&(e.playerName=t);let r=this.targetTeams.get(n.targetId);r!=null&&(e.sensorGroup=r,e.ghostIndex===this.latestControl.ghostIndex&&this.lastControlType===`player`&&(this.playerSensorGroup=r));let i=this.targetRenderFlags.get(n.targetId);i!=null&&(e.targetRenderFlags=i)}let s=n.sounds;Array.isArray(s)&&this.syncSoundSlotEntities(e,s),e.className===`WayPoint`&&typeof n.name==`string`&&(e.label=n.name),e.className===`AudioEmitter`&&(typeof n.filename==`string`&&(e.audioFileName=n.filename),typeof n.volume==`number`&&(e.audioVolume=n.volume),typeof n.is3D==`boolean`&&(e.audioIs3D=n.is3D),typeof n.isLooping==`boolean`&&(e.audioIsLooping=n.isLooping),typeof n.minDistance==`number`&&(e.audioMinDistance=n.minDistance),typeof n.maxDistance==`number`&&(e.audioMaxDistance=n.maxDistance),typeof n.minLoopGap==`number`&&(e.audioMinLoopGap=n.minLoopGap),typeof n.maxLoopGap==`number`&&(e.audioMaxLoopGap=n.maxLoopGap))}syncSoundSlotEntities(e,t){for(let n of t){let t=`${e.id}:sound:${n.index}`;if(n.playing&&typeof n.profileId==`number`){let r=this.getDataBlockData(n.profileId),i=r?.filename;if(!i)continue;let a=i.endsWith(`.wav`)?i:`${i}.wav`,o=r.description,s=o==null?void 0:this.getDataBlockData(o),c=this.entities.get(t);c?c.position=e.position:this.entities.set(t,{id:t,ghostIndex:e.ghostIndex,className:`AudioEmitter`,type:`AudioEmitter`,spawnTick:this.tickCount,position:e.position,rotation:[0,0,0,1],audioFileName:a,audioVolume:s?.volume??1,audioIs3D:s?.is3D??!0,audioIsLooping:s?.isLooping??!1,audioMinDistance:s?.referenceDistance??20,audioMaxDistance:s?.maxDistance??100,audioMinLoopGap:s?.minLoopGap??0,audioMaxLoopGap:s?.maxLoopGap??0})}else this.entities.delete(t)}}updateSoundSlotPositions(e){for(let t=0;t<4;t++){let n=this.entities.get(`${e.id}:sound:${t}`);n&&(n.position=e.position)}}removeSoundSlotEntities(e){for(let t=0;t<4;t++)this.entities.delete(`${e}:sound:${t}`)}resolveExplosionInfo(e){let t=this.getDataBlockData(e);if(!t)return;let n=t.explosion;if(n==null)return;let r=this.getDataBlockData(n);if(!r)return;let i=r.dtsFileName||void 0,a=r.lifetimeMS??31;return{shape:i,faceViewer:r.faceViewer!==!1&&r.faceViewer!==0,lifetimeTicks:a,explosionDataBlockId:n}}spawnExplosion(e,t){e.hasExploded=!0;let n=e.explosionLifetimeTicks??31,r=`fx_${this.nextExplosionId++}`,i={id:r,ghostIndex:-1,className:`Explosion`,spawnTick:this.tickCount,type:`Explosion`,dataBlock:e.explosionShape,explosionDataBlockId:e.explosionDataBlockId,position:t,rotation:[0,0,0,1],isExplosion:!0,faceViewer:e.faceViewer!==!1,expiryTick:this.tickCount+n};if(this.entities.set(r,i),e.explosionDataBlockId!=null){let n=this.getDataBlockData(e.explosionDataBlockId)?.subExplosions;if(Array.isArray(n))for(let e of n){if(e==null)continue;let n=this.getDataBlockData(e);if(!n)continue;let r=n.dtsFileName||void 0,i=n.lifetimeMS??31,a=n.offset??0,o=Math.random()*Math.PI*2,s=[t[0]+Math.cos(o)*a,t[1]+Math.sin(o)*a,t[2]],c=`fx_${this.nextExplosionId++}`,l={id:c,ghostIndex:-1,className:`Explosion`,spawnTick:this.tickCount,type:`Explosion`,dataBlock:r,explosionDataBlockId:e,position:s,rotation:[0,0,0,1],isExplosion:!0,faceViewer:n.faceViewer!==!1&&n.faceViewer!==0,expiryTick:this.tickCount+i};this.entities.set(c,l)}}e.position=void 0,e.simulatedVelocity=void 0}advanceProjectiles(){let e=32/1e3;for(let t of this.entities.values()){if(!t.simulatedVelocity||!t.position)continue;let n=t.simulatedVelocity,r=t.position;t.projectilePhysics===`ballistic`&&(n[2]+=-9.81*(t.gravityMod??1)*e),r[0]+=n[0]*e,r[1]+=n[1]*e,r[2]+=n[2]*e,(n[0]!==0||n[1]!==0)&&(t.rotation=pe(Math.atan2(n[0],n[1])))}}advanceItems(){let e=32/1e3;for(let t of this.entities.values()){let n=t.itemPhysics;if(!n||n.atRest||!t.position)continue;let r=n.velocity,i=t.position;i[0]+=r[0]*e,i[1]+=r[1]*e,i[2]+=r[2]*e}}removeExpiredExplosions(){for(let[e,t]of this.entities)t.isExplosion&&t.expiryTick!=null&&this.tickCount>=t.expiryTick&&this.entities.delete(e)}updateCameraAndHud(){let e=this.latestControl,t=this.getTimeSec(),n=e.data,r=this.lastControlType;if(this.removeExpiredExplosions(),e.position){let{yaw:i,pitch:a}=this.getCameraYawPitch(n);if(this.isPiloting){if(n){let e=n.controlObjectData?.angPosition;if(e&&typeof e.w==`number`){this.lastVehicleHeading=ve(e),this.lastVehiclePitch=xe(e);let t=L(e);if(t){let[e,n,r,i]=t,a=1-2*(n*n+r*r),o=2*(e*n+r*i),s=2*(e*r-n*i);this.lastVehicleOrbitDir=[-a,-o,-s]}}}i=this.lastVehicleHeading,a=this.lastVehiclePitch}if(this.camera={time:t,position:[e.position.x,e.position.y,e.position.z],rotation:be(i,me(a,-ge,ge)),fov:this.latestFov,mode:`observer`,yaw:i,pitch:a},r===`camera`)if((typeof n?.cameraMode==`number`?n.cameraMode:this.lastCameraMode)===3){this.camera.mode=`third-person`,typeof this.lastOrbitDistance==`number`&&(this.camera.orbitDistance=this.lastOrbitDistance);let e=typeof n?.orbitObjectGhostIndex==`number`?n.orbitObjectGhostIndex:this.lastOrbitGhostIndex;typeof e==`number`&&e>=0&&(this.camera.orbitTargetId=this.resolveEntityIdForGhostIndex(e))}else this.camera.mode=`observer`;else e.ghostIndex>=0&&(this.controlPlayerGhostId=this.resolveEntityIdForGhostIndex(e.ghostIndex)),this.firstPerson?this.camera.mode=`first-person`:(this.camera.mode=`third-person`,this.isPiloting&&this.lastPilotGhostIndex!=null?(this.camera.orbitTargetId=this.resolveEntityIdForGhostIndex(this.lastPilotGhostIndex),this.camera.orbitDistance=15,this.lastVehicleOrbitDir&&(this.camera.orbitDirection=this.lastVehicleOrbitDir)):(this.camera.orbitTargetId=this.controlPlayerGhostId,this.camera.orbitDistance=3)),this.controlPlayerGhostId&&(this.camera.controlEntityId=this.controlPlayerGhostId);if(r===`player`&&e.position){if(this.isPiloting&&this.lastPilotGhostIndex!=null){let r=this.resolveEntityIdForGhostIndex(this.lastPilotGhostIndex),i=r?this.entities.get(r):void 0;if(i){let r=n?.controlObjectData;if(r){i.position=[e.position.x,e.position.y,e.position.z],this.lastVehiclePos=i.position.slice(),this.lastVehiclePosTime=t;let n=r.linMomentum;if(n&&ue(n)){let e=i.dataBlockId,t=(e==null?void 0:this.getDataBlockData(e))?.mass??200,r=t>0?1/t:1/200;this.lastVehicleVelocity=[n.x*r,n.y*r,n.z*r],i.velocity=this.lastVehicleVelocity}let a=r.angPosition;if(a&&typeof a.w==`number`){let e=L(a);e&&(i.rotation=e)}}else if(this.lastVehiclePos&&this.lastVehicleVelocity&&this.lastVehiclePosTime>0){let e=t-this.lastVehiclePosTime;if(e>0&&e<1){let[t,n,r]=this.lastVehicleVelocity;i.position=[this.lastVehiclePos[0]+t*e,this.lastVehiclePos[1]+n*e,this.lastVehiclePos[2]+r*e]}}}}else if(this.controlPlayerGhostId){let t=this.entities.get(this.controlPlayerGhostId);if(t){t.position=[e.position.x,e.position.y,e.position.z],t.rotation=pe(i),t.headPitch=this.getControlPlayerHeadPitch(a);let r=n?.velocity;_e(r)&&(t.velocity=[r.x,r.y,r.z],t.falling=r.z<-10)}}}}else this.camera&&={...this.camera,time:t,fov:this.latestFov};let i={health:1,energy:1};if(this.camera?.mode===`first-person`){let e=this.controlPlayerGhostId,t=e?this.entities.get(e):void 0;i.health=t?.health??1;let r=n?.energyLevel;if(typeof r==`number`){let e=t?.maxEnergy??60;e>0&&(i.energy=me(r/e,0,1))}else i.energy=t?.energy??1}else if(this.camera?.mode===`third-person`&&this.camera.orbitTargetId){let e=this.entities.get(this.camera.orbitTargetId);i.health=e?.health??1,i.energy=e?.energy??1}this.lastStatus=i}getControlPlayerHeadPitch(e){return me(e/ge,-1,1)}getAbsoluteRotation(e){return e?typeof e.rotationZ==`number`&&typeof e.headX==`number`?{yaw:e.rotationZ,pitch:e.headX}:typeof e.rotZ==`number`&&typeof e.rotX==`number`?{yaw:e.rotZ,pitch:e.rotX}:null:null}resolveIffColor(e){if(this.playerSensorGroup===0)return;let t=this.sensorGroupColors.get(this.playerSensorGroup);if(t){let n=t.get(e);if(n)return n}if(e===this.playerSensorGroup)return re;if(e!==0)return te}pushChatMessage(e){this.chatMessages.push({...e,id:++this.chatMessageIdCounter}),this.chatMessages.length>200&&this.chatMessages.splice(0,this.chatMessages.length-200),this._chatGen++}handleServerMessage(e){if(e.length<2)return;let t=this.resolveNetString(e[0]);if((t===`MsgTeamScoreIs`||t===`MsgTeamScore`)&&e.length>=4){let t=parseInt(this.resolveNetString(e[2]),10),n=parseInt(this.resolveNetString(e[3]),10);if(!isNaN(t)&&!isNaN(n)){let e=this.teamScores.find(e=>e.teamId===t);e&&(e.score=n,this.onTeamScoresChanged())}}else if(t===`MsgCTFAddTeam`&&e.length>=6){let t=parseInt(this.resolveNetString(e[2]),10),n=F(this.resolveNetString(e[3])),r=parseInt(this.resolveNetString(e[5]),10);if(!isNaN(t)&&t>0){let e=this.teamScores.find(e=>e.teamId===t);e?(e.name=n,e.score=isNaN(r)?e.score:r):this.teamScores.push({teamId:t,name:n,score:isNaN(r)?0:r,playerCount:0}),this.onTeamScoresChanged()}}else if(t===`MsgClientJoin`&&e.length>=4){let t=F(this.resolveNetString(e[2])).trim(),n=parseInt(this.resolveNetString(e[3]),10);isNaN(n)||(this.playerRoster.set(n,{name:t,teamId:0,score:0,ping:0,packetLoss:0}),this.onRosterChanged()),!this.connectedPlayerName&&t&&F(this.resolveNetString(e[1])).includes(`Welcome to Tribes`)&&(this.connectedPlayerName=t,this.connectedClientId=n,this.onMissionInfoChange?.())}else if(t===`MsgClientDrop`&&e.length>=4){let t=parseInt(this.resolveNetString(e[3]),10);isNaN(t)||(this.playerRoster.delete(t),this.onRosterChanged())}else if(t===`MsgClientJoinTeam`&&e.length>=6){let t=parseInt(this.resolveNetString(e[4]),10),n=parseInt(this.resolveNetString(e[5]),10);if(!isNaN(t)&&!isNaN(n)){let e=this.playerRoster.get(t);e?e.teamId=n:this.playerRoster.set(t,{name:``,teamId:n,score:0,ping:0,packetLoss:0}),this.onRosterChanged()}}else if(t===`MsgPlayerScore`&&e.length>=5){let t=parseInt(this.resolveNetString(e[2]),10);if(!isNaN(t)){let n=this.playerRoster.get(t);if(n){let t=parseInt(this.resolveNetString(e[3]),10),r=parseInt(this.resolveNetString(e[4]),10),i=parseInt(this.resolveNetString(e[5]??``),10);isNaN(t)||(n.score=t),isNaN(r)||(n.ping=r),isNaN(i)||(n.packetLoss=i),this.onRosterChanged()}}}else if(t===`MsgSystemClock`&&e.length>=4){let t=parseFloat(this.resolveNetString(e[3]));this.clockAnchorStreamSec=this.getTimeSec(),this.clockDurationMs=Number.isFinite(t)?t:0}else if(t===`MsgMissionDropInfo`&&e.length>=5){let t=F(this.resolveNetString(e[2])),n=F(this.resolveNetString(e[3])),r=F(this.resolveNetString(e[4]));bn.info(`mission drop info: mission=%s gameType=%s server=%s`,t,n,r),this.missionDisplayName=t||this.missionDisplayName,this.missionTypeDisplayName=n||this.missionTypeDisplayName,this.serverDisplayName=r||this.serverDisplayName,this.onMissionInfoChange?.()}else if(t===`MsgLoadInfo`&&e.length>=5){let t=F(this.resolveNetString(e[3])),n=F(this.resolveNetString(e[4]));bn.info(`load info: mission=%s gameType=%s`,t,n),this.missionDisplayName=t||this.missionDisplayName,this.missionTypeDisplayName=n||this.missionTypeDisplayName,this.onMissionInfoChange?.()}else if(t===`MsgClientReady`&&e.length>=3){let t=this.resolveNetString(e[2]);bn.info(`client ready: gameClass=%s`,t),this.gameClassName=t||this.gameClassName,this.onMissionInfoChange?.()}}onTeamScoresChanged(){}onRosterChanged(){}handleHudRemoteCommand(e,t){if(e===`setWeaponsHudItem`&&t.length>=3){let e=parseInt(t[0],10),n=parseInt(t[1],10),r=t[2]===`1`||t[2]===`true`;isNaN(e)||(r?this.weaponsHud.slots.set(e,isNaN(n)?-1:n):this.weaponsHud.slots.delete(e),this.onWeaponsHudChanged())}else if(e===`setWeaponsHudAmmo`&&t.length>=2){let e=parseInt(t[0],10),n=parseInt(t[1],10);isNaN(e)||(this.weaponsHud.slots.set(e,isNaN(n)?-1:n),this.onWeaponsHudChanged())}else if(e===`setWeaponsHudActive`&&t.length>=1){let e=parseInt(t[0],10);this.weaponsHud.activeIndex=isNaN(e)?-1:e,!isNaN(e)&&e>=0&&!this.weaponsHud.slots.has(e)&&this.weaponsHud.slots.set(e,-1),this.onWeaponsHudChanged()}else if(e===`setWeaponsHudClearAll`)this.weaponsHud.slots.clear(),this.weaponsHud.activeIndex=-1,this.onWeaponsHudChanged();else if(e===`setBackpackHudItem`&&t.length>=2){let e=parseInt(t[0],10);(t[1]===`1`||t[1]===`true`)&&!isNaN(e)?(this.backpackHud.packIndex=e,this.backpackHud.active=!1,this.backpackHud.text=``):(this.backpackHud.packIndex=-1,this.backpackHud.active=!1,this.backpackHud.text=``)}else if(e===`setSatchelArmed`)this.backpackHud.active=!0;else if(e===`setCloakIconOn`||e===`setRepairPackIconOn`||e===`setShieldIconOn`||e===`setSenJamIconOn`)this.backpackHud.active=!0;else if(e===`setCloakIconOff`||e===`setRepairPackIconOff`||e===`setShieldIconOff`||e===`setSenJamIconOff`)this.backpackHud.active=!1;else if(e===`updatePackText`&&t.length>=1)this.backpackHud.text=t[0]??``;else if(e===`setInventoryHudItem`&&t.length>=3){let e=parseInt(t[0],10),n=parseInt(t[1],10),r=t[2]===`1`||t[2]===`true`;isNaN(e)||(r&&!isNaN(n)?this.inventoryHud.slots.set(e,n):this.inventoryHud.slots.delete(e),this.onInventoryHudChanged())}else if(e===`setInventoryHudAmount`&&t.length>=2){let e=parseInt(t[0],10),n=parseInt(t[1],10);!isNaN(e)&&!isNaN(n)&&(this.inventoryHud.slots.set(e,n),this.onInventoryHudChanged())}else e===`setInventoryHudClearAll`&&(this.inventoryHud.slots.clear(),this.inventoryHud.activeSlot=-1,this.onInventoryHudChanged())}onWeaponsHudChanged(){}onInventoryHudChanged(){}buildEntityList(e){let t=[];for(let n of this.entities.values()){if(e&&!e(n))continue;let r=n.targetId!=null&&n.targetId>=0?this.targetRenderFlags.get(n.targetId)??n.targetRenderFlags:n.targetRenderFlags;n.type===`Player`&&!n.carryingFlag&&(r=r==null?r:r&-3),t.push({id:n.id,type:n.type,visual:n.visual,direction:n.direction,ghostIndex:n.ghostIndex,className:n.className,dataBlockId:n.dataBlockId,shapeHint:n.shapeHint,dataBlock:n.dataBlock,weaponShape:n.weaponShape,packShape:n.packShape,flagShape:n.flagShape,falling:n.falling,jetting:n.jetting,playerName:n.playerName,targetRenderFlags:r,iffColor:(n.type===`Player`||(r??0)&2)&&n.sensorGroup!=null?this.resolveIffColor(n.sensorGroup):void 0,position:n.position&&(n.simulatedVelocity||n.itemPhysics&&!n.itemPhysics.atRest)?[...n.position]:n.position,rotation:n.rotation,velocity:n.velocity,health:n.health,energy:n.energy,actionAnim:n.actionAnim,actionAtEnd:n.actionAtEnd,damageState:n.damageState,faceViewer:n.faceViewer,threads:n.threads,explosionDataBlockId:n.explosionDataBlockId,maintainEmitterId:n.maintainEmitterId,weaponImageState:n.weaponImageState,weaponImageStates:n.weaponImageStates,headPitch:n.headPitch,headYaw:n.headYaw,label:n.label,audioFileName:n.audioFileName,audioVolume:n.audioVolume,audioIs3D:n.audioIs3D,audioIsLooping:n.audioIsLooping,audioMinDistance:n.audioMinDistance,audioMaxDistance:n.audioMaxDistance,audioMinLoopGap:n.audioMinLoopGap,audioMaxLoopGap:n.audioMaxLoopGap,sceneData:n.sceneData})}return t}computeMatchClockMs(e){if(this.clockAnchorStreamSec==null)return null;let t=(e-this.clockAnchorStreamSec)*1e3;return-this.clockDurationMs+t}buildHudState(){let e={slots:Array.from(this.weaponsHud.slots.entries()).map(([e,t])=>({index:e,ammo:t})),activeIndex:this.weaponsHud.activeIndex},t={slots:Array.from(this.inventoryHud.slots.entries()).map(([e,t])=>({slot:e,count:t})),activeSlot:this.inventoryHud.activeSlot},n=this.backpackHud.packIndex>=0?{...this.backpackHud}:null,r=this.teamScores.map(e=>({...e})),i=new Map;for(let{teamId:e}of this.playerRoster.values())e>0&&i.set(e,(i.get(e)??0)+1);for(let e of r)e.playerCount=i.get(e.teamId)??0;let a=[];for(let[e,t]of this.playerRoster)a.push({clientId:e,...t});return{weaponsHud:e,inventoryHud:t,backpackHud:n,teamScores:r,playerRoster:a}}buildTimeFilteredEvents(e){return this._chatSnapshotGen!==this._chatGen&&(this._chatSnapshot=this.chatMessages.slice(),this._chatSnapshotGen=this._chatGen),{chatMessages:this._chatSnapshot,audioEvents:this.audioEvents.filter(t=>t.timeSec>e-.5&&t.timeSec<=e)}}},Sn=A(`liveStreaming`),Cn=class extends xn{packetParser;relay;currentTimeSec=0;connectSynced=!1;_snapshot=null;_snapshotTick=-1;_ready=!1;_teamScoresGen=0;_rosterGen=0;_weaponsHudGen=0;_inventoryHudGen=0;_cachedHud=null;dataBlockClassNames=new Map;onReady;onMissionChange;missionName=null;lastMoveAck=0;constructor(e){super(),this.relay=e;let{registry:t,ghostTracker:n,packetParser:r}=le();this.packetParser=r,this.ghostTracker=n,this.registry=t}getDataBlockData(e){return this.packetParser.getDataBlockDataMap()?.get(e)}_shapeConstructorCache=null;getShapeConstructorSequences(e){this._shapeConstructorCache=new Map;let t=this.packetParser.getDataBlockDataMap();if(t){for(let[,e]of t){let t=e.shape,n=e.sequences;t&&n&&this._shapeConstructorCache.set(t.toLowerCase(),n)}return this._shapeConstructorCache.get(e.toLowerCase())}}getTimeSec(){return this.currentTimeSec}getCameraYawPitch(e){return this.getAbsoluteRotation(e)??{yaw:0,pitch:0}}getEffectShapes(){let e=new Set,t=this.packetParser.getDataBlockDataMap();if(!t)return[];for(let[,n]of t){let r=n.explosion;if(r==null)continue;let i=t.get(r);i?.dtsFileName&&e.add(i.dtsFileName)}return[...e]}onTeamScoresChanged(){this._teamScoresGen++}onRosterChanged(){this._rosterGen++}onWeaponsHudChanged(){this._weaponsHudGen++}onInventoryHudChanged(){this._inventoryHudGen++}reset(){this.resetSharedState(),this.ghostTracker.clear?.(),this.currentTimeSec=0,this._snapshot=null,this._snapshotTick=-1,this._cachedHud=null,this.dataBlockClassNames.clear(),this.observerMode=`fly`,this.missionName=null}getSnapshot(){return this._snapshot&&this._snapshotTick===this.tickCount?this._snapshot:this.buildSnapshot()}stepToTime(e,t){return this.currentTimeSec=e,this.getSnapshot()}syncConnectSequence(e){if(this.connectSynced||e.length<1)return;this.connectSynced=!0;let t=e[0]>>1&1;this.packetParser.setConnectionProtocolState({lastSeqRecvdAtSend:Array(32).fill(0),lastSeqRecvd:0,highestAckedSeq:0,lastSendSeq:536870911,ackMask:0,connectSequence:t,lastRecvAckAck:0,connectionEstablished:!0})}feedPacket(e){this.syncConnectSequence(e),this.processPacket(e)}handleRelayCommands(e){if(e.type!==`RemoteCommandEvent`)return;let t=e.funcName;if(!t)return;let n=this.resolveNetString(t);if([`t2csri_pokeClient`,`t2csri_getChallengeChunk`,`t2csri_decryptChallenge`].includes(n)){let t=(e.args??[]).map(e=>this.resolveNetString(e)).filter(e=>e!==``);Sn.info(`auth event: %s %o`,n,t),this.relay.sendAuthEvent(n,t);return}let r=(e.args??[]).map(e=>this.resolveNetString(e));if(n===`MissionStartPhase1`){let e=r[0]??``,t=r[1]??null;Sn.info(`mission phase 1, seq=%s mission=%s resolvedArgs=%o`,e,t,r),t&&t!==this.missionName&&(this.missionName=t,this.entities.clear(),this.entityIdByGhostIndex.clear(),this._ready=!1,this._snapshot=null,this._snapshotTick=-1,this._cachedHud=null,this.observerMode=`fly`,this.lastMoveAck=0,this.missionDisplayName=null,this.missionTypeDisplayName=null,this.gameClassName=null,this.serverDisplayName=null,this.onMissionChange?.(t)),this.relay.sendCommand(`MissionStartPhase1Done`,[e])}else if(n===`MissionStartPhase2`){let e=r[0]??``;Sn.info(`mission phase 2 (datablocks), seq=%s`,e),this.relay.sendCommand(`MissionStartPhase2Done`,[e])}else if(n===`MissionStartPhase3`){let e=r[0]??``,t=r[1]??null;Sn.info(`mission phase 3 (ghosting), seq=%s mission=%s`,e,t),t&&(this.missionName=t),this.relay.sendCommand(`setClientFav`,[``]),this.relay.sendCommand(`MissionStartPhase3Done`,[e])}}handleCRCChallenge(e){if(e.type!==`CRCChallengeEvent`)return;let t=e.crcValue,n=e.field1,r=e.field2,i=(n&1)!=0;Sn.info(`CRC challenge: seed=0x%s f1=0x%s f2=0x%s includeTextures=%s`,(t>>>0).toString(16),(n>>>0).toString(16),(r>>>0).toString(16),i);let a=this.packetParser.getDataBlockDataMap(),o=[];if(a)for(let[e,t]of a){let n=this.dataBlockClassNames.get(e);if(!n)continue;let r=de(n,t);o.push({objectId:e,className:n,shapeName:r??``})}Sn.info(`CRC: sending %d datablocks for computation`,o.length),this.relay.sendCRCCompute(t,r,o,i)}handleGhostingMessage(e){if(e.type!==`GhostingMessageEvent`)return;let t=e.message,n=e.sequence,r=e.ghostCount;Sn.info(`GhostingMessageEvent: message=%d sequence=%d ghostCount=%d`,t,n,r),t===0&&(Sn.info(`Sending ghost ack (type 1) for sequence %d`,n),this.relay.sendGhostAck(n,r))}observerMode=`fly`;requestScores(){this.relay.sendCommand(`getScores`,[])}getPlayerList(){let e=[];for(let[t,n]of this.targetNames){let r=this.targetTeams.get(t)??0;e.push({targetId:t,name:n,sensorGroup:r})}return e}processPacket(e){try{let t=this.packetParser.protocolRejected,n=this.packetParser.protocolNoDispatch,r=this.packetParser.parsePacket(e),i=this.packetParser.protocolRejected>t,a=this.packetParser.protocolNoDispatch>n;(i||a)&&Sn.warn(`packet #%d %s: %d bytes (total rejected=%d, noDispatch=%d)`,this.tickCount,i?`REJECTED`:`no-dispatch`,e.length,this.packetParser.protocolRejected,this.packetParser.protocolNoDispatch);let o=this.tickCount<20,s=this.tickCount%100==0,c=o||s;c&&Sn.debug(`packet #%d: %d events, %d ghosts, %d bytes%s%s`,this.tickCount,r.events.length,r.ghosts.length,e.length,r.gameState.controlObjectGhostIndex===void 0?``:`, control=${r.gameState.controlObjectGhostIndex}`,r.gameState.cameraFov===void 0?``:`, fov=${r.gameState.cameraFov}`),this.lastMoveAck=r.gameState.lastMoveAck,this.processControlObject(r.gameState);for(let e of r.events)if(e.parsedData){this.handleRelayCommands(e.parsedData),this.handleCRCChallenge(e.parsedData),this.handleGhostingMessage(e.parsedData);let t=e.parsedData.type;if(t===`RemoteCommandEvent`){let t=this.resolveNetString(e.parsedData.funcName??``);Sn.debug(`remote: %s`,t)}if(o&&t!==`NetStringEvent`&&t!==`RemoteCommandEvent`&&Sn.debug(`event: %s%s`,t,t===`SimDataBlockEvent`?` id=${e.parsedData.objectId} class=${e.parsedData.dataBlockClassName}`:``),t===`SimDataBlockEvent`){let t=e.parsedData.objectId,n=e.parsedData.dataBlockClassName;if(t!=null&&n&&this.dataBlockClassNames.set(t,n),c){let r=e.parsedData.dataBlockData,i=de(n??``,r);Sn.debug(`datablock: id=%d class=%s%s`,t,n??`?`,i?` shape=${i}`:``)}}let n=this.registry.getEventParser(e.classId)?.name;if(this.processEvent(e,n),o&&t===`NetStringEvent`){let t=e.parsedData.id,n=e.parsedData.value;t!=null&&typeof n==`string`&&Sn.trace(`netString #%d = "%s"`,t,n.length>60?n.slice(0,60)+`…`:n)}if(t===`TargetInfoEvent`){let t=e.parsedData.targetId,n=e.parsedData.nameTag;if(t!=null&&n!=null){let r=this.netStrings.get(n);if(r){let n=F(r);Sn.info(`target #%d: "%s" team=%s`,t,n,e.parsedData.sensorGroup??`?`)}}}if(t===`SetSensorGroupEvent`){let t=e.parsedData.sensorGroup;t!=null&&Sn.info(`sensor group changed: → %d`,t)}if(t===`SensorGroupColorEvent`){let t=e.parsedData.sensorGroup,n=e.parsedData.colors;n&&Sn.debug(`sensor group colors: group=%d, %d entries`,t,n.length)}}for(let e of r.ghosts){if(e.type===`create`){let t=e.parsedData?.position,n=t&&typeof t.x==`number`&&typeof t.y==`number`&&typeof t.z==`number`,r=this.resolveGhostClassName(e.index,e.classId);Sn.debug(`ghost create: #%d %s%s (%d entities total)`,e.index,r??`?`,n?` at (${t.x.toFixed(1)}, ${t.y.toFixed(1)}, ${t.z.toFixed(1)})`:``,this.entities.size+1),this._ready||(this._ready=!0,this.onReady?.())}else if(e.type===`delete`){let t=this.entityIdByGhostIndex.get(e.index),n=t?this.entities.get(t):void 0;(this.tickCount<50||this.tickCount%200==0)&&Sn.debug(`ghost delete: #%d %s (%d entities remaining)`,e.index,n?.className??`?`,this.entities.size-1)}this.processGhostUpdate(e)}if(this.tickCount++,this.advanceProjectiles(),this.advanceItems(),s&&this.tickCount>1){let e=this.packetParser.getDataBlockDataMap();Sn.info(`status @ tick %d: %d entities, %d datablocks, rejected=%d, noDispatch=%d`,this.tickCount,this.entities.size,e?.size??0,this.packetParser.protocolRejected,this.packetParser.protocolNoDispatch)}let l=this.entities.size;if(this.tickCount===1||l>0&&l%25==0&&this.tickCount<100){let e=new Map;for(let t of this.entities.values())e.set(t.type,(e.get(t.type)??0)+1);let t=[...e.entries()].map(([e,t])=>`${e}=${t}`).join(` `);Sn.info(`entity count: %d (%s)`,l,t)}let u=this.camera?.mode;if(this.updateCameraAndHud(),this.camera&&this.camera.mode!==u&&Sn.info(`camera mode: %s → %s%s`,u??`none`,this.camera.mode,this.camera.mode===`third-person`?` orbit=${this.camera.orbitTargetId??`?`} dist=${this.camera.orbitDistance??`?`}`:``),this.tickCount<=5&&this.camera){let[e,t,n]=this.camera.position;Sn.debug(`camera: mode=%s pos=(%s, %s, %s) fov=%s`,this.camera.mode,e.toFixed(1),t.toFixed(1),n.toFixed(1),this.camera.fov)}}catch(t){let n={tickCount:this.tickCount,entityCount:this.entities.size,dataLength:e.length,controlGhost:this.latestControl.ghostIndex,connectSynced:this.connectSynced};Sn.error(`Failed to process live packet: %o %o`,t,n)}}buildSnapshot(){let e=this.buildEntityList(),t=this.currentTimeSec,{chatMessages:n,audioEvents:r}=this.buildTimeFilteredEvents(t),i=this._cachedHud,a,o,s,c,l;i&&i.weaponsHudGen===this._weaponsHudGen&&i.inventoryHudGen===this._inventoryHudGen&&i.teamScoresGen===this._teamScoresGen&&i.rosterGen===this._rosterGen&&i.backpackPackIndex===this.backpackHud.packIndex&&i.backpackActive===this.backpackHud.active?(a=i.weaponsHud,o=i.inventoryHud,s=i.backpackHud,c=i.teamScores,l=i.playerRoster):({weaponsHud:a,inventoryHud:o,backpackHud:s,teamScores:c,playerRoster:l}=this.buildHudState(),this._cachedHud={weaponsHudGen:this._weaponsHudGen,inventoryHudGen:this._inventoryHudGen,teamScoresGen:this._teamScoresGen,rosterGen:this._rosterGen,backpackPackIndex:this.backpackHud.packIndex,backpackActive:this.backpackHud.active,weaponsHud:a,inventoryHud:o,backpackHud:s,teamScores:c,playerRoster:l}),this.camera||={time:t,position:[0,0,200],rotation:[0,0,0,1],fov:90,mode:`observer`};let u={timeSec:t,exhausted:!1,camera:this.camera,entities:e,controlPlayerGhostId:this.controlPlayerGhostId,playerSensorGroup:this.playerSensorGroup,status:this.lastStatus,chatMessages:n,audioEvents:r,weaponsHud:a,backpackHud:s,inventoryHud:o,teamScores:c,playerRoster:l,connectedClientId:this.connectedClientId,matchClockMs:this.computeMatchClockMs(t)};return this._snapshot=u,this._snapshotTick=this.tickCount,u}},wn=j()(e=>({missionEntities:new Map,streamEntities:new Map,isStreaming:!1,dataSource:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:0,setEntity(t){e(e=>{let n=new Map(e.missionEntities);return n.set(t.id,t),{missionEntities:n,version:e.version+1}})},deleteEntity(t){e(e=>{if(!e.missionEntities.has(t))return e;let n=new Map(e.missionEntities);return n.delete(t),{missionEntities:n,version:e.version+1}})},setEntities(t){e(e=>{let n=new Map(e.missionEntities);for(let e of t)n.set(e.id,e);return{missionEntities:n,version:e.version+1}})},setAllEntities(t){e(e=>{let n=new Map;for(let e of t)n.set(e.id,e);return{missionEntities:n,dataSource:e.isStreaming?e.dataSource:`map`}})},clearEntities(){e(e=>e.missionEntities.size===0?e:e.isStreaming?{missionEntities:new Map,version:e.version+1}:{missionEntities:new Map,dataSource:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:e.version+1})},setMissionInfo(t){let n={};if(t.missionName!==void 0&&(n.missionName=t.missionName),t.missionType!==void 0&&(n.missionType=t.missionType),t.missionTypeDisplayName!==void 0&&(n.missionTypeDisplayName=t.missionTypeDisplayName),t.missionDisplayName!==void 0&&(n.missionDisplayName=t.missionDisplayName),t.gameClassName!==void 0&&(n.gameClassName=t.gameClassName,t.missionType===void 0))if(t.gameClassName){let e=t.gameClassName.replace(/Game$/i,``);n.missionType=Ee[e.toLowerCase()]??e}else n.missionType=null;t.serverDisplayName!==void 0&&(n.serverDisplayName=t.serverDisplayName),t.recorderName!==void 0&&(n.recorderName=t.recorderName),t.recordingDate!==void 0&&(n.recordingDate=t.recordingDate),e(e=>({...n,version:e.version+1}))},beginStreaming(t){e(e=>({isStreaming:!0,dataSource:t,streamEntities:new Map,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:e.version+1}))},endStreaming(){e(e=>e.isStreaming?{isStreaming:!1,dataSource:e.missionEntities.size>0?`map`:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,streamEntities:new Map,version:e.version+1}:e)},setStreamEntity(t){e(e=>{let n=new Map(e.streamEntities);return n.set(t.id,t),{streamEntities:n,version:e.version+1}})},deleteStreamEntity(t){e(e=>{if(!e.streamEntities.has(t))return e;let n=new Map(e.streamEntities);return n.delete(t),{streamEntities:n,version:e.version+1}})},setStreamEntities(t){e(e=>{let n=new Map(e.streamEntities);for(let e of t)n.set(e.id,e);return{streamEntities:n,version:e.version+1}})},setAllStreamEntities(t){e(e=>{let n=new Map;for(let e of t)n.set(e.id,e);let r=e.streamEntities;return n.size===r.size&&[...n.keys()].every(e=>r.has(e))?e:{streamEntities:n,version:e.version+1}})},clearStreamEntities(){e(e=>e.streamEntities.size===0?e:{streamEntities:new Map,version:e.version+1})}}));function Tn(e){return e.isStreaming?e.streamEntities:e.missionEntities}function En(e){return e.version}function Dn(){return M(wn,En),M(wn,Tn)}function On(){return Dn()}function kn(e){let t=e.isStreaming?e.streamEntities:e.missionEntities,n=[];for(let e of t.values())e.renderType!==`None`&&n.push(e);return n}function An(e,t){if(e.length!==t.length)return!1;for(let n=0;n({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,servers:[],serversLoading:!1,adapter:null,liveReady:!1,_relay:null,_adapter:null,_pending:[],_listInFlight:!1,connectRelay(n=$n){let r=t();r._relay&&r._relay.close();let i=new yn(n,{onOpen(){e({relayConnected:!0});let n=t();for(let e of n._pending)e();n._pending=[]},onStatus(t,n,r,i){Qn.info(`game status: %s%s%s`,t,n?` — ${n}`:``,i?` map=${i}`:``),e({gameStatus:t,gameStatusMessage:n,...i?{mapName:i}:{}})},onServerList(n){t()._listInFlight=!1,e({servers:n,serversLoading:!1})},onGamePacket(e){let n=t()._adapter;n||Qn.warn(`received game packet but no adapter is active`),n?.feedPacket(e)},onPing(t){e({relayToGameServerPing:t})},onWsPing(t){e({browserToRelayPing:t})},onError(n){Qn.error(`error: %s`,n),t()._listInFlight=!1,e({serversLoading:!1})},onClose(){let n=t();n._relay===i&&(n._relay=null,n._adapter=null,n._pending=[],n._listInFlight=!1,e({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,adapter:null,liveReady:!1}))}});i.connect(),t()._relay=i},disconnectRelay(){let n=t();n._relay?.close(),n._relay=null,n._adapter=null,n._pending=[],n._listInFlight=!1,e({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,adapter:null,liveReady:!1})},listServers(){let n=t();if(n._listInFlight)return;n._listInFlight=!0;let r=()=>{let e=t();e._relay?.sendWsPing(),e._relay?.listServers()};e({serversLoading:!0}),n._relay?.connected?r():(n._pending.push(r),n._relay||t().connectRelay())},joinServer(n,r){let i=t();if(!i._relay)return;let a=i.servers.find(e=>e.address===n),o=new Cn(i._relay);o.onReady=()=>e({liveReady:!0}),o.onMissionChange=t=>{Qn.info(`mission changed: %s`,t),e({mapName:t,liveReady:!1}),wn.getState().setMissionInfo({missionName:t,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null})},o.onMissionInfoChange=()=>{wn.getState().setMissionInfo({missionDisplayName:o.missionDisplayName??void 0,missionTypeDisplayName:o.missionTypeDisplayName??void 0,gameClassName:o.gameClassName??void 0,serverDisplayName:o.serverDisplayName??void 0,recorderName:o.connectedPlayerName??void 0})},i._adapter=o,e({mapName:a?.mapName??i.mapName,serverName:a?.name,warriorName:r,liveReady:!1,gameStatus:null,adapter:o}),wn.getState().setMissionInfo({missionName:a?.mapName??void 0,missionTypeDisplayName:a?.gameType??void 0,serverDisplayName:a?.name??void 0,recorderName:r??void 0}),i._relay.joinServer(n,r)},disconnectServer(){t().disconnectRelay()},sendMoves(e,n){t()._relay?.sendMoves(e,n)},sendCommand(e,...n){t()._relay?.sendCommand(e,n)}}));function tr(e,t){return M(er,e,t)}function nr(e){return e.relayToGameServerPing!=null&&e.browserToRelayPing!=null?e.relayToGameServerPing+e.browserToRelayPing:e.relayToGameServerPing??null}function rr(e){let t=(0,B.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,V.jsx)(V.Fragment,{children:n}),t[0]=n,t[1]=r),r}function ir(){return De(ar)}function ar(e){return e.playback.recording}function or(){return De(sr)}function sr(e){return e.playback.status===`playing`}function cr(){return De(lr)}function lr(e){return e.playback.timeMs/1e3}function ur(){return De(dr)}function dr(e){return e.playback.durationMs/1e3}function fr(){return De(pr)}function pr(e){return e.playback.rate}function mr(){let e=(0,B.c)(17),t=ir(),n=De(vr),r=De(_r),i=De(gr),a=De(hr),o;e[0]===n?o=e[1]:(o=e=>{n(e)},e[0]=n,e[1]=o);let s=o,c;e[2]!==t||e[3]!==r?(c=()=>{t&&r(`playing`)},e[2]=t,e[3]=r,e[4]=c):c=e[4];let l=c,u;e[5]===r?u=e[6]:(u=()=>{r(`paused`)},e[5]=r,e[6]=u);let d=u,f;e[7]===i?f=e[8]:(f=e=>{i(e*1e3)},e[7]=i,e[8]=f);let p=f,m;e[9]===a?m=e[10]:(m=e=>{a(e)},e[9]=a,e[10]=m);let h=m,g;return e[11]!==d||e[12]!==l||e[13]!==p||e[14]!==s||e[15]!==h?(g={setRecording:s,play:l,pause:d,seek:p,setSpeed:h},e[11]=d,e[12]=l,e[13]=p,e[14]=s,e[15]=h,e[16]=g):g=e[16],g}function hr(e){return e.setPlaybackRate}function gr(e){return e.setPlaybackTime}function _r(e){return e.setPlaybackStatus}function vr(e){return e.setRecording}var yr={Root:`_Root_bhobl_1 _IconButton_4wify_23 _LabelledButton_4wify_68`,ButtonLabel:`_ButtonLabel_bhobl_6 _ButtonLabel_4wify_241`,ButtonHint:`_ButtonHint_bhobl_10 _ButtonHint_4wify_245`,DemoIcon:`_DemoIcon_bhobl_14`},br=A(`LoadDemoButton`);function xr({isActive:e=!1,choosingMap:t=!1,onCancelChoosingMap:n}){let r=ir()?.source===`demo`,{setRecording:i}=mr(),a=(0,z.useRef)(null),o=(0,z.useRef)(0),s=(0,z.useRef)(null),c=(0,z.useCallback)(()=>{if(t&&r){n?.();return}if(r){o.current+=1,s.current?.abort(),s.current=null,i(null),gn.getState().reset();return}a.current?.click()},[r,t,n,i]);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`input`,{ref:a,type:`file`,accept:`.rec`,style:{display:`none`},onChange:(0,z.useCallback)(async e=>{let t=e.target.files?.[0];if(t){e.target.value=``;try{let e=await t.arrayBuffer(),n=o.current+1;o.current=n;let{createDemoStreamingRecording:r}=await Ae(async()=>{let{createDemoStreamingRecording:e}=await import(`./demoStreaming-CyI0Mhez.js`);return{createDemoStreamingRecording:e}},__vite__mapDeps([0,1,2,3,4,5])),a=await r(e);if(o.current!==n)return;er.getState().disconnectServer(),i(a),s.current?.abort();let c=new AbortController;s.current=c;let l=gn.getState();l.reset(),l.setScanProgress(0),Ae(async()=>{let{scanDemoTimeline:e}=await import(`./demoTimelineScanner-CRMdvfeq.js`);return{scanDemoTimeline:e}},__vite__mapDeps([6,1,2,3,4])).then(({scanDemoTimeline:t})=>t(e,a.recorderName,e=>{o.current===n&&gn.getState().setScanProgress(e)},c.signal)).then(e=>{if(o.current!==n)return;let t=gn.getState();t.setEvents(e),t.setScanProgress(null)}).catch(e=>{o.current===n&&(e instanceof Error&&e.name===`AbortError`||(br.error(`Timeline scan failed: %o`,e),gn.getState().setScanProgress(null)))})}catch(e){br.error(`Failed to load demo: %o`,e)}}},[i])}),(0,V.jsxs)(`button`,{type:`button`,className:yr.Root,"aria-label":r?`Unload demo`:`Load demo (.rec)`,title:r?`Unload demo`:`Load demo (.rec)`,onClick:c,"data-active":e,children:[(0,V.jsx)(hn,{className:yr.DemoIcon}),(0,V.jsx)(`span`,{className:yr.ButtonLabel,children:`Demo`}),(0,V.jsx)(`span`,{className:yr.ButtonHint,children:t&&r?`Return to demo`:r?`Click to unload`:`Load a .rec file`})]})]})}function Sr(e){return S({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z`},child:[]}]})(e)}function Cr(e){return S({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393`},child:[]}]})(e)}var wr={Root:`_Root_1qu11_1 _IconButton_4wify_23 _LabelledButton_4wify_68`,TextLabel:`_TextLabel_1qu11_6 _ButtonLabel_4wify_241`,PingLabel:`_PingLabel_1qu11_10 _ButtonLabel_4wify_241`,LiveIcon:`_LiveIcon_1qu11_15`,Pulsing:`_Pulsing_1qu11_18`,blink:`_blink_1qu11_1`,ButtonHint:`_ButtonHint_1qu11_30 _ButtonHint_4wify_245`};function Tr(e){let t=(0,B.c)(16),{isActive:n,onOpenServerBrowser:r}=e,i=tr(Dr),a=tr(Er),o=i===`connected`,s=i===`connecting`||i===`challenging`||i===`authenticating`,c=o?`Connected –\xA0click to disconnect`:`Join server`,l=o?`Connected –\xA0click to disconnect`:`Join server`,u;t[0]!==a||t[1]!==o||t[2]!==r?(u=()=>{o?a():r()},t[0]=a,t[1]=o,t[2]=r,t[3]=u):u=t[3];let d=`${wr.LiveIcon} ${o?wr.Pulsing:``}`,f;t[4]===d?f=t[5]:(f=(0,V.jsx)(Sr,{className:d}),t[4]=d,t[5]=f);let p;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,V.jsx)(`span`,{className:wr.TextLabel,children:`Live`}),t[6]=p):p=t[6];let m=s?`Connecting…`:o?`Connected`:`Join a game`,h;t[7]===m?h=t[8]:(h=(0,V.jsxs)(V.Fragment,{children:[p,(0,V.jsx)(`span`,{className:wr.ButtonHint,children:m})]}),t[7]=m,t[8]=h);let g;return t[9]!==n||t[10]!==c||t[11]!==l||t[12]!==u||t[13]!==f||t[14]!==h?(g=(0,V.jsxs)(`button`,{type:`button`,className:wr.Root,"aria-label":c,title:l,onClick:u,"data-active":n,children:[f,h]}),t[9]=n,t[10]=c,t[11]=l,t[12]=u,t[13]=f,t[14]=h,t[15]=g):g=t[15],g}function Er(e){return e.disconnectServer}function Dr(e){return e.gameStatus}function Or(e,t=[]){let n=[];function r(t,r){let i=z.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=z.useMemo(()=>o,Object.values(o));return(0,V.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=z.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>z.createContext(e));return function(n){let r=n?.[e]||t;return z.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,kr(i,...t)]}function kr(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return z.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function Ar(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function jr(...e){return t=>{let n=!1,r=e.map(e=>{let r=Ar(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{children:r,...i}=e,a=z.Children.toArray(r),o=a.find(Ir);if(o){let e=o.props.children,r=a.map(t=>t===o?z.Children.count(e)>1?z.Children.only(null):z.isValidElement(e)?e.props.children:null:t);return(0,V.jsx)(t,{...i,ref:n,children:z.isValidElement(e)?z.cloneElement(e,void 0,r):null})}return(0,V.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Pr(e){let t=z.forwardRef((e,t)=>{let{children:n,...r}=e;if(z.isValidElement(n)){let e=Rr(n),i=Lr(r,n.props);return n.type!==z.Fragment&&(i.ref=t?jr(t,e):e),z.cloneElement(n,i)}return z.Children.count(n)>1?z.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Fr=Symbol(`radix.slottable`);function Ir(e){return z.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Fr}function Lr(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Rr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function zr(e){let t=e+`CollectionProvider`,[n,r]=Or(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=z.useRef(null),a=z.useRef(new Map).current;return(0,V.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=Nr(s),l=z.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,V.jsx)(c,{ref:Mr(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=Nr(u),p=z.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=z.useRef(null),s=Mr(t,o),c=a(u,n);return z.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,V.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return z.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}typeof window<`u`&&window.document&&window.document.createElement;function Br(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var Vr=globalThis?.document?z.useLayoutEffect:()=>{},Hr=z.useInsertionEffect||Vr;function Ur({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=Wr({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=z.useRef(e!==void 0);z.useEffect(()=>{let e=t.current;if(e!==s){let t=e?`controlled`:`uncontrolled`,n=s?`controlled`:`uncontrolled`;console.warn(`${r} is changing from ${t} to ${n}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=s},[s,r])}return[c,z.useCallback(t=>{if(s){let n=Gr(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function Wr({defaultProp:e,onChange:t}){let[n,r]=z.useState(e),i=z.useRef(n),a=z.useRef(t);return Hr(()=>{a.current=t},[t]),z.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Gr(e){return typeof e==`function`}var Kr=e(Me(),1),qr=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Nr(`Primitive.${t}`),r=z.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,V.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Jr(e,t){return z.useReducer((e,n)=>t[e][n]??e,e)}var Yr=e=>{let{present:t,children:n}=e,r=Xr(t),i=typeof n==`function`?n({present:r.isPresent}):z.Children.only(n),a=Mr(r.ref,Qr(i));return typeof n==`function`||r.isPresent?z.cloneElement(i,{ref:a}):null};Yr.displayName=`Presence`;function Xr(e){let[t,n]=z.useState(),r=z.useRef(null),i=z.useRef(e),a=z.useRef(`none`),[o,s]=Jr(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return z.useEffect(()=>{let e=Zr(r.current);a.current=o===`mounted`?e:`none`},[o]),Vr(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=Zr(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),Vr(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=Zr(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=Zr(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:z.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function Zr(e){return e?.animationName||`none`}function Qr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var $r=z.useId||(()=>void 0),ei=0;function ti(e){let[t,n]=z.useState($r());return Vr(()=>{e||n(e=>e??String(ei++))},[e]),e||(t?`radix-${t}`:``)}var ni=`Collapsible`,[ri,ii]=Or(ni),[ai,oi]=ri(ni),si=z.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=Ur({prop:r,defaultProp:i??!1,onChange:o,caller:ni});return(0,V.jsx)(ai,{scope:n,disabled:a,contentId:ti(),open:c,onOpenToggle:z.useCallback(()=>l(e=>!e),[l]),children:(0,V.jsx)(qr.div,{"data-state":pi(c),"data-disabled":a?``:void 0,...s,ref:t})})});si.displayName=ni;var ci=`CollapsibleTrigger`,li=z.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=oi(ci,n);return(0,V.jsx)(qr.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":pi(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:Br(e.onClick,i.onOpenToggle)})});li.displayName=ci;var ui=`CollapsibleContent`,di=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=oi(ui,e.__scopeCollapsible);return(0,V.jsx)(Yr,{present:n||i.open,children:({present:e})=>(0,V.jsx)(fi,{...r,ref:t,present:e})})});di.displayName=ui;var fi=z.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=oi(ui,n),[s,c]=z.useState(r),l=z.useRef(null),u=Mr(t,l),d=z.useRef(0),f=d.current,p=z.useRef(0),m=p.current,h=o.open||s,g=z.useRef(h),_=z.useRef(void 0);return z.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),Vr(()=>{let e=l.current;if(e){_.current=_.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,g.current||(e.style.transitionDuration=_.current.transitionDuration,e.style.animationName=_.current.animationName),c(r)}},[o.open,r]),(0,V.jsx)(qr.div,{"data-state":pi(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!h,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&i})});function pi(e){return e?`open`:`closed`}var mi=si,hi=li,gi=di,_i=z.createContext(void 0);function vi(e){let t=z.useContext(_i);return e||t||`ltr`}var yi=`Accordion`,bi=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[xi,Si,Ci]=zr(yi),[wi,Ti]=Or(yi,[Ci,ii]),Ei=ii(),Di=z.forwardRef((e,t)=>{let{type:n,...r}=e,i=r,a=r;return(0,V.jsx)(xi.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,V.jsx)(Mi,{...a,ref:t}):(0,V.jsx)(H,{...i,ref:t})})});Di.displayName=yi;var[Oi,ki]=wi(yi),[Ai,ji]=wi(yi,{collapsible:!1}),H=z.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},collapsible:a=!1,...o}=e,[s,c]=Ur({prop:n,defaultProp:r??``,onChange:i,caller:yi});return(0,V.jsx)(Oi,{scope:e.__scopeAccordion,value:z.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:z.useCallback(()=>a&&c(``),[a,c]),children:(0,V.jsx)(Ai,{scope:e.__scopeAccordion,collapsible:a,children:(0,V.jsx)(Fi,{...o,ref:t})})})}),Mi=z.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=Ur({prop:n,defaultProp:r??[],onChange:i,caller:yi}),c=z.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=z.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,V.jsx)(Oi,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,V.jsx)(Ai,{scope:e.__scopeAccordion,collapsible:!0,children:(0,V.jsx)(Fi,{...a,ref:t})})})}),[Ni,Pi]=wi(yi),Fi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...o}=e,s=Mr(z.useRef(null),t),c=Si(n),l=vi(i)===`ltr`,u=Br(e.onKeyDown,e=>{if(!bi.includes(e.key))return;let t=e.target,n=c().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,u=()=>{o=r+1,o>s&&(o=0)},d=()=>{o=r-1,o<0&&(o=s)};switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(l?u():d());break;case`ArrowDown`:a===`vertical`&&u();break;case`ArrowLeft`:a===`horizontal`&&(l?d():u());break;case`ArrowUp`:a===`vertical`&&d();break}n[o%i].ref.current?.focus()});return(0,V.jsx)(Ni,{scope:n,disabled:r,direction:i,orientation:a,children:(0,V.jsx)(xi.Slot,{scope:n,children:(0,V.jsx)(qr.div,{...o,"data-orientation":a,ref:s,onKeyDown:r?void 0:u})})})}),Ii=`AccordionItem`,[Li,Ri]=wi(Ii),zi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,value:r,...i}=e,a=Pi(Ii,n),o=ki(Ii,n),s=Ei(n),c=ti(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,V.jsx)(Li,{scope:n,open:l,disabled:u,triggerId:c,children:(0,V.jsx)(mi,{"data-orientation":a.orientation,"data-state":Ki(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})});zi.displayName=Ii;var Bi=`AccordionHeader`,Vi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Pi(yi,n),a=Ri(Bi,n);return(0,V.jsx)(qr.h3,{"data-orientation":i.orientation,"data-state":Ki(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})});Vi.displayName=Bi;var Hi=`AccordionTrigger`,Ui=z.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Pi(yi,n),a=Ri(Hi,n),o=ji(Hi,n),s=Ei(n);return(0,V.jsx)(xi.ItemSlot,{scope:n,children:(0,V.jsx)(hi,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})});Ui.displayName=Hi;var Wi=`AccordionContent`,Gi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Pi(yi,n),a=Ri(Wi,n),o=Ei(n);return(0,V.jsx)(gi,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})});Gi.displayName=Wi;function Ki(e){return e?`open`:`closed`}var qi=Di,Ji=zi,Yi=Ui,Xi=Gi;function Zi(e){return S({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 16C141.31 16 48 109.31 48 224v154.83l82 32.81L146.88 496H192v-64h32v64h16v-64h32v64h16v-64h32v64h45.12L382 411.64l82-32.81V224c0-114.69-93.31-208-208-208zm-88 320a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm51.51 64L244 320h24l24.49 80zM344 336a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm104 32z`},child:[]}]})(e)}function Qi(e){return S({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`m190.06 414 163.12-139.78a24 24 0 0 0 0-36.44L190.06 98c-15.57-13.34-39.62-2.28-39.62 18.22v279.6c0 20.5 24.05 31.56 39.62 18.18z`},child:[]}]})(e)}var $i={AccordionGroup:`_AccordionGroup_1ysdj_1`,Trigger:`_Trigger_1ysdj_7`,TriggerIcon:`_TriggerIcon_1ysdj_24`,Content:`_Content_1ysdj_35`,slideDown:`_slideDown_1ysdj_1`,slideUp:`_slideUp_1ysdj_1`,Body:`_Body_1ysdj_47`,BodyNoPadding:`_BodyNoPadding_1ysdj_51`};function ea(e){let t=(0,B.c)(2),n;return t[0]===e?n=t[1]:(n=(0,V.jsx)(qi,{className:$i.AccordionGroup,...e}),t[0]=e,t[1]=n),n}function ta(e){let t=(0,B.c)(10),{value:n,label:r,children:i,noPadding:a}=e,o=a===void 0?!1:a,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,V.jsx)(Qi,{className:$i.TriggerIcon}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,V.jsxs)(Yi,{className:$i.Trigger,children:[s,` `,r]}),t[1]=r,t[2]=c);let l=o?$i.BodyNoPadding:$i.Body,u;t[3]!==i||t[4]!==l?(u=(0,V.jsx)(Xi,{className:$i.Content,children:(0,V.jsx)(`div`,{className:l,children:i})}),t[3]=i,t[4]=l,t[5]=u):u=t[5];let d;return t[6]!==c||t[7]!==u||t[8]!==n?(d=(0,V.jsxs)(Ji,{value:n,children:[c,u]}),t[6]=c,t[7]=u,t[8]=n,t[9]=d):d=t[9],d}var U={InspectorControls:`_InspectorControls_4wify_1`,Dropdown:`_Dropdown_4wify_8`,ButtonGroup:`_ButtonGroup_4wify_16`,IconButton:`_IconButton_4wify_23`,Group:`_Group_4wify_60`,LabelledButton:`_LabelledButton_4wify_68`,CheckboxField:`_CheckboxField_4wify_74`,Label:`_Label_4wify_68`,Description:`_Description_4wify_97`,Control:`_Control_4wify_110`,Field:`_Field_4wify_117`,Tools:`_Tools_4wify_141`,ButtonLabel:`_ButtonLabel_4wify_241`,ButtonHint:`_ButtonHint_4wify_245`,Toggle:`_Toggle_4wify_250 _IconButton_4wify_23`,MapInfoButton:`_MapInfoButton_4wify_255 _IconButton_4wify_23 _LabelledButton_4wify_68`,ForceRenderButton:`_ForceRenderButton_4wify_260`};function na(e){return S({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M239.22,59.44l-45.63,95.82a3.54,3.54,0,0,1-.16.34l-34.21,71.84a8,8,0,1,1-14.44-6.88L173.62,160H40a8,8,0,0,1-5.66-13.66L76.69,104,34.34,61.66A8,8,0,0,1,40,48H232a8,8,0,0,1,7.22,11.44Z`},child:[]}]})(e)}function ra(e){return S({tag:`svg`,attr:{viewBox:`0 0 1024 1024`},child:[{tag:`path`,attr:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z`},child:[]}]})(e)}var ia={Root:`_Root_ur1is_1`,ProgressWrap:`_ProgressWrap_ur1is_6`,ProgressLabel:`_ProgressLabel_ur1is_13`,ProgressBar:`_ProgressBar_ur1is_19`,ProgressFill:`_ProgressFill_ur1is_27`,Filters:`_Filters_ur1is_33`,FilterButton:`_FilterButton_ur1is_40`,EventList:`_EventList_ur1is_57`,EventRow:`_EventRow_ur1is_63`,EventTime:`_EventTime_ur1is_120`,EventIcon:`_EventIcon_ur1is_129`,EventDescription:`_EventDescription_ur1is_165`,Killer:`_Killer_ur1is_170`,Victim:`_Victim_ur1is_173`,DamageType:`_DamageType_ur1is_176`,Empty:`_Empty_ur1is_179`};function aa(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}var oa={kill:(0,V.jsx)(Zi,{}),"flag-cap":(0,V.jsx)(na,{}),"match-start":(0,V.jsx)(Cr,{}),"match-end":(0,V.jsx)(ra,{})},sa={chaingun:`chaingunned`};function ca(e){if(e.type===`kill`&&e.killer&&e.victim)return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:ia.Killer,title:e.killer,children:`You`}),` `,(0,V.jsx)(`span`,{className:ia.DamageType,children:e.weapon?sa[e.weapon]??`${e.weapon}${e.weapon.endsWith(`e`)?`d`:`ed`}`:`killed`}),` `,(0,V.jsx)(`span`,{className:ia.Victim,children:e.victim})]});if(e.type===`flag-cap`&&e.capturer){let t=e.teamAffinity===`friendly`?`the enemy flag`:e.teamAffinity===`enemy`?`your flag`:e.flagTeamName?`the ${e.flagTeamName} flag`:`a flag`;return(0,V.jsxs)(V.Fragment,{children:[e.capturer,` captured `,t]})}return e.type===`match-start`?`Match started`:e.type===`match-end`?`Match ended`:e.description}function la(){let e=(0,B.c)(37),t=_n(pa),n=_n(fa),{seek:r}=mr(),[i,a]=(0,z.useState)(`all`),o,s;if(e[0]!==t||e[1]!==i||e[2]!==n||e[3]!==r){s=Symbol.for(`react.early_return_sentinel`);bb0:{let c=t?.filter(e=>i===`all`||e.type===i)??[],l;e[6]===r?l=e[7]:(l=e=>{r(Math.max(0,e-3))},e[6]=r,e[7]=l);let u=l;if(n!=null&&t==null){let t;e[8]===n?t=e[9]:(t=Math.round(n*100),e[8]=n,e[9]=t);let r;e[10]===t?r=e[11]:(r=(0,V.jsxs)(`span`,{className:ia.ProgressLabel,children:[`Scanning… `,t,`%`]}),e[10]=t,e[11]=r);let i=`${n*100}%`,a;e[12]===i?a=e[13]:(a=(0,V.jsx)(`div`,{className:ia.ProgressBar,children:(0,V.jsx)(`div`,{className:ia.ProgressFill,style:{width:i}})}),e[12]=i,e[13]=a);let o;e[14]!==r||e[15]!==a?(o=(0,V.jsx)(`div`,{className:ia.Root,children:(0,V.jsxs)(`div`,{className:ia.ProgressWrap,children:[r,a]})}),e[14]=r,e[15]=a,e[16]=o):o=e[16],s=o;break bb0}if(!t){s=null;break bb0}let d;e[17]===t?d=e[18]:(d=t.filter(da),e[17]=t,e[18]=d);let f=d.length,p;e[19]===t?p=e[20]:(p=t.filter(ua),e[19]=t,e[20]=p);let m=p.length,h=i===`all`,g;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(`all`),e[21]=g):g=e[21];let _;e[22]!==t.length||e[23]!==h?(_=(0,V.jsxs)(`button`,{type:`button`,className:ia.FilterButton,"data-active":h,onClick:g,children:[`All (`,t.length,`)`]}),e[22]=t.length,e[23]=h,e[24]=_):_=e[24];let v=i===`kill`,y;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>a(`kill`),e[25]=y):y=e[25];let b;e[26]!==f||e[27]!==v?(b=(0,V.jsxs)(`button`,{type:`button`,className:ia.FilterButton,"data-active":v,onClick:y,children:[`Kills (`,f,`)`]}),e[26]=f,e[27]=v,e[28]=b):b=e[28];let x=i===`flag-cap`,S;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>a(`flag-cap`),e[29]=S):S=e[29];let C;e[30]!==m||e[31]!==x?(C=(0,V.jsxs)(`button`,{type:`button`,className:ia.FilterButton,"data-active":x,onClick:S,children:[`Flags (`,m,`)`]}),e[30]=m,e[31]=x,e[32]=C):C=e[32];let w;e[33]!==b||e[34]!==C||e[35]!==_?(w=(0,V.jsxs)(`div`,{className:ia.Filters,children:[_,b,C]}),e[33]=b,e[34]=C,e[35]=_,e[36]=w):w=e[36],o=(0,V.jsxs)(`div`,{className:ia.Root,children:[w,c.length===0?(0,V.jsx)(`div`,{className:ia.Empty,children:`No events found.`}):(0,V.jsx)(`div`,{className:ia.EventList,children:c.map((e,t)=>(0,V.jsxs)(`button`,{type:`button`,className:ia.EventRow,onClick:()=>u(e.timeSec),children:[(0,V.jsx)(`span`,{className:ia.EventTime,children:aa(e.timeSec)}),(0,V.jsx)(`span`,{className:ia.EventIcon,"data-type":e.type,"data-affinity":e.teamAffinity,children:oa[e.type]}),(0,V.jsx)(`span`,{className:ia.EventDescription,children:ca(e)})]},`${e.timeSec}-${e.type}-${t}`))})]})}e[0]=t,e[1]=i,e[2]=n,e[3]=r,e[4]=o,e[5]=s}else o=e[4],s=e[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function ua(e){return e.type===`flag-cap`}function da(e){return e.type===`kill`}function fa(e){return e.scanProgress}function pa(e){return e.events}function ma(e,t=null){return{targets:e,categoryName:t,currentIndex:0,phase:`traveling`,elapsed:0,phaseDuration:0,curve:null,startPos:null,startQuat:null,orbitCenter:null,orbitRadius:null,orbitStartAngle:0}}var ha=j(e=>({animation:null,flyTo(t){e({animation:ma([t])})},startTour(t,n){t.length!==0&&e({animation:ma(t,n)})},advanceTarget(){e(e=>e.animation?{animation:{...e.animation,currentIndex:e.animation.currentIndex+1,phase:`traveling`,elapsed:0,curve:null,startPos:null,startQuat:null,orbitCenter:null,orbitRadius:null,orbitStartAngle:0}}:e)},cancel(){e({animation:null})}}));function ga(e,t){return M(ha,e,t)}var _a=new Map([[`flag`,`Flags`],[`huntersflag1`,`Flags`],[`huntersflag2`,`Flags`],[`huntersflag4`,`Flags`],[`huntersflag8`,`Flags`],[`stationinventory`,`Inventory Stations`],[`stationammo`,`Inventory Stations`],[`mobileinvstation`,`Inventory Stations`],[`stationvehiclepad`,`Vehicle Pads`],[`stationvehicle`,`Vehicle Pads`],[`generatorlarge`,`Generators`],[`solarpanel`,`Generators`],[`sensorlargepulse`,`Sensors`],[`sensormediumpulse`,`Sensors`],[`turretbaselarge`,`Turrets`],[`sentryturret`,`Turrets`],[`repairpatch`,`Health`],[`repairkit`,`Health`],[`ammopack`,`Packs`],[`energypack`,`Packs`],[`shieldpack`,`Packs`],[`repairpack`,`Packs`],[`cloakingpack`,`Packs`],[`sensorjammerpack`,`Packs`],[`aabarrelpack`,`Packs`],[`elfbarrelpack`,`Packs`],[`missilebarrelpack`,`Packs`],[`mortarbarrelpack`,`Packs`],[`plasmabarrelpack`,`Packs`],[`inventorydeployable`,`Packs`],[`motionsensordeployable`,`Packs`],[`pulsesensordeployable`,`Packs`],[`turretoutdoordeployable`,`Packs`],[`turretindoordeployable`,`Packs`],[`satchelcharge`,`Weapons`],[`blaster`,`Weapons`],[`chaingun`,`Weapons`],[`disc`,`Weapons`],[`grenadelauncher`,`Weapons`],[`elfgun`,`Weapons`],[`missilelauncher`,`Weapons`],[`mortar`,`Weapons`],[`plasma`,`Weapons`],[`shocklance`,`Weapons`],[`sniperrifle`,`Weapons`],[`targetinglaser`,`Weapons`],[`chaingunammo`,`Ammo`],[`discammo`,`Ammo`],[`grenadelauncherammo`,`Ammo`],[`missilelauncherammo`,`Ammo`],[`mortarammo`,`Ammo`],[`plasmaammo`,`Ammo`],[`bombammo`,`Ammo`],[`assaultmortarammo`,`Ammo`],[`grenade`,`Ammo`],[`concussiongrenade`,`Ammo`],[`flashgrenade`,`Ammo`],[`flaregrenade`,`Ammo`],[`cameragrenade`,`Ammo`],[`mine`,`Ammo`],[`beacon`,`Ammo`],[`flipflop`,`Switches`],[`nexus`,`Nexus`],[`nexusbase`,`Nexus`],[`nexuscap`,`Nexus`]]),va=[`Flags`,`Inventory Stations`,`Generators`,`Vehicle Pads`,`Turrets`,`Sensors`,`Nexus`,`Switches`,`Packs`,`Health`,`Weapons`,`Ammo`];function ya(e){return e.renderType===`Shape`&&typeof e.dataBlock==`string`&&e.dataBlock!==``&&Array.isArray(e.position)}function ba(e,t){let n=new Map;for(let r of e.values()){if(!ya(r))continue;let e=_a.get(r.dataBlock.toLowerCase());if(!e)continue;let i=r.dataBlock;if(t&&r.runtimeObject){let e=O(r.runtimeObject,t);e&&(i=e)}let a=n.get(e);a||(a=[],n.set(e,a)),a.push({entityId:r.id,label:i,position:r.position,teamId:r.teamId})}let r=[];for(let e of va){let t=n.get(e);t&&t.length>0&&(t.sort((e,t)=>{let n=(e.teamId??0)-(t.teamId??0);return n===0?e.label.localeCompare(t.label):n}),r.push({name:e,targets:t}))}return r}var xa={Root:`_Root_1is6z_1`,Empty:`_Empty_1is6z_6`,CategoryHeader:`_CategoryHeader_1is6z_13`,CategoryCount:`_CategoryCount_1is6z_31`,TourButton:`_TourButton_1is6z_36`,PlayIcon:`_PlayIcon_1is6z_56`,ExitIcon:`_ExitIcon_1is6z_60`,ItemList:`_ItemList_1is6z_73`,ItemRow:`_ItemRow_1is6z_79`,ItemLabel:`_ItemLabel_1is6z_124`,TeamBadge:`_TeamBadge_1is6z_129`};function Sa(e){return S({tag:`svg`,attr:{viewBox:`0 0 20 20`,fill:`currentColor`,"aria-hidden":`true`},child:[{tag:`path`,attr:{fillRule:`evenodd`,d:`M3 4.25A2.25 2.25 0 0 1 5.25 2h5.5A2.25 2.25 0 0 1 13 4.25v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 0-.75-.75h-5.5a.75.75 0 0 0-.75.75v11.5c0 .414.336.75.75.75h5.5a.75.75 0 0 0 .75-.75v-2a.75.75 0 0 1 1.5 0v2A2.25 2.25 0 0 1 10.75 18h-5.5A2.25 2.25 0 0 1 3 15.75V4.25Z`,clipRule:`evenodd`},child:[]},{tag:`path`,attr:{fillRule:`evenodd`,d:`M19 10a.75.75 0 0 0-.75-.75H8.704l1.048-.943a.75.75 0 1 0-1.004-1.114l-2.5 2.25a.75.75 0 0 0 0 1.114l2.5 2.25a.75.75 0 1 0 1.004-1.114l-1.048-.943h9.546A.75.75 0 0 0 19 10Z`,clipRule:`evenodd`},child:[]}]})(e)}function Ca(e){return e.animation?{targets:e.animation.targets,categoryName:e.animation.categoryName,currentIndex:e.animation.currentIndex}:null}function wa(e,t){return e===t?!0:!e||!t?!1:e.categoryName===t.categoryName&&e.currentIndex===t.currentIndex&&e.targets===t.targets}function Ta(){let e=(0,B.c)(11),t=On(),n=De(Ea),r;e[0]!==n||e[1]!==t?(r=ba(t,n),e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a=ga(Ca,wa);if(i.length===0){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,V.jsx)(`div`,{className:xa.Root,children:(0,V.jsx)(`p`,{className:xa.Empty,children:`No map features found`})}),e[3]=t):t=e[3],t}let o;if(e[4]!==i||e[5]!==a){let t;e[7]===a?t=e[8]:(t=e=>(0,V.jsx)(Da,{category:e,tourState:a},e.name),e[7]=a,e[8]=t),o=i.map(t),e[4]=i,e[5]=a,e[6]=o}else o=e[6];let s;return e[9]===o?s=e[10]:(s=(0,V.jsx)(`div`,{className:xa.Root,children:o}),e[9]=o,e[10]=s),s}function Ea(e){return e.runtime.runtime?.state.datablocks}function Da(e){let t=(0,B.c)(30),{category:n,tourState:r}=e,i=r!==null&&r.categoryName===n.name,a;t[0]!==n.name||t[1]!==n.targets||t[2]!==i?(a=()=>{i?ha.getState().cancel():ha.getState().startTour(n.targets,n.name)},t[0]=n.name,t[1]=n.targets,t[2]=i,t[3]=a):a=t[3];let o=a,s;t[4]===n.name?s=t[5]:(s=(0,V.jsx)(`span`,{children:n.name}),t[4]=n.name,t[5]=s);let c;t[6]===n.targets.length?c=t[7]:(c=(0,V.jsxs)(`span`,{className:xa.CategoryCount,children:[`(`,n.targets.length,`)`]}),t[6]=n.targets.length,t[7]=c);let l;t[8]===i?l=t[9]:(l=i?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Sa,{className:xa.ExitIcon}),` Exit tour`]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Cr,{className:xa.PlayIcon}),` Tour all`]}),t[8]=i,t[9]=l);let u;t[10]!==o||t[11]!==i||t[12]!==l?(u=(0,V.jsx)(`button`,{type:`button`,className:xa.TourButton,"data-active":i,onClick:o,children:l}),t[10]=o,t[11]=i,t[12]=l,t[13]=u):u=t[13];let d;t[14]!==s||t[15]!==c||t[16]!==u?(d=(0,V.jsxs)(`div`,{className:xa.CategoryHeader,children:[s,c,u]}),t[14]=s,t[15]=c,t[16]=u,t[17]=d):d=t[17];let f;if(t[18]!==n.targets||t[19]!==i||t[20]!==r){let e;t[22]!==i||t[23]!==r?(e=(e,t)=>{let n=i&&r.currentIndex===t||r!==null&&r.targets.length===1&&r.targets[0].entityId===e.entityId;return(0,V.jsxs)(`button`,{type:`button`,className:xa.ItemRow,"data-active":n,onClick:()=>ha.getState().flyTo(e),children:[(0,V.jsx)(Cr,{className:xa.PlayIcon}),` `,(0,V.jsx)(`span`,{className:xa.ItemLabel,children:e.label}),e.teamId!=null&&e.teamId>0&&(0,V.jsx)(`span`,{className:xa.TeamBadge,"data-team":e.teamId,children:k[e.teamId]??`Team ${e.teamId}`})]},e.entityId)},t[22]=i,t[23]=r,t[24]=e):e=t[24],f=n.targets.map(e),t[18]=n.targets,t[19]=i,t[20]=r,t[21]=f}else f=t[21];let p;t[25]===f?p=t[26]:(p=(0,V.jsx)(`div`,{className:xa.ItemList,children:f}),t[25]=f,t[26]=p);let m;return t[27]!==d||t[28]!==p?(m=(0,V.jsxs)(V.Fragment,{children:[d,p]}),t[27]=d,t[28]=p,t[29]=m):m=t[29],m}var Oa=[`controls`,`preferences`,`audio`,`timeline`],ka=(0,z.memo)(function(e){let t=(0,B.c)(199),{missionName:n,missionType:r,onOpenMapInfo:i,onOpenScoreScreen:a,onOpenServerBrowser:o,onChooseMap:s,onCancelChoosingMap:l,choosingMap:u,cameraRef:d,invalidateRef:p}=e,m=g(),h=In(),_=ir(),y=Rn(),b=h===`demo`||h===`live`?y:n,x;t[0]===b?x=t[1]:(x=b?C(b):!1,t[0]=b,t[1]=x);let S=x,w=tr(Aa),{fogEnabled:T,setFogEnabled:E,fov:D,setFov:O,audioEnabled:k,setAudioEnabled:A,audioVolume:j,setAudioVolume:M,animationEnabled:ee,setAnimationEnabled:te,fpsLimit:N,setFpsLimit:P}=c(),{speedMultiplier:ne,setSpeedMultiplier:re,mouseSensitivity:ie,setMouseSensitivity:F,touchMode:I,setTouchMode:L,invertScroll:ae,setInvertScroll:R,invertDrag:oe,setInvertDrag:se,invertJoystick:ce,setInvertJoystick:le}=v(),{debugMode:ue,setDebugMode:de,renderOnDemand:fe,setRenderOnDemand:pe}=f(),[me,he]=(0,z.useState)(!1),ge=(0,z.useRef)(null),_e=(0,z.useRef)(null),ve=(0,z.useRef)(null),ye,be;t[2]===me?(ye=t[3],be=t[4]):(ye=()=>{me&&ge.current?.focus()},be=[me],t[2]=me,t[3]=ye,t[4]=be),(0,z.useEffect)(ye,be);let xe;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>{let t=e.relatedTarget;t&&ve.current?.contains(t)||he(!1)},t[5]=xe):xe=t[5];let Se=xe,Ce;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=e=>{e.key===`Escape`&&(he(!1),_e.current?.focus())},t[6]=Ce):Ce=t[6];let we=Ce,Te=h===`map`&&!_||u,Ee,De,Oe;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,V.jsx)(Qt,{}),De=(0,V.jsx)(`span`,{className:U.ButtonLabel,children:`Explore`}),Oe=(0,V.jsx)(`span`,{className:U.ButtonHint,children:`Browse maps`}),t[7]=Ee,t[8]=De,t[9]=Oe):(Ee=t[7],De=t[8],Oe=t[9]);let ke;t[10]!==s||t[11]!==Te?(ke=(0,V.jsxs)(`button`,{type:`button`,className:U.IconButton,"data-active":Te,onClick:s,children:[Ee,De,Oe]}),t[10]=s,t[11]=Te,t[12]=ke):ke=t[12];let Ae=!u&&_?.source===`demo`,je;t[13]!==u||t[14]!==l||t[15]!==Ae?(je=(0,V.jsx)(xr,{isActive:Ae,choosingMap:u,onCancelChoosingMap:l}),t[13]=u,t[14]=l,t[15]=Ae,t[16]=je):je=t[16];let Me;t[17]!==u||t[18]!==w||t[19]!==o?(Me=o&&(0,V.jsx)(Tr,{isActive:!u&&w,onOpenServerBrowser:o}),t[17]=u,t[18]=w,t[19]=o,t[20]=Me):Me=t[20];let Ne;t[21]!==ke||t[22]!==je||t[23]!==Me?(Ne=(0,V.jsxs)(`div`,{className:U.ButtonGroup,children:[ke,je,Me]}),t[21]=ke,t[22]=je,t[23]=Me,t[24]=Ne):Ne=t[24];let Pe=!S,Fe;t[25]!==d||t[26]!==n||t[27]!==r||t[28]!==Pe?(Fe=(0,V.jsx)(mn,{missionName:n,missionType:r,cameraRef:d,disabled:Pe}),t[25]=d,t[26]=n,t[27]=r,t[28]=Pe,t[29]=Fe):Fe=t[29];let Ie=!S,Le,Re;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,V.jsx)(sn,{}),Re=(0,V.jsx)(`span`,{className:U.ButtonLabel,children:`Show map info`}),t[30]=Le,t[31]=Re):(Le=t[30],Re=t[31]);let ze;t[32]!==i||t[33]!==Ie?(ze=(0,V.jsxs)(`button`,{type:`button`,className:U.MapInfoButton,"aria-label":`Show map info`,onClick:i,disabled:Ie,children:[Le,Re]}),t[32]=i,t[33]=Ie,t[34]=ze):ze=t[34];let Be;t[35]===a?Be=t[36]:(Be=a&&(0,V.jsxs)(`button`,{type:`button`,className:U.MapInfoButton,"aria-label":`Show scores`,onClick:a,children:[(0,V.jsx)(tn,{}),(0,V.jsx)(`span`,{className:U.ButtonLabel,children:`Show scores`})]}),t[35]=a,t[36]=Be);let Ve;t[37]!==Ne||t[38]!==Fe||t[39]!==ze||t[40]!==Be?(Ve=(0,V.jsxs)(`div`,{className:U.Tools,children:[Ne,Fe,ze,Be]}),t[37]=Ne,t[38]=Fe,t[39]=ze,t[40]=Be,t[41]=Ve):Ve=t[41];let He;t[42]===_?.source?He=t[43]:(He=_?.source===`demo`&&(0,V.jsx)(ta,{value:`timeline`,label:`Timeline`,noPadding:!0,children:(0,V.jsx)(la,{})}),t[42]=_?.source,t[43]=He);let Ue;t[44]!==h||t[45]!==_?(Ue=h===`map`&&!_&&(0,V.jsx)(ta,{value:`mapFeatures`,label:`Map Features`,noPadding:!0,children:(0,V.jsx)(Ta,{})}),t[44]=h,t[45]=_,t[46]=Ue):Ue=t[46];let We;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,V.jsx)(`label`,{htmlFor:`speedInput`,children:`Fly speed`}),t[47]=We):We=t[47];let Ge;t[48]===ne?Ge=t[49]:(Ge=Math.round(ne*100),t[48]=ne,t[49]=Ge);let Ke;t[50]===re?Ke=t[51]:(Ke=e=>re(parseFloat(e.target.value)/100),t[50]=re,t[51]=Ke);let qe;t[52]!==Ge||t[53]!==Ke?(qe=(0,V.jsx)(`div`,{className:U.Control,children:(0,V.jsx)(`input`,{id:`speedInput`,type:`range`,min:1,max:100,step:1,value:Ge,onChange:Ke})}),t[52]=Ge,t[53]=Ke,t[54]=qe):qe=t[54];let Je=m===!1?` Use your scroll wheel or trackpad to adjust while flying.`:``,Ye;t[55]===Je?Ye=t[56]:(Ye=(0,V.jsxs)(`p`,{className:U.Description,children:[`How fast you move in free-flying mode.`,Je]}),t[55]=Je,t[56]=Ye);let Xe;t[57]!==qe||t[58]!==Ye?(Xe=(0,V.jsxs)(`div`,{className:U.Field,children:[We,qe,Ye]}),t[57]=qe,t[58]=Ye,t[59]=Xe):Xe=t[59];let Ze;t[60]!==m||t[61]!==L||t[62]!==I?(Ze=m?(0,V.jsxs)(`div`,{className:U.Field,children:[(0,V.jsx)(`label`,{htmlFor:`touchModeInput`,children:`Joystick`}),` `,(0,V.jsx)(`div`,{className:U.Control,children:(0,V.jsxs)(`select`,{id:`touchModeInput`,value:I,onChange:e=>L(e.target.value),children:[(0,V.jsx)(`option`,{value:`dualStick`,children:`Dual stick`}),(0,V.jsx)(`option`,{value:`moveLookStick`,children:`Single stick`})]})}),(0,V.jsx)(`p`,{className:U.Description,children:`Single stick has a unified move + look control. Dual stick has independent move + look.`})]}):null,t[60]=m,t[61]=L,t[62]=I,t[63]=Ze):Ze=t[63];let Qe;t[64]!==ae||t[65]!==m||t[66]!==R?(Qe=m===!1?(0,V.jsxs)(`div`,{className:U.CheckboxField,children:[(0,V.jsx)(`input`,{id:`invertScroll`,type:`checkbox`,checked:ae,onChange:e=>{R(e.target.checked)}}),(0,V.jsx)(`label`,{className:U.Label,htmlFor:`invertScroll`,children:`Invert scroll direction`}),(0,V.jsx)(`p`,{className:U.Description,children:`Reverse which scroll direction increases and decreases fly speed.`})]}):null,t[64]=ae,t[65]=m,t[66]=R,t[67]=Qe):Qe=t[67];let $e;t[68]!==ce||t[69]!==m||t[70]!==le?($e=m?(0,V.jsxs)(`div`,{className:U.CheckboxField,children:[(0,V.jsx)(`input`,{id:`invertJoystick`,type:`checkbox`,checked:ce,onChange:e=>{le(e.target.checked)}}),(0,V.jsx)(`label`,{className:U.Label,htmlFor:`invertJoystick`,children:`Invert joystick direction`}),(0,V.jsx)(`p`,{className:U.Description,children:`Reverse joystick look direction.`})]}):null,t[68]=ce,t[69]=m,t[70]=le,t[71]=$e):$e=t[71];let et;t[72]===se?et=t[73]:(et=e=>{se(e.target.checked)},t[72]=se,t[73]=et);let tt;t[74]!==oe||t[75]!==et?(tt=(0,V.jsx)(`input`,{id:`invertDrag`,type:`checkbox`,checked:oe,onChange:et}),t[74]=oe,t[75]=et,t[76]=tt):tt=t[76];let nt,rt;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,V.jsx)(`label`,{className:U.Label,htmlFor:`invertDrag`,children:`Invert drag direction`}),rt=(0,V.jsx)(`p`,{className:U.Description,children:`Reverse how dragging the viewport aims the camera.`}),t[77]=nt,t[78]=rt):(nt=t[77],rt=t[78]);let it;t[79]===tt?it=t[80]:(it=(0,V.jsxs)(`div`,{className:U.CheckboxField,children:[tt,nt,rt]}),t[79]=tt,t[80]=it);let at;t[81]!==m||t[82]!==ie||t[83]!==F?(at=m===!1&&(0,V.jsxs)(`div`,{className:U.Field,children:[(0,V.jsx)(`label`,{htmlFor:`mouseSensitivityInput`,children:`Mouse sensitivity`}),(0,V.jsx)(`div`,{className:U.Control,children:(0,V.jsx)(`input`,{id:`mouseSensitivityInput`,type:`range`,min:1,max:256,step:2,value:Math.round(ie*16e3),onChange:e=>{F(parseInt(e.target.value)/16e3)}})})]}),t[81]=m,t[82]=ie,t[83]=F,t[84]=at):at=t[84];let ot;t[85]!==Xe||t[86]!==Ze||t[87]!==Qe||t[88]!==$e||t[89]!==it||t[90]!==at?(ot=(0,V.jsxs)(ta,{value:`controls`,label:`Controls`,children:[Xe,Ze,Qe,$e,it,at]}),t[85]=Xe,t[86]=Ze,t[87]=Qe,t[88]=$e,t[89]=it,t[90]=at,t[91]=ot):ot=t[91];let st;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(st=(0,V.jsx)(`label`,{htmlFor:`fovInput`,children:`FOV`}),t[92]=st):st=t[92];let ct;t[93]===D?ct=t[94]:(ct=(0,V.jsxs)(`output`,{htmlFor:`fovInput`,children:[D,`°`]}),t[93]=D,t[94]=ct);let lt;t[95]===O?lt=t[96]:(lt=e=>O(parseInt(e.target.value)),t[95]=O,t[96]=lt);let ut;t[97]!==D||t[98]!==lt?(ut=(0,V.jsx)(`input`,{id:`fovInput`,type:`range`,min:75,max:120,step:5,value:D,onChange:lt}),t[97]=D,t[98]=lt,t[99]=ut):ut=t[99];let dt;t[100]!==ct||t[101]!==ut?(dt=(0,V.jsx)(ta,{value:`preferences`,label:`Preferences`,children:(0,V.jsxs)(`div`,{className:U.Field,children:[st,(0,V.jsxs)(`div`,{className:U.Control,children:[ct,ut]})]})}),t[100]=ct,t[101]=ut,t[102]=dt):dt=t[102];let ft;t[103]===A?ft=t[104]:(ft=e=>{A(e.target.checked)},t[103]=A,t[104]=ft);let pt;t[105]!==k||t[106]!==ft?(pt=(0,V.jsx)(`input`,{id:`audioInput`,type:`checkbox`,checked:k,onChange:ft}),t[105]=k,t[106]=ft,t[107]=pt):pt=t[107];let mt;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(mt=(0,V.jsx)(`label`,{className:U.Label,htmlFor:`audioInput`,children:`Enable audio`}),t[108]=mt):mt=t[108];let ht;t[109]===pt?ht=t[110]:(ht=(0,V.jsxs)(`div`,{className:U.CheckboxField,children:[pt,mt]}),t[109]=pt,t[110]=ht);let gt;t[111]===Symbol.for(`react.memo_cache_sentinel`)?(gt=(0,V.jsx)(`label`,{htmlFor:`volumeInput`,children:`Master volume`}),t[111]=gt):gt=t[111];let _t;t[112]===j?_t=t[113]:(_t=Math.round(j*100),t[112]=j,t[113]=_t);let vt;t[114]===_t?vt=t[115]:(vt=(0,V.jsxs)(`output`,{htmlFor:`volumeInput`,children:[_t,`%`]}),t[114]=_t,t[115]=vt);let yt;t[116]===M?yt=t[117]:(yt=e=>M(parseFloat(e.target.value)),t[116]=M,t[117]=yt);let bt;t[118]!==j||t[119]!==yt?(bt=(0,V.jsx)(`input`,{id:`volumeInput`,type:`range`,min:0,max:1,step:.05,value:j,onChange:yt}),t[118]=j,t[119]=yt,t[120]=bt):bt=t[120];let xt;t[121]!==vt||t[122]!==bt?(xt=(0,V.jsxs)(`div`,{className:U.Field,children:[gt,(0,V.jsxs)(`div`,{className:U.Control,children:[vt,bt]})]}),t[121]=vt,t[122]=bt,t[123]=xt):xt=t[123];let St;t[124]!==ht||t[125]!==xt?(St=(0,V.jsxs)(ta,{value:`audio`,label:`Audio`,children:[ht,xt]}),t[124]=ht,t[125]=xt,t[126]=St):St=t[126];let Ct;t[127]===E?Ct=t[128]:(Ct=e=>{E(e.target.checked)},t[127]=E,t[128]=Ct);let wt;t[129]!==T||t[130]!==Ct?(wt=(0,V.jsx)(`input`,{id:`fogInput`,type:`checkbox`,checked:T,onChange:Ct}),t[129]=T,t[130]=Ct,t[131]=wt):wt=t[131];let Tt;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(Tt=(0,V.jsx)(`label`,{className:U.Label,htmlFor:`fogInput`,children:`Enable fog`}),t[132]=Tt):Tt=t[132];let Et;t[133]===wt?Et=t[134]:(Et=(0,V.jsxs)(`div`,{className:U.CheckboxField,children:[wt,Tt]}),t[133]=wt,t[134]=Et);let Dt;t[135]===te?Dt=t[136]:(Dt=e=>{te(e.target.checked)},t[135]=te,t[136]=Dt);let Ot;t[137]!==ee||t[138]!==Dt?(Ot=(0,V.jsx)(`input`,{id:`animationInput`,type:`checkbox`,checked:ee,onChange:Dt}),t[137]=ee,t[138]=Dt,t[139]=Ot):Ot=t[139];let kt;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(kt=(0,V.jsx)(`label`,{className:U.Label,htmlFor:`animationInput`,children:`Enable animations`}),t[140]=kt):kt=t[140];let At;t[141]===Ot?At=t[142]:(At=(0,V.jsxs)(`div`,{className:U.CheckboxField,children:[Ot,kt]}),t[141]=Ot,t[142]=At);let jt;t[143]===Symbol.for(`react.memo_cache_sentinel`)?(jt=(0,V.jsx)(`label`,{htmlFor:`fpsLimitInput`,children:`FPS limit`}),t[143]=jt):jt=t[143];let Mt=N??``,Nt;t[144]===P?Nt=t[145]:(Nt=e=>{let t=e.target.value;P(t===``?null:parseInt(t))},t[144]=P,t[145]=Nt);let Pt,Ft,It,Lt,Rt;t[146]===Symbol.for(`react.memo_cache_sentinel`)?(Pt=(0,V.jsx)(`option`,{value:`30`,children:`30`}),Ft=(0,V.jsx)(`option`,{value:`60`,children:`60`}),It=(0,V.jsx)(`option`,{value:`120`,children:`120`}),Lt=(0,V.jsx)(`option`,{value:`144`,children:`144`}),Rt=(0,V.jsx)(`option`,{value:``,children:`No limit`}),t[146]=Pt,t[147]=Ft,t[148]=It,t[149]=Lt,t[150]=Rt):(Pt=t[146],Ft=t[147],It=t[148],Lt=t[149],Rt=t[150]);let zt;t[151]!==Mt||t[152]!==Nt?(zt=(0,V.jsx)(`div`,{className:U.Control,children:(0,V.jsxs)(`select`,{id:`fpsLimitInput`,value:Mt,onChange:Nt,children:[Pt,Ft,It,Lt,Rt]})}),t[151]=Mt,t[152]=Nt,t[153]=zt):zt=t[153];let Bt;t[154]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=(0,V.jsx)(`p`,{className:U.Description,children:`Give your device a break by capping the framerate.`}),t[154]=Bt):Bt=t[154];let Vt;t[155]===zt?Vt=t[156]:(Vt=(0,V.jsxs)(`div`,{className:U.Field,children:[jt,zt,Bt]}),t[155]=zt,t[156]=Vt);let Ht;t[157]!==Et||t[158]!==At||t[159]!==Vt?(Ht=(0,V.jsxs)(ta,{value:`graphics`,label:`Graphics`,children:[Et,At,Vt]}),t[157]=Et,t[158]=At,t[159]=Vt,t[160]=Ht):Ht=t[160];let Ut;t[161]===de?Ut=t[162]:(Ut=e=>{de(e.target.checked)},t[161]=de,t[162]=Ut);let Wt;t[163]!==ue||t[164]!==Ut?(Wt=(0,V.jsx)(`input`,{id:`debugInput`,type:`checkbox`,checked:ue,onChange:Ut}),t[163]=ue,t[164]=Ut,t[165]=Wt):Wt=t[165];let Gt;t[166]===Symbol.for(`react.memo_cache_sentinel`)?(Gt=(0,V.jsx)(`label`,{className:U.Label,htmlFor:`debugInput`,children:`Render debug visuals`}),t[166]=Gt):Gt=t[166];let Kt;t[167]===Wt?Kt=t[168]:(Kt=(0,V.jsxs)(`div`,{className:U.CheckboxField,children:[Wt,Gt]}),t[167]=Wt,t[168]=Kt);let qt;t[169]===pe?qt=t[170]:(qt=e=>{pe(e.target.checked)},t[169]=pe,t[170]=qt);let Jt;t[171]!==fe||t[172]!==qt?(Jt=(0,V.jsx)(`input`,{id:`onDemandInput`,type:`checkbox`,checked:fe,onChange:qt}),t[171]=fe,t[172]=qt,t[173]=Jt):Jt=t[173];let Yt;t[174]===Symbol.for(`react.memo_cache_sentinel`)?(Yt=(0,V.jsx)(`label`,{htmlFor:`onDemandInput`,children:`Render on demand `}),t[174]=Yt):Yt=t[174];let Xt;t[175]===p?Xt=t[176]:(Xt=()=>p.current?.(),t[175]=p,t[176]=Xt);let Zt;t[177]===Symbol.for(`react.memo_cache_sentinel`)?(Zt=(0,V.jsx)($t,{}),t[177]=Zt):Zt=t[177];let en;t[178]===Xt?en=t[179]:(en=(0,V.jsxs)(`div`,{className:U.Label,children:[Yt,(0,V.jsx)(`button`,{type:`button`,className:U.ForceRenderButton,title:`Force render`,"aria-label":`Force render`,onClick:Xt,children:Zt})]}),t[178]=Xt,t[179]=en);let nn;t[180]===Symbol.for(`react.memo_cache_sentinel`)?(nn=(0,V.jsx)(`p`,{className:U.Description,children:`Significantly decreases CPU and GPU usage by only rendering frames when requested. Helpful when developing parts of the app unrelated to rendering.`}),t[180]=nn):nn=t[180];let rn;t[181]!==Jt||t[182]!==en?(rn=(0,V.jsxs)(`div`,{className:U.CheckboxField,children:[Jt,en,nn]}),t[181]=Jt,t[182]=en,t[183]=rn):rn=t[183];let an;t[184]!==Kt||t[185]!==rn?(an=(0,V.jsxs)(ta,{value:`debug`,label:`Debug`,children:[Kt,rn]}),t[184]=Kt,t[185]=rn,t[186]=an):an=t[186];let on;t[187]!==He||t[188]!==Ue||t[189]!==ot||t[190]!==dt||t[191]!==St||t[192]!==Ht||t[193]!==an?(on=(0,V.jsx)(`div`,{className:U.Accordions,children:(0,V.jsxs)(ea,{type:`multiple`,defaultValue:Oa,children:[He,Ue,ot,dt,St,Ht,an]})}),t[187]=He,t[188]=Ue,t[189]=ot,t[190]=dt,t[191]=St,t[192]=Ht,t[193]=an,t[194]=on):on=t[194];let cn;return t[195]!==me||t[196]!==Ve||t[197]!==on?(cn=(0,V.jsx)(`div`,{className:U.InspectorControls,children:(0,V.jsx)(`div`,{ref:ve,children:(0,V.jsxs)(`div`,{className:U.Dropdown,ref:ge,id:`settingsPanel`,tabIndex:-1,onKeyDown:we,onBlur:Se,"data-open":me,children:[Ve,on]})})}),t[195]=me,t[196]=Ve,t[197]=on,t[198]=cn):cn=t[198],cn});function Aa(e){return e.gameStatus===`connected`||e.gameStatus===`authenticating`}function ja(...e){}function Ma(e,t){return Na(e)?e(Pa(t)?t():t):e}function Na(e){return typeof e==`function`}function Pa(e){return typeof e==`function`}function Fa(e,t){return typeof Object.hasOwn==`function`?Object.hasOwn(e,t):Object.prototype.hasOwnProperty.call(e,t)}function Ia(...e){return(...t)=>{for(let n of e)typeof n==`function`&&n(...t)}}function La(e){return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}function Ra(e,t){let n={...e};for(let e of t)Fa(n,e)&&delete n[e];return n}function za(e,t){let n={};for(let r of t)Fa(e,r)&&(n[r]=e[r]);return n}function Ba(e){return e}function Va(e,t){if(!e)throw typeof t==`string`?Error(t):Error(`Invariant failed`)}function Ha(e){return Object.keys(e)}function Ua(e,...t){let n=typeof e==`function`?e(...t):e;return n==null?!1:!n}function Wa(e){return e.disabled||e[`aria-disabled`]===!0||e[`aria-disabled`]===`true`}function Ga(e){let t={};for(let n in e)e[n]!==void 0&&(t[n]=e[n]);return t}function W(...e){for(let t of e)if(t!==void 0)return t}function Ka(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function qa(e){return!e||!(0,z.isValidElement)(e)?!1:`ref`in e.props||`ref`in e}function Ja(e){return qa(e)?{...e.props}.ref||e.ref:null}function Ya(e,t){let n={...e};for(let r in t){if(!Fa(t,r))continue;if(r===`className`){let r=`className`;n[r]=e[r]?`${e[r]} ${t[r]}`:t[r];continue}if(r===`style`){let r=`style`;n[r]=e[r]?{...e[r],...t[r]}:t[r];continue}let i=t[r];if(typeof i==`function`&&r.startsWith(`on`)){let t=e[r];if(typeof t==`function`){n[r]=(...e)=>{i(...e),t(...e)};continue}}n[r]=i}return n}var Xa=Za();function Za(){return typeof window<`u`&&!!window.document?.createElement}function G(e){return e?`self`in e?e.document:e.ownerDocument||document:document}function Qa(e){return e?`self`in e?e.self:G(e).defaultView||window:self}function $a(e,t=!1){let{activeElement:n}=G(e);if(!n?.nodeName)return null;if(to(n)&&n.contentDocument?.body)return $a(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=G(n).getElementById(e);if(t)return t}}return n}function eo(e,t){return e===t||e.contains(t)}function to(e){return e.tagName===`IFRAME`}function no(e){let t=e.tagName.toLowerCase();return t===`button`?!0:t===`input`&&e.type?ro.indexOf(e.type)!==-1:!1}var ro=[`button`,`color`,`file`,`image`,`reset`,`submit`];function io(e){if(typeof e.checkVisibility==`function`)return e.checkVisibility();let t=e;return t.offsetWidth>0||t.offsetHeight>0||e.getClientRects().length>0}function ao(e){try{let t=e instanceof HTMLInputElement&&e.selectionStart!==null,n=e.tagName===`TEXTAREA`;return t||n||!1}catch{return!1}}function oo(e){return e.isContentEditable||ao(e)}function K(e){if(ao(e))return e.value;if(e.isContentEditable){let t=G(e).createRange();return t.selectNodeContents(e),t.toString()}return``}function so(e){let t=0,n=0;if(ao(e))t=e.selectionStart||0,n=e.selectionEnd||0;else if(e.isContentEditable){let r=G(e).getSelection();if(r?.rangeCount&&r.anchorNode&&eo(e,r.anchorNode)&&r.focusNode&&eo(e,r.focusNode)){let i=r.getRangeAt(0),a=i.cloneRange();a.selectNodeContents(e),a.setEnd(i.startContainer,i.startOffset),t=a.toString().length,a.setEnd(i.endContainer,i.endOffset),n=a.toString().length}}return{start:t,end:n}}function co(e,t){let n=[`dialog`,`menu`,`listbox`,`tree`,`grid`],r=e?.getAttribute(`role`);return r&&n.indexOf(r)!==-1?r:t}function lo(e){if(!e)return null;let t=e=>e===`auto`||e===`scroll`;if(e.clientHeight&&e.scrollHeight>e.clientHeight){let{overflowY:n}=getComputedStyle(e);if(t(n))return e}else if(e.clientWidth&&e.scrollWidth>e.clientWidth){let{overflowX:n}=getComputedStyle(e);if(t(n))return e}return lo(e.parentElement)||document.scrollingElement||document.body}function uo(e,...t){/text|search|password|tel|url/i.test(e.type)&&e.setSelectionRange(...t)}function fo(e,t){let n=e.map((e,t)=>[t,e]),r=!1;return n.sort(([e,n],[i,a])=>{let o=t(n),s=t(a);return o===s||!o||!s?0:po(o,s)?(e>i&&(r=!0),-1):(et):e}function po(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}function mo(){return Xa&&!!navigator.maxTouchPoints}function ho(){return Xa?/mac|iphone|ipad|ipod/i.test(navigator.platform):!1}function go(){return Xa&&ho()&&/apple/i.test(navigator.vendor)}function _o(){return Xa&&/firefox\//i.test(navigator.userAgent)}function vo(){return Xa&&navigator.platform.startsWith(`Mac`)&&!mo()}function yo(e){return!!(e.currentTarget&&!eo(e.currentTarget,e.target))}function bo(e){return e.target===e.currentTarget}function xo(e){let t=e.currentTarget;if(!t)return!1;let n=ho();if(n&&!e.metaKey||!n&&!e.ctrlKey)return!1;let r=t.tagName.toLowerCase();return r===`a`||r===`button`&&t.type===`submit`||r===`input`&&t.type===`submit`}function So(e){let t=e.currentTarget;if(!t)return!1;let n=t.tagName.toLowerCase();return e.altKey?n===`a`||n===`button`&&t.type===`submit`||n===`input`&&t.type===`submit`:!1}function Co(e,t){let n=new FocusEvent(`blur`,t),r=e.dispatchEvent(n),i={...t,bubbles:!0};return e.dispatchEvent(new FocusEvent(`focusout`,i)),r}function wo(e,t,n){let r=new KeyboardEvent(t,n);return e.dispatchEvent(r)}function To(e,t){let n=new MouseEvent(`click`,t);return e.dispatchEvent(n)}function Eo(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!eo(n,r)}function Do(e,t,n,r){let i=(e=>{if(r){let t=setTimeout(e,r);return()=>clearTimeout(t)}let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)})(()=>{e.removeEventListener(t,a,!0),n()}),a=()=>{i(),n()};return e.addEventListener(t,a,{once:!0,capture:!0}),i}function Oo(e,t,n,r=window){let i=[];try{r.document.addEventListener(e,t,n);for(let a of Array.from(r.frames))i.push(Oo(e,t,n,a))}catch{}return()=>{try{r.document.removeEventListener(e,t,n)}catch{}for(let e of i)e()}}var ko={...z},Ao=ko.useId;ko.useDeferredValue;var jo=ko.useInsertionEffect,q=Xa?z.useLayoutEffect:z.useEffect;function Mo(e){let[t]=(0,z.useState)(e);return t}function No(e){let t=(0,z.useRef)(e);return q(()=>{t.current=e}),t}function J(e){let t=(0,z.useRef)(()=>{throw Error(`Cannot call an event handler while rendering.`)});return jo?jo(()=>{t.current=e}):t.current=e,(0,z.useCallback)((...e)=>t.current?.call(t,...e),[])}function Po(e){let[t,n]=(0,z.useState)(null);return q(()=>{if(t==null||!e)return;let n=null;return e(e=>(n=e,t)),()=>{e(n)}},[t,e]),[t,n]}function Fo(...e){return(0,z.useMemo)(()=>{if(e.some(Boolean))return t=>{for(let n of e)Ka(n,t)}},e)}function Io(e){if(Ao){let t=Ao();return e||t}let[t,n]=(0,z.useState)(e);return q(()=>{e||t||n(`id-${Math.random().toString(36).slice(2,8)}`)},[e,t]),e||t}function Lo(e,t){let n=e=>{if(typeof e==`string`)return e},[r,i]=(0,z.useState)(()=>n(t));return q(()=>{i((e&&`current`in e?e.current:e)?.tagName.toLowerCase()||n(t))},[e,t]),r}function Ro(e,t,n){let r=Mo(n),[i,a]=(0,z.useState)(r);return(0,z.useEffect)(()=>{let n=e&&`current`in e?e.current:e;if(!n)return;let i=()=>{a(n.getAttribute(t)??r)},o=new MutationObserver(i);return o.observe(n,{attributeFilter:[t]}),i(),()=>o.disconnect()},[e,t,r]),i}function zo(e,t){let n=(0,z.useRef)(!1);(0,z.useEffect)(()=>{if(n.current)return e();n.current=!0},t),(0,z.useEffect)(()=>()=>{n.current=!1},[])}function Bo(e,t){let n=(0,z.useRef)(!1);q(()=>{if(n.current)return e();n.current=!0},t),q(()=>()=>{n.current=!1},[])}function Vo(){return(0,z.useReducer)(()=>[],[])}function Ho(e){return J(typeof e==`function`?e:()=>e)}function Uo(e,t,n=[]){let r=(0,z.useCallback)(n=>(e.wrapElement&&(n=e.wrapElement(n)),t(n)),[...n,e.wrapElement]);return{...e,wrapElement:r}}function Wo(e=!1,t){let[n,r]=(0,z.useState)(null);return{portalRef:Fo(r,t),portalNode:n,domReady:!e||n}}function Go(e,t,n){let r=e.onLoadedMetadataCapture,i=(0,z.useMemo)(()=>Object.assign(()=>{},{...r,[t]:n}),[r,t,n]);return[r?.[t],{onLoadedMetadataCapture:i}]}var Ko=!1;function qo(){return(0,z.useEffect)(()=>{Ko||=(Oo(`mousemove`,Qo,!0),Oo(`mousedown`,$o,!0),Oo(`mouseup`,$o,!0),Oo(`keydown`,$o,!0),Oo(`scroll`,$o,!0),!0)},[]),J(()=>Jo)}var Jo=!1,Yo=0,Xo=0;function Zo(e){let t=e.movementX||e.screenX-Yo,n=e.movementY||e.screenY-Xo;return Yo=e.screenX,Xo=e.screenY,t||n||!1}function Qo(e){Zo(e)&&(Jo=!0)}function $o(){Jo=!1}function Y(e){let t=z.forwardRef((t,n)=>e({...t,ref:n}));return t.displayName=e.displayName||e.name,t}function es(e,t){return z.memo(e,t)}function ts(e,t){let{wrapElement:n,render:r,...i}=t,a=Fo(t.ref,Ja(r)),o;if(z.isValidElement(r)){let e={...r.props,ref:a};o=z.cloneElement(r,Ya(i,e))}else o=r?r(i):(0,V.jsx)(e,{...i});return n?n(o):o}function ns(e){let t=(t={})=>e(t);return t.displayName=e.name,t}function rs(e=[],t=[]){let n=z.createContext(void 0),r=z.createContext(void 0),i=()=>z.useContext(n),a=(e=!1)=>{let t=z.useContext(r),n=i();return e?t:t||n},o=()=>{let e=z.useContext(r),t=i();if(!(e&&e===t))return t},s=t=>e.reduceRight((e,n)=>(0,V.jsx)(n,{...t,children:e}),(0,V.jsx)(n.Provider,{...t}));return{context:n,scopedContext:r,useContext:i,useScopedContext:a,useProviderContext:o,ContextProvider:s,ScopedContextProvider:e=>(0,V.jsx)(s,{...e,children:t.reduceRight((t,n)=>(0,V.jsx)(n,{...e,children:t}),(0,V.jsx)(r.Provider,{...e}))})}}var is=rs(),as=is.useContext;is.useScopedContext,is.useProviderContext;var os=is.ContextProvider,ss=is.ScopedContextProvider,cs=rs([os],[ss]),ls=cs.useContext;cs.useScopedContext;var us=cs.useProviderContext,ds=cs.ContextProvider,fs=cs.ScopedContextProvider,ps=(0,z.createContext)(void 0),ms=(0,z.createContext)(void 0);function hs(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function gs(e,t){return t&&e.item(t)||null}function _s(e){let t=[];for(let n of e){let e=t.find(e=>e[0]?.rowId===n.rowId);e?e.push(n):t.push([n])}return t}function vs(e,t=!1){if(ao(e))e.setSelectionRange(t?e.value.length:0,e.value.length);else if(e.isContentEditable){let n=G(e).getSelection();n?.selectAllChildren(e),t&&n?.collapseToEnd()}}var ys=Symbol(`FOCUS_SILENTLY`);function bs(e){e[ys]=!0,e.focus({preventScroll:!0})}function xs(e){let t=e[ys];return delete e[ys],t}function Ss(e,t,n){if(!t||t===n)return!1;let r=e.item(t.id);return!(!r||n&&r.element===n)}var Cs=`div`,ws=ns(function({store:e,shouldRegisterItem:t=!0,getItem:n=Ba,element:r,...i}){let a=as();e||=a;let o=Io(i.id),s=(0,z.useRef)(r);return(0,z.useEffect)(()=>{let r=s.current;if(!o||!r||!t)return;let i=n({id:o,element:r});return e?.renderItem(i)},[o,t,n,e]),i={...i,ref:Fo(s,i.ref)},Ga(i)});Y(function(e){return ts(Cs,ws(e))});var Ts=(0,z.createContext)(!0),Es=`input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])`;function Ds(e){return Number.parseInt(e.getAttribute(`tabindex`)||`0`,10)<0}function Os(e){return!(!e.matches(Es)||!io(e)||e.closest(`[inert]`))}function ks(e){if(!Os(e)||Ds(e))return!1;if(!(`form`in e)||!e.form||e.checked||e.type!==`radio`)return!0;let t=e.form.elements.namedItem(e.name);if(!t||!(`length`in t))return!0;let n=$a(e);return!n||n===e||!(`form`in n)||n.form!==e.form||n.name!==e.name}function As(e,t){let n=Array.from(e.querySelectorAll(Es));t&&n.unshift(e);let r=n.filter(Os);return r.forEach((e,t)=>{if(!to(e))return;let n=e.contentDocument?.body;n&&r.splice(t,1,...As(n))}),r}function js(e,t,n){let r=Array.from(e.querySelectorAll(Es)),i=r.filter(ks);return t&&ks(e)&&i.unshift(e),i.forEach((e,t)=>{if(!to(e))return;let r=e.contentDocument?.body;if(!r)return;let a=js(r,!1,n);i.splice(t,1,...a)}),!i.length&&n?r:i}function Ms(e,t,n){let[r]=js(e,t,n);return r||null}function Ns(e,t,n,r){let i=$a(e),a=As(e,t),o=a.indexOf(i),s=a.slice(o+1);return s.find(ks)||(n?a.find(ks):null)||(r?s[0]:null)||null}function Ps(e,t){return Ns(document.body,!1,e,t)}function Fs(e,t,n,r){let i=$a(e),a=As(e,t).reverse(),o=a.indexOf(i),s=a.slice(o+1);return s.find(ks)||(n?a.find(ks):null)||(r?s[0]:null)||null}function Is(e,t){return Fs(document.body,!1,e,t)}function Ls(e){for(;e&&!Os(e);)e=e.closest(Es);return e||null}function Rs(e){let t=$a(e);if(!t)return!1;if(t===e)return!0;let n=t.getAttribute(`aria-activedescendant`);return n?n===e.id:!1}function zs(e){let t=$a(e);if(!t)return!1;if(eo(e,t))return!0;let n=t.getAttribute(`aria-activedescendant`);return!n||!(`id`in e)?!1:n===e.id?!0:!!e.querySelector(`#${CSS.escape(n)}`)}function Bs(e){!zs(e)&&Os(e)&&e.focus()}function Vs(e){let t=e.getAttribute(`tabindex`)??``;e.setAttribute(`data-tabindex`,t),e.setAttribute(`tabindex`,`-1`)}function Hs(e,t){let n=js(e,t);for(let e of n)Vs(e)}function Us(e){let t=e.querySelectorAll(`[data-tabindex]`),n=e=>{let t=e.getAttribute(`data-tabindex`);e.removeAttribute(`data-tabindex`),t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)};e.hasAttribute(`data-tabindex`)&&n(e);for(let e of t)n(e)}function Ws(e,t){`scrollIntoView`in e?(e.focus({preventScroll:!0}),e.scrollIntoView({block:`nearest`,inline:`nearest`,...t})):e.focus()}var Gs=`div`,Ks=go(),qs=[`text`,`search`,`url`,`tel`,`email`,`password`,`number`,`date`,`month`,`week`,`time`,`datetime`,`datetime-local`],Js=Symbol(`safariFocusAncestor`);function Ys(e){return e?!!e[Js]:!1}function Xs(e,t){e&&(e[Js]=t)}function Zs(e){let{tagName:t,readOnly:n,type:r}=e;return t===`TEXTAREA`&&!n||t===`SELECT`&&!n?!0:t===`INPUT`&&!n?qs.includes(r):!!(e.isContentEditable||e.getAttribute(`role`)===`combobox`&&e.dataset.name)}function Qs(e){return`labels`in e?e.labels:null}function $s(e){return e.tagName.toLowerCase()===`input`&&e.type?e.type===`radio`||e.type===`checkbox`:!1}function ec(e){return e?e===`button`||e===`summary`||e===`input`||e===`select`||e===`textarea`||e===`a`:!0}function tc(e){return e?e===`button`||e===`input`||e===`select`||e===`textarea`:!0}function nc(e,t,n,r,i){return e?t?n&&!r?-1:void 0:n?i:i||0:i}function rc(e,t){return J(n=>{e?.(n),!n.defaultPrevented&&t&&(n.stopPropagation(),n.preventDefault())})}var ic=!1,ac=!0;function oc(e){let t=e.target;t&&`hasAttribute`in t&&(t.hasAttribute(`data-focus-visible`)||(ac=!1))}function sc(e){e.metaKey||e.ctrlKey||e.altKey||(ac=!0)}var cc=ns(function({focusable:e=!0,accessibleWhenDisabled:t,autoFocus:n,onFocusVisible:r,...i}){let a=(0,z.useRef)(null);(0,z.useEffect)(()=>{e&&(ic||=(Oo(`mousedown`,oc,!0),Oo(`keydown`,sc,!0),!0))},[e]),Ks&&(0,z.useEffect)(()=>{if(!e)return;let t=a.current;if(!t||!$s(t))return;let n=Qs(t);if(!n)return;let r=()=>queueMicrotask(()=>t.focus());for(let e of n)e.addEventListener(`mouseup`,r);return()=>{for(let e of n)e.removeEventListener(`mouseup`,r)}},[e]);let o=e&&Wa(i),s=!!o&&!t,[c,l]=(0,z.useState)(!1);(0,z.useEffect)(()=>{e&&s&&c&&l(!1)},[e,s,c]),(0,z.useEffect)(()=>{if(!e||!c)return;let t=a.current;if(!t||typeof IntersectionObserver>`u`)return;let n=new IntersectionObserver(()=>{Os(t)||l(!1)});return n.observe(t),()=>n.disconnect()},[e,c]);let u=rc(i.onKeyPressCapture,o),d=rc(i.onMouseDownCapture,o),f=rc(i.onClickCapture,o),p=i.onMouseDown,m=J(t=>{if(p?.(t),t.defaultPrevented||!e)return;let n=t.currentTarget;if(!Ks||yo(t)||!no(n)&&!$s(n))return;let r=!1,i=()=>{r=!0};n.addEventListener(`focusin`,i,{capture:!0,once:!0});let a=Ls(n.parentElement);Xs(a,!0),Do(n,`mouseup`,()=>{n.removeEventListener(`focusin`,i,!0),Xs(a,!1),!r&&Bs(n)})}),h=(t,n)=>{if(n&&(t.currentTarget=n),!e)return;let i=t.currentTarget;i&&Rs(i)&&(r?.(t),!t.defaultPrevented&&(i.dataset.focusVisible=`true`,l(!0)))},g=i.onKeyDownCapture,_=J(t=>{if(g?.(t),t.defaultPrevented||!e||c||t.metaKey||t.altKey||t.ctrlKey||!bo(t))return;let n=t.currentTarget;Do(n,`focusout`,()=>h(t,n))}),v=i.onFocusCapture,y=J(t=>{if(v?.(t),t.defaultPrevented||!e)return;if(!bo(t)){l(!1);return}let n=t.currentTarget;ac||Zs(t.target)?Do(t.target,`focusout`,()=>h(t,n)):l(!1)}),b=i.onBlur,x=J(t=>{b?.(t),e&&Eo(t)&&(t.currentTarget.removeAttribute(`data-focus-visible`),l(!1))}),S=(0,z.useContext)(Ts),C=J(t=>{e&&n&&t&&S&&queueMicrotask(()=>{Rs(t)||Os(t)&&t.focus()})}),w=Lo(a),T=e&&ec(w),E=e&&tc(w),D=i.style,O=(0,z.useMemo)(()=>s?{pointerEvents:`none`,...D}:D,[s,D]);return i={"data-focus-visible":e&&c||void 0,"data-autofocus":n||void 0,"aria-disabled":o||void 0,...i,ref:Fo(a,C,i.ref),style:O,tabIndex:nc(e,s,T,E,i.tabIndex),disabled:E&&s?!0:void 0,contentEditable:o?void 0:i.contentEditable,onKeyPressCapture:u,onClickCapture:f,onMouseDownCapture:d,onMouseDown:m,onKeyDownCapture:_,onFocusCapture:y,onBlur:x},Ga(i)});Y(function(e){return ts(Gs,cc(e))});var lc=`button`;function uc(e){if(!e.isTrusted)return!1;let t=e.currentTarget;return e.key===`Enter`?no(t)||t.tagName===`SUMMARY`||t.tagName===`A`:e.key===` `?no(t)||t.tagName===`SUMMARY`||t.tagName===`INPUT`||t.tagName===`SELECT`:!1}var dc=Symbol(`command`),fc=ns(function({clickOnEnter:e=!0,clickOnSpace:t=!0,...n}){let r=(0,z.useRef)(null),[i,a]=(0,z.useState)(!1);(0,z.useEffect)(()=>{r.current&&a(no(r.current))},[]);let[o,s]=(0,z.useState)(!1),c=(0,z.useRef)(!1),l=Wa(n),[u,d]=Go(n,dc,!0),f=n.onKeyDown,p=J(n=>{f?.(n);let r=n.currentTarget;if(n.defaultPrevented||u||l||!bo(n)||ao(r)||r.isContentEditable)return;let i=e&&n.key===`Enter`,a=t&&n.key===` `,o=n.key===`Enter`&&!e,d=n.key===` `&&!t;if(o||d){n.preventDefault();return}if(i||a){let e=uc(n);if(i){if(!e){n.preventDefault();let{view:e,...t}=n,i=()=>To(r,t);_o()?Do(r,`keyup`,i):queueMicrotask(i)}}else a&&(c.current=!0,e||(n.preventDefault(),s(!0)))}}),m=n.onKeyUp,h=J(e=>{if(m?.(e),e.defaultPrevented||u||l||e.metaKey)return;let n=t&&e.key===` `;if(c.current&&n&&(c.current=!1,!uc(e))){e.preventDefault(),s(!1);let t=e.currentTarget,{view:n,...r}=e;queueMicrotask(()=>To(t,r))}});return n={"data-active":o||void 0,type:i?`button`:void 0,...d,...n,ref:Fo(r,n.ref),onKeyDown:p,onKeyUp:h},n=cc(n),n});Y(function(e){return ts(lc,fc(e))});function pc(e,t){let n=e.__unstableInternals;return Va(n,`Invalid store`),n[t]}function mc(e,...t){let n=e,r=n,i=Symbol(),a=ja,o=new Set,s=new Set,c=new Set,l=new Set,u=new Set,d=new WeakMap,f=new WeakMap,p=e=>(c.add(e),()=>c.delete(e)),m=()=>{let e=o.size,r=Symbol();o.add(r);let i=()=>{o.delete(r),!o.size&&a()};if(e)return i;let s=Ha(n).map(e=>Ia(...t.map(t=>{let n=(t?.getState)?.call(t);if(n&&Fa(n,e))return vc(t,[e],t=>{S(e,t[e],!0)})}))),l=[];for(let e of c)l.push(e());let u=t.map(gc);return a=Ia(...s,...l,...u),i},h=(e,t,n=l)=>(n.add(t),f.set(t,e),()=>{var e;(e=d.get(t))==null||e(),d.delete(t),f.delete(t),n.delete(t)}),g=(e,t)=>h(e,t),_=(e,t)=>(d.set(t,t(n,n)),h(e,t)),v=(e,t)=>(d.set(t,t(n,r)),h(e,t,u)),y=e=>mc(za(n,e),C),b=e=>mc(Ra(n,e),C),x=()=>n,S=(e,a,o=!1)=>{var c;if(!Fa(n,e))return;let p=Ma(a,n[e]);if(p===n[e])return;if(!o)for(let n of t)(c=n?.setState)==null||c.call(n,e,p);let m=n;n={...n,[e]:p};let h=Symbol();i=h,s.add(e);let g=(t,r,i)=>{var a;let o=f.get(t);(!o||o.some(t=>i?i.has(t):t===e))&&((a=d.get(t))==null||a(),d.set(t,t(n,r)))};for(let e of l)g(e,m);queueMicrotask(()=>{if(i!==h)return;let e=n;for(let e of u)g(e,r,s);r=e,s.clear()})},C={getState:x,setState:S,__unstableInternals:{setup:p,init:m,subscribe:g,sync:_,batch:v,pick:y,omit:b}};return C}function hc(e,...t){if(e)return pc(e,`setup`)(...t)}function gc(e,...t){if(e)return pc(e,`init`)(...t)}function _c(e,...t){if(e)return pc(e,`subscribe`)(...t)}function vc(e,...t){if(e)return pc(e,`sync`)(...t)}function yc(e,...t){if(e)return pc(e,`batch`)(...t)}function bc(e,...t){if(e)return pc(e,`omit`)(...t)}function xc(e,...t){if(e)return pc(e,`pick`)(...t)}function Sc(...e){let t={};for(let n of e){let e=(n?.getState)?.call(n);e&&Object.assign(t,e)}let n=mc(t,...e);return Object.assign({},...e,n)}var{useSyncExternalStore:Cc}=e(ee(),1).default,wc=()=>()=>{};function Tc(e,t=Ba){let n=z.useCallback(t=>e?_c(e,null,t):wc(),[e]),r=()=>{let n=typeof t==`string`?t:null,r=typeof t==`function`?t:null,i=e?.getState();if(r)return r(i);if(i&&n&&Fa(i,n))return i[n]};return Cc(n,r,r)}function Ec(e,t){let n=z.useRef({}),r=z.useCallback(t=>e?_c(e,null,t):wc(),[e]),i=()=>{let r=e?.getState(),i=!1,a=n.current;for(let e in t){let n=t[e];if(typeof n==`function`){let t=n(r);t!==a[e]&&(a[e]=t,i=!0)}if(typeof n==`string`){if(!r||!Fa(r,n))continue;let t=r[n];t!==a[e]&&(a[e]=t,i=!0)}}return i&&(n.current={...a}),n.current};return Cc(r,i,i)}function Dc(e,t,n,r){let i=Fa(t,n)?t[n]:void 0,a=No({value:i,setValue:r?t[r]:void 0});q(()=>vc(e,[n],(e,t)=>{let{value:r,setValue:i}=a.current;i&&e[n]!==t[n]&&e[n]!==r&&i(e[n])}),[e,n]),q(()=>{if(i!==void 0)return e.setState(n,i),yc(e,[n],()=>{i!==void 0&&e.setState(n,i)})})}function Oc(e,t){let[n,r]=z.useState(()=>e(t));q(()=>gc(n),[n]);let i=z.useCallback(e=>Tc(n,e),[n]);return[z.useMemo(()=>({...n,useState:i}),[n,i]),J(()=>{r(n=>e({...t,...n.getState()}))})]}var kc=`button`;function Ac(e){return oo(e)?!0:e.tagName===`INPUT`&&!no(e)}function jc(e,t=!1){let n=e.clientHeight,{top:r}=e.getBoundingClientRect(),i=Math.max(n*.875,n-40)*1.5,a=t?n-i+r:i+r;return e.tagName===`HTML`?a+e.scrollTop:a}function Mc(e,t=!1){let{top:n}=e.getBoundingClientRect();return t?n+e.clientHeight:n}function Nc(e,t,n,r=!1){if(!t||!n)return;let{renderedItems:i}=t.getState(),a=lo(e);if(!a)return;let o=jc(a,r),s,c;for(let e=0;e=0){c!==void 0&&ce.rowId===m);return f.ariaPosInSet+t.findIndex(e=>e.id===u)},isTabbable(t){if(!t?.renderedItems.length)return!0;if(t.virtualFocus)return!1;if(i)return!0;if(t.activeId===null)return!1;let n=e?.item(t.activeId);return n?.disabled||!n?.element?!0:t.activeId===u}}),b=(0,z.useCallback)(e=>{let t={...e,id:u||e.id,rowId:m,disabled:!!p,children:e.element?.textContent};return a?a(t):t},[u,m,p,a]),x=c.onFocus,S=(0,z.useRef)(!1),C=J(t=>{if(x?.(t),t.defaultPrevented||yo(t)||!u||!e||Pc(t,e))return;let{virtualFocus:n,baseElement:r}=e.getState();e.setActiveId(u),oo(t.currentTarget)&&vs(t.currentTarget),n&&bo(t)&&(Ac(t.currentTarget)||r?.isConnected&&(go()&&t.currentTarget.hasAttribute(`data-autofocus`)&&t.currentTarget.scrollIntoView({block:`nearest`,inline:`nearest`}),S.current=!0,t.relatedTarget===r||Ss(e,t.relatedTarget)?bs(r):r.focus()))}),w=c.onBlurCapture,T=J(t=>{w?.(t),!t.defaultPrevented&&e?.getState()?.virtualFocus&&S.current&&(S.current=!1,t.preventDefault(),t.stopPropagation())}),E=c.onKeyDown,D=Ho(n),O=Ho(r),k=J(t=>{if(E?.(t),t.defaultPrevented||!bo(t)||!e)return;let{currentTarget:n}=t,r=e.getState(),i=!!e.item(u)?.rowId,a=r.orientation!==`horizontal`,o=r.orientation!==`vertical`,s=()=>!!(i||o||!r.baseElement||!ao(r.baseElement)),c={ArrowUp:(i||a)&&e.up,ArrowRight:(i||o)&&e.next,ArrowDown:(i||a)&&e.down,ArrowLeft:(i||o)&&e.previous,Home:()=>{if(s())return!i||t.ctrlKey?e?.first():e?.previous(-1)},End:()=>{if(s())return!i||t.ctrlKey?e?.last():e?.next(-1)},PageUp:()=>Nc(n,e,e?.up,!0),PageDown:()=>Nc(n,e,e?.down)}[t.key];if(c){if(oo(n)){let e=so(n),r=o&&t.key===`ArrowLeft`,i=o&&t.key===`ArrowRight`,s=a&&t.key===`ArrowUp`,c=a&&t.key===`ArrowDown`;if(i||c){let{length:t}=K(n);if(e.end!==t)return}else if((r||s)&&e.start!==0)return}let r=c();if(D(t)||r!==void 0){if(!O(t))return;t.preventDefault(),e.move(r)}}}),A=(0,z.useMemo)(()=>({id:u,baseElement:h}),[u,h]);return c=Uo(c,e=>(0,V.jsx)(ps.Provider,{value:A,children:e}),[A]),c={id:u,"data-active-item":g||void 0,...c,ref:Fo(d,c.ref),tabIndex:y?c.tabIndex:-1,onFocus:C,onBlurCapture:T,onKeyDown:k},c=fc(c),c=ws({store:e,...c,getItem:b,shouldRegisterItem:u?c.shouldRegisterItem:!1}),Ga({...c,"aria-setsize":_,"aria-posinset":v})});es(Y(function(e){return ts(kc,Fc(e))}));function Ic(e){let t=[];for(let n of e)t.push(...n);return t}function Lc(e){return e.slice().reverse()}var Rc=`div`;function zc(e){return e.some(e=>!!e.rowId)}function Bc(e){let t=e.target;return t&&!ao(t)?!1:e.key.length===1&&!e.ctrlKey&&!e.metaKey}function Vc(e){return e.key===`Shift`||e.key===`Control`||e.key===`Alt`||e.key===`Meta`}function Hc(e,t,n){return J(r=>{if(t?.(r),r.defaultPrevented||r.isPropagationStopped()||!bo(r)||Vc(r)||Bc(r))return;let i=gs(e,e.getState().activeId)?.element;if(!i)return;let{view:a,...o}=r;i!==n?.current&&i.focus(),wo(i,r.type,o)||r.preventDefault(),r.currentTarget.contains(i)&&r.stopPropagation()})}function Uc(e){return hs(Ic(Lc(_s(e))))}function Wc(e){let[t,n]=(0,z.useState)(!1),r=(0,z.useCallback)(()=>n(!0),[]),i=e.useState(t=>gs(e,t.activeId));return(0,z.useEffect)(()=>{let e=i?.element;t&&e&&(n(!1),e.focus({preventScroll:!0}))},[i,t]),r}var Gc=ns(function({store:e,composite:t=!0,focusOnMove:n=t,moveOnKeyPress:r=!0,...i}){let a=us();e||=a,Va(e,!1);let o=(0,z.useRef)(null),s=(0,z.useRef)(null),c=Wc(e),l=e.useState(`moves`),[,u]=Po(t?e.setBaseElement:null);(0,z.useEffect)(()=>{if(!e||!l||!t||!n)return;let{activeId:r}=e.getState(),i=gs(e,r)?.element;i&&Ws(i)},[e,l,t,n]),q(()=>{if(!e||!l||!t)return;let{baseElement:n,activeId:r}=e.getState();if(r!==null||!n)return;let i=s.current;s.current=null,i&&Co(i,{relatedTarget:n}),Rs(n)||n.focus()},[e,l,t]);let d=e.useState(`activeId`),f=e.useState(`virtualFocus`);q(()=>{if(!e||!t||!f)return;let n=s.current;if(s.current=null,!n)return;let r=gs(e,d)?.element||$a(n);r!==n&&Co(n,{relatedTarget:r})},[e,d,f,t]);let p=Hc(e,i.onKeyDownCapture,s),m=Hc(e,i.onKeyUpCapture,s),h=i.onFocusCapture,g=J(t=>{if(h?.(t),t.defaultPrevented||!e)return;let{virtualFocus:n}=e.getState();if(!n)return;let r=t.relatedTarget,i=xs(t.currentTarget);bo(t)&&i&&(t.stopPropagation(),s.current=r)}),_=i.onFocus,v=J(n=>{if(_?.(n),n.defaultPrevented||!t||!e)return;let{relatedTarget:r}=n,{virtualFocus:i}=e.getState();i?bo(n)&&!Ss(e,r)&&queueMicrotask(c):bo(n)&&e.setActiveId(null)}),y=i.onBlurCapture,b=J(t=>{if(y?.(t),t.defaultPrevented||!e)return;let{virtualFocus:n,activeId:r}=e.getState();if(!n)return;let i=gs(e,r)?.element,a=t.relatedTarget,o=Ss(e,a),c=s.current;s.current=null,bo(t)&&o?(a===i?c&&c!==a&&Co(c,t):i?Co(i,t):c&&Co(c,t),t.stopPropagation()):!Ss(e,t.target)&&i&&Co(i,t)}),x=i.onKeyDown,S=Ho(r),C=J(t=>{if(x?.(t),t.nativeEvent.isComposing||t.defaultPrevented||!e||!bo(t))return;let{orientation:n,renderedItems:r,activeId:i}=e.getState();if(gs(e,i)?.element?.isConnected)return;let a=n!==`horizontal`,o=n!==`vertical`,s=zc(r);if((t.key===`ArrowLeft`||t.key===`ArrowRight`||t.key===`Home`||t.key===`End`)&&ao(t.currentTarget))return;let c={ArrowUp:(s||a)&&(()=>s?Uc(r)?.id:e?.last()),ArrowRight:(s||o)&&e.first,ArrowDown:(s||a)&&e.first,ArrowLeft:(s||o)&&e.last,Home:e.first,End:e.last,PageUp:e.first,PageDown:e.last}[t.key];if(c){let n=c();if(n!==void 0){if(!S(t))return;t.preventDefault(),e.move(n)}}});i=Uo(i,t=>(0,V.jsx)(ds,{value:e,children:t}),[e]);let w=e.useState(n=>{if(e&&t&&n.virtualFocus)return gs(e,n.activeId)?.id});return i={"aria-activedescendant":w,...i,ref:Fo(o,u,i.ref),onKeyDownCapture:p,onKeyUpCapture:m,onFocusCapture:g,onFocus:v,onBlurCapture:b,onKeyDown:C},i=cc({focusable:e.useState(e=>t&&(e.virtualFocus||e.activeId===null)),...i}),i});Y(function(e){return ts(Rc,Gc(e))});var Kc=rs();Kc.useContext,Kc.useScopedContext;var qc=Kc.useProviderContext,Jc=Kc.ContextProvider,Yc=Kc.ScopedContextProvider,Xc=rs([Jc],[Yc]);Xc.useContext,Xc.useScopedContext;var Zc=Xc.useProviderContext,Qc=Xc.ContextProvider,$c=Xc.ScopedContextProvider,el=(0,z.createContext)(void 0),tl=(0,z.createContext)(void 0),nl=`div`;function rl(e,t){let n=setTimeout(t,e);return()=>clearTimeout(n)}function il(e){let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)}function al(...e){return e.join(`, `).split(`, `).reduce((e,t)=>{let n=t.endsWith(`ms`)?1:1e3,r=Number.parseFloat(t||`0s`)*n;return r>e?r:e},0)}function ol(e,t,n){return!n&&t!==!1&&(!e||!!t)}var sl=ns(function({store:e,alwaysVisible:t,...n}){let r=qc();e||=r,Va(e,!1);let i=(0,z.useRef)(null),a=Io(n.id),[o,s]=(0,z.useState)(null),c=e.useState(`open`),l=e.useState(`mounted`),u=e.useState(`animated`),d=e.useState(`contentElement`),f=Tc(e.disclosure,`contentElement`);q(()=>{i.current&&e?.setContentElement(i.current)},[e]),q(()=>{let t;return e?.setState(`animated`,e=>(t=e,!0)),()=>{t!==void 0&&e?.setState(`animated`,t)}},[e]),q(()=>{if(u){if(!d?.isConnected){s(null);return}return il(()=>{s(c?`enter`:l?`leave`:null)})}},[u,d,c,l]),q(()=>{if(!e||!u||!o||!d)return;let t=()=>e?.setState(`animating`,!1),n=()=>(0,Kr.flushSync)(t);if(o===`leave`&&c||o===`enter`&&!c)return;if(typeof u==`number`)return rl(u,n);let{transitionDuration:r,animationDuration:i,transitionDelay:a,animationDelay:s}=getComputedStyle(d),{transitionDuration:l=`0`,animationDuration:p=`0`,transitionDelay:m=`0`,animationDelay:h=`0`}=f?getComputedStyle(f):{},g=al(a,s,m,h)+al(r,i,l,p);if(!g){o===`enter`&&e.setState(`animated`,!1),t();return}return rl(Math.max(g-1e3/60,0),n)},[e,u,d,f,c,o]),n=Uo(n,t=>(0,V.jsx)($c,{value:e,children:t}),[e]);let p=ol(l,n.hidden,t),m=n.style,h=(0,z.useMemo)(()=>p?{...m,display:`none`}:m,[p,m]);return n={id:a,"data-open":c||void 0,"data-enter":o===`enter`||void 0,"data-leave":o===`leave`||void 0,hidden:p,...n,ref:Fo(a?e.setContentElement:null,i,n.ref),style:h},Ga(n)}),cl=Y(function(e){return ts(nl,sl(e))});Y(function({unmountOnHide:e,...t}){let n=qc();return Tc(t.store||n,t=>!e||t?.mounted)===!1?null:(0,V.jsx)(cl,{...t})});function ll(e={}){let t=Sc(e.store,bc(e.disclosure,[`contentElement`,`disclosureElement`])),n=t?.getState(),r=W(e.open,n?.open,e.defaultOpen,!1),i=W(e.animated,n?.animated,!1),a=mc({open:r,animated:i,animating:!!i&&r,mounted:r,contentElement:W(n?.contentElement,null),disclosureElement:W(n?.disclosureElement,null)},t);return hc(a,()=>vc(a,[`animated`,`animating`],e=>{e.animated||a.setState(`animating`,!1)})),hc(a,()=>_c(a,[`open`],()=>{a.getState().animated&&a.setState(`animating`,!0)})),hc(a,()=>vc(a,[`open`,`animating`],e=>{a.setState(`mounted`,e.open||e.animating)})),{...a,disclosure:e.disclosure,setOpen:e=>a.setState(`open`,e),show:()=>a.setState(`open`,!0),hide:()=>a.setState(`open`,!1),toggle:()=>a.setState(`open`,e=>!e),stopAnimation:()=>a.setState(`animating`,!1),setContentElement:e=>a.setState(`contentElement`,e),setDisclosureElement:e=>a.setState(`disclosureElement`,e)}}function ul(e,t,n){return zo(t,[n.store,n.disclosure]),Dc(e,n,`open`,`setOpen`),Dc(e,n,`mounted`,`setMounted`),Dc(e,n,`animated`),Object.assign(e,{disclosure:n.disclosure})}function dl(e={}){let[t,n]=Oc(ll,e);return ul(t,n,e)}var fl=rs([Qc],[$c]);fl.useContext,fl.useScopedContext;var pl=fl.useProviderContext,ml=fl.ContextProvider,hl=fl.ScopedContextProvider;function gl(e){let t=e.find(e=>!!e.element),n=[...e].reverse().find(e=>!!e.element),r=t?.element?.parentElement;for(;r&&n?.element;){if(n&&r.contains(n.element))return r;r=r.parentElement}return G(r).body}function _l(e){return e?.__unstablePrivateStore}function vl(e={}){e.store;let t=e.store?.getState(),n=W(e.items,t?.items,e.defaultItems,[]),r=new Map(n.map(e=>[e.id,e])),i={items:n,renderedItems:W(t?.renderedItems,[])},a=_l(e.store),o=mc({items:n,renderedItems:i.renderedItems},a),s=mc(i,e.store),c=e=>{let t=fo(e,e=>e.element);o.setState(`renderedItems`,t),s.setState(`renderedItems`,t)};hc(s,()=>gc(o)),hc(o,()=>yc(o,[`items`],e=>{s.setState(`items`,e.items)})),hc(o,()=>yc(o,[`renderedItems`],e=>{let t=!0,n=requestAnimationFrame(()=>{let{renderedItems:t}=s.getState();e.renderedItems!==t&&c(e.renderedItems)});if(typeof IntersectionObserver!=`function`)return()=>cancelAnimationFrame(n);let r=()=>{if(t){t=!1;return}cancelAnimationFrame(n),n=requestAnimationFrame(()=>c(e.renderedItems))},i=gl(e.renderedItems),a=new IntersectionObserver(r,{root:i});for(let t of e.renderedItems)t.element&&a.observe(t.element);return()=>{cancelAnimationFrame(n),a.disconnect()}}));let l=(e,t,n=!1)=>{let i;return t(t=>{let n=t.findIndex(({id:t})=>t===e.id),a=t.slice();if(n!==-1){i=t[n];let o={...i,...e};a[n]=o,r.set(e.id,o)}else a.push(e),r.set(e.id,e);return a}),()=>{t(t=>{if(!i)return n&&r.delete(e.id),t.filter(({id:t})=>t!==e.id);let a=t.findIndex(({id:t})=>t===e.id);if(a===-1)return t;let o=t.slice();return o[a]=i,r.set(e.id,i),o})}},u=e=>l(e,e=>o.setState(`items`,e),!0);return{...s,registerItem:u,renderItem:e=>Ia(u(e),l(e,e=>o.setState(`renderedItems`,e))),item:e=>{if(!e)return null;let t=r.get(e);if(!t){let{items:n}=o.getState();t=n.find(t=>t.id===e),t&&r.set(e,t)}return t||null},__unstablePrivateStore:o}}function yl(e,t,n){return zo(t,[n.store]),Dc(e,n,`items`,`setItems`),e}var bl={id:null};function xl(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function Sl(e,t){return e.filter(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function Cl(e,t){return e.filter(e=>e.rowId===t)}function wl(e,t,n=!1){let r=e.findIndex(e=>e.id===t);return[...e.slice(r+1),...n?[bl]:[],...e.slice(0,r)]}function Tl(e){let t=[];for(let n of e){let e=t.find(e=>e[0]?.rowId===n.rowId);e?e.push(n):t.push([n])}return t}function El(e){let t=0;for(let{length:n}of e)n>t&&(t=n);return t}function Dl(e){return{id:`__EMPTY_ITEM__`,disabled:!0,rowId:e}}function Ol(e,t,n){let r=El(e);for(let i of e)for(let e=0;evc(i,[`renderedItems`,`activeId`],e=>{i.setState(`activeId`,t=>t===void 0?xl(e.renderedItems)?.id:t)}));let a=(e=`next`,t={})=>{let n=i.getState(),{skip:r=0,activeId:a=n.activeId,focusShift:o=n.focusShift,focusLoop:s=n.focusLoop,focusWrap:c=n.focusWrap,includesBaseElement:l=n.includesBaseElement,renderedItems:u=n.renderedItems,rtl:d=n.rtl}=t,f=e===`up`||e===`down`,p=e===`next`||e===`down`,m=p?d&&!f:!d||f,h=o&&!r,g=f?Ic(Ol(Tl(u),a,h)):u;if(g=m?Lc(g):g,g=f?kl(g):g,a==null)return xl(g)?.id;let _=g.find(e=>e.id===a);if(!_)return xl(g)?.id;let v=g.some(e=>e.rowId),y=g.indexOf(_),b=g.slice(y+1),x=Cl(b,_.rowId);if(r){let e=Sl(x,a);return(e.slice(r)[0]||e[e.length-1])?.id}let S=s&&(f?s!==`horizontal`:s!==`vertical`),C=v&&c&&(f?c!==`horizontal`:c!==`vertical`),w=p?(!v||f)&&S&&l:f?l:!1;if(S)return xl(wl(C&&!w?g:Cl(g,_.rowId),a,w),a)?.id;if(C){let e=xl(w?x:b,a);return w?e?.id||null:e?.id}let T=xl(x,a);return!T&&w?null:T?.id};return{...n,...i,setBaseElement:e=>i.setState(`baseElement`,e),setActiveId:e=>i.setState(`activeId`,e),move:e=>{e!==void 0&&(i.setState(`activeId`,e),i.setState(`moves`,e=>e+1))},first:()=>xl(i.getState().renderedItems)?.id,last:()=>xl(Lc(i.getState().renderedItems))?.id,next:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`next`,e)),previous:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`previous`,e)),down:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`down`,e)),up:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`up`,e))}}function jl(e){return{id:Io(e.id),...e}}function Ml(e,t,n){return e=yl(e,t,n),Dc(e,n,`activeId`,`setActiveId`),Dc(e,n,`includesBaseElement`),Dc(e,n,`virtualFocus`),Dc(e,n,`orientation`),Dc(e,n,`rtl`),Dc(e,n,`focusLoop`),Dc(e,n,`focusWrap`),Dc(e,n,`focusShift`),e}var Nl=(0,z.createContext)(void 0),Pl=rs([ml,ds],[hl,fs]),X=Pl.useContext,Fl=Pl.useScopedContext,Z=Pl.useProviderContext,Q=Pl.ContextProvider,Il=Pl.ScopedContextProvider,Ll=(0,z.createContext)(void 0),Rl=(0,z.createContext)(!1),zl=(0,z.createContext)(null),Bl=`span`,Vl=ns(function(e){return e={...e,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`,...e.style}},e});Y(function(e){return ts(Bl,Vl(e))});var Hl=`span`,Ul=ns(function(e){return e={"data-focus-trap":``,tabIndex:0,"aria-hidden":!0,...e,style:{position:`fixed`,top:0,left:0,...e.style}},e=Vl(e),e}),Wl=Y(function(e){return ts(Hl,Ul(e))}),Gl=`div`;function Kl(e){return G(e).body}function ql(e,t){return t?typeof t==`function`?t(e):t:G(e).createElement(`div`)}function Jl(e=`id`){return`${e?`${e}-`:``}${Math.random().toString(36).slice(2,8)}`}function Yl(e){queueMicrotask(()=>{e?.focus()})}var Xl=ns(function({preserveTabOrder:e,preserveTabOrderAnchor:t,portalElement:n,portalRef:r,portal:i=!0,...a}){let o=(0,z.useRef)(null),s=Fo(o,a.ref),c=(0,z.useContext)(zl),[l,u]=(0,z.useState)(null),[d,f]=(0,z.useState)(null),p=(0,z.useRef)(null),m=(0,z.useRef)(null),h=(0,z.useRef)(null),g=(0,z.useRef)(null);return q(()=>{let e=o.current;if(!e||!i){u(null);return}let t=ql(e,n);if(!t){u(null);return}let a=t.isConnected;if(a||(c||Kl(e)).appendChild(t),t.id||=e.id?`portal/${e.id}`:Jl(),u(t),Ka(r,t),!a)return()=>{t.remove(),Ka(r,null)}},[i,n,c,r]),q(()=>{if(!i||!e||!t)return;let n=G(t).createElement(`span`);return n.style.position=`fixed`,t.insertAdjacentElement(`afterend`,n),f(n),()=>{n.remove(),f(null)}},[i,e,t]),(0,z.useEffect)(()=>{if(!l||!e)return;let t=0,n=e=>{if(!Eo(e))return;let n=e.type===`focusin`;if(cancelAnimationFrame(t),n)return Us(l);t=requestAnimationFrame(()=>{Hs(l,!0)})};return l.addEventListener(`focusin`,n,!0),l.addEventListener(`focusout`,n,!0),()=>{cancelAnimationFrame(t),l.removeEventListener(`focusin`,n,!0),l.removeEventListener(`focusout`,n,!0)}},[l,e]),a=Uo(a,t=>{if(t=(0,V.jsx)(zl.Provider,{value:l||c,children:t}),!i)return t;if(!l)return(0,V.jsx)(`span`,{ref:s,id:a.id,style:{position:`fixed`},hidden:!0});t=(0,V.jsxs)(V.Fragment,{children:[e&&l&&(0,V.jsx)(Wl,{ref:m,"data-focus-trap":a.id,className:`__focus-trap-inner-before`,onFocus:e=>{Eo(e,l)?Yl(Ps()):Yl(p.current)}}),t,e&&l&&(0,V.jsx)(Wl,{ref:h,"data-focus-trap":a.id,className:`__focus-trap-inner-after`,onFocus:e=>{Eo(e,l)?Yl(Is()):Yl(g.current)}})]}),l&&(t=(0,Kr.createPortal)(t,l));let n=(0,V.jsxs)(V.Fragment,{children:[e&&l&&(0,V.jsx)(Wl,{ref:p,"data-focus-trap":a.id,className:`__focus-trap-outer-before`,onFocus:e=>{e.relatedTarget!==g.current&&Eo(e,l)?Yl(m.current):Yl(Is())}}),e&&(0,V.jsx)(`span`,{"aria-owns":l?.id,style:{position:`fixed`}}),e&&l&&(0,V.jsx)(Wl,{ref:g,"data-focus-trap":a.id,className:`__focus-trap-outer-after`,onFocus:e=>{if(Eo(e,l))Yl(h.current);else{let e=Ps();if(e===m.current){requestAnimationFrame(()=>Ps()?.focus());return}Yl(e)}}})]});return d&&e&&(n=(0,Kr.createPortal)(n,d)),(0,V.jsxs)(V.Fragment,{children:[n,t]})},[l,c,i,a.id,e,d]),a={...a,ref:s},a});Y(function(e){return ts(Gl,Xl(e))});var Zl=(0,z.createContext)(0);function Ql({level:e,children:t}){let n=(0,z.useContext)(Zl),r=Math.max(Math.min(e||n+1,6),1);return(0,V.jsx)(Zl.Provider,{value:r,children:t})}var $l=`div`,eu=ns(function({autoFocusOnShow:e=!0,...t}){return t=Uo(t,t=>(0,V.jsx)(Ts.Provider,{value:e,children:t}),[e]),t});Y(function(e){return ts($l,eu(e))});function tu(e,t){let n=G(e).createElement(`button`);return n.type=`button`,n.tabIndex=-1,n.textContent=`Dismiss popup`,Object.assign(n.style,{border:`0px`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0px`,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),n.addEventListener(`click`,t),e.prepend(n),()=>{n.removeEventListener(`click`,t),n.remove()}}function nu(e){let t=(0,z.useRef)(null);return(0,z.useEffect)(()=>{if(!e){t.current=null;return}return Oo(`mousedown`,e=>{t.current=e.target},!0)},[e]),t}var ru=new WeakMap;function iu(e,t,n){ru.has(e)||ru.set(e,new Map);let r=ru.get(e),i=r.get(t);if(!i)return r.set(t,n()),()=>{var e;(e=r.get(t))==null||e(),r.delete(t)};let a=n(),o=()=>{a(),i(),r.delete(t)};return r.set(t,o),()=>{r.get(t)===o&&(a(),r.set(t,i))}}function au(e,t,n){return iu(e,t,()=>{let r=e.getAttribute(t);return e.setAttribute(t,n),()=>{r==null?e.removeAttribute(t):e.setAttribute(t,r)}})}function ou(e,t,n){return iu(e,t,()=>{let r=t in e,i=e[t];return e[t]=n,()=>{r?e[t]=i:delete e[t]}})}function su(e,t){return e?iu(e,`style`,()=>{let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}):()=>{}}function cu(e,t,n){return e?iu(e,t,()=>{let r=e.style.getPropertyValue(t);return e.style.setProperty(t,n),()=>{r?e.style.setProperty(t,r):e.style.removeProperty(t)}}):()=>{}}var lu=[`SCRIPT`,`STYLE`];function uu(e){return`__ariakit-dialog-snapshot-${e}`}function du(e,t){let n=G(t),r=uu(e);if(!n.body[r])return!0;do{if(t===n.body)return!1;if(t[r])return!0;if(!t.parentElement)return!1;t=t.parentElement}while(!0)}function fu(e,t,n){return lu.includes(t.tagName)||!du(e,t)?!1:!n.some(e=>e&&eo(t,e))}function pu(e,t,n,r){for(let i of t){if(!i?.isConnected)continue;let a=t.some(e=>!e||e===i?!1:e.contains(i)),o=G(i),s=i;for(;i.parentElement&&i!==o.body;){if(r?.(i.parentElement,s),!a)for(let r of i.parentElement.children)fu(e,r,t)&&n(r,s);i=i.parentElement}}}function mu(e,t){let{body:n}=G(t[0]),r=[];return pu(e,t,t=>{r.push(ou(t,uu(e),!0))}),Ia(ou(n,uu(e),!0),()=>{for(let e of r)e()})}function hu(e,...t){if(!e)return!1;let n=e.getAttribute(`data-backdrop`);return n==null?!1:n===``||n===`true`||!t.length?!0:t.some(e=>n===e)}function gu(e=``,t=!1){return`__ariakit-dialog-${t?`ancestor`:`outside`}${e?`-${e}`:``}`}function _u(e,t=``){return Ia(ou(e,gu(),!0),ou(e,gu(t),!0))}function vu(e,t=``){return Ia(ou(e,gu(``,!0),!0),ou(e,gu(t,!0),!0))}function yu(e,t){let n=gu(t,!0);if(e[n])return!0;let r=gu(t);do{if(e[r])return!0;if(!e.parentElement)return!1;e=e.parentElement}while(!0)}function bu(e,t){let n=[],r=t.map(e=>e?.id);return pu(e,t,t=>{hu(t,...r)||n.unshift(_u(t,e))},(t,r)=>{r.hasAttribute(`data-dialog`)&&r.id!==e||n.unshift(vu(t,e))}),()=>{for(let e of n)e()}}function xu(e){return e.tagName===`HTML`?!0:eo(G(e).body,e)}function Su(e,t){if(!e)return!1;if(eo(e,t))return!0;let n=t.getAttribute(`aria-activedescendant`);if(n){let t=G(e).getElementById(n);if(t)return eo(e,t)}return!1}function Cu(e,t){if(!(`clientY`in e))return!1;let n=t.getBoundingClientRect();return n.width===0||n.height===0?!1:n.top<=e.clientY&&e.clientY<=n.top+n.height&&n.left<=e.clientX&&e.clientX<=n.left+n.width}function wu({store:e,type:t,listener:n,capture:r,domReady:i}){let a=J(n),o=Tc(e,`open`),s=(0,z.useRef)(!1);q(()=>{if(!o||!i)return;let{contentElement:t}=e.getState();if(!t)return;let n=()=>{s.current=!0};return t.addEventListener(`focusin`,n,!0),()=>t.removeEventListener(`focusin`,n,!0)},[e,o,i]),(0,z.useEffect)(()=>o?Oo(t,t=>{let{contentElement:n,disclosureElement:r}=e.getState(),i=t.target;n&&i&&xu(i)&&(eo(n,i)||Su(r,i)||i.hasAttribute(`data-focus-trap`)||Cu(t,n)||s.current&&!yu(i,n.id)||Ys(i)||a(t))},r):void 0,[o,r])}function Tu(e,t){return typeof e==`function`?e(t):!!e}function Eu(e,t,n){let r=nu(Tc(e,`open`)),i={store:e,domReady:n,capture:!0};wu({...i,type:`click`,listener:n=>{let{contentElement:i}=e.getState(),a=r.current;a&&io(a)&&yu(a,i?.id)&&Tu(t,n)&&e.hide()}}),wu({...i,type:`focusin`,listener:n=>{let{contentElement:r}=e.getState();r&&n.target!==G(r)&&Tu(t,n)&&e.hide()}}),wu({...i,type:`contextmenu`,listener:n=>{Tu(t,n)&&e.hide()}})}var Du=(0,z.createContext)({});function Ou(e){let t=(0,z.useContext)(Du),[n,r]=(0,z.useState)([]),i=(0,z.useCallback)(e=>(r(t=>[...t,e]),Ia(t.add?.call(t,e),()=>{r(t=>t.filter(t=>t!==e))})),[t]);q(()=>vc(e,[`open`,`contentElement`],n=>{if(n.open&&n.contentElement)return t.add?.call(t,e)}),[e,t]);let a=(0,z.useMemo)(()=>({store:e,add:i}),[e,i]);return{wrapElement:(0,z.useCallback)(e=>(0,V.jsx)(Du.Provider,{value:a,children:e}),[a]),nestedDialogs:n}}function ku({attribute:e,contentId:t,contentElement:n,enabled:r}){let[i,a]=Vo(),o=(0,z.useCallback)(()=>{if(!r||!n)return!1;let{body:i}=G(n),a=i.getAttribute(e);return!a||a===t},[i,r,n,e,t]);return(0,z.useEffect)(()=>{if(!r||!t||!n)return;let{body:i}=G(n);if(o())return i.setAttribute(e,t),()=>i.removeAttribute(e);let s=new MutationObserver(()=>(0,Kr.flushSync)(a));return s.observe(i,{attributeFilter:[e]}),()=>s.disconnect()},[i,r,t,n,o,e]),o}function Au(e){let t=e.getBoundingClientRect().left;return Math.round(t)+e.scrollLeft?`paddingLeft`:`paddingRight`}function ju(e,t,n){let r=ku({attribute:`data-dialog-prevent-body-scroll`,contentElement:e,contentId:t,enabled:n});(0,z.useEffect)(()=>{if(!r()||!e)return;let t=G(e),n=Qa(e),{documentElement:i,body:a}=t,o=i.style.getPropertyValue(`--scrollbar-width`),s=o?Number.parseInt(o,10):n.innerWidth-i.clientWidth,c=()=>cu(i,`--scrollbar-width`,`${s}px`),l=Au(i),u=()=>su(a,{overflow:`hidden`,[l]:`${s}px`}),d=()=>{let{scrollX:e,scrollY:t,visualViewport:r}=n,i=r?.offsetLeft??0,o=r?.offsetTop??0,c=su(a,{position:`fixed`,overflow:`hidden`,top:`${-(t-Math.floor(o))}px`,left:`${-(e-Math.floor(i))}px`,right:`0`,[l]:`${s}px`});return()=>{c(),n.scrollTo({left:e,top:t,behavior:`instant`})}},f=ho()&&!vo();return Ia(c(),f?d():u())},[r,e])}function Mu(e,...t){if(!e)return!1;let n=e.getAttribute(`data-focus-trap`);return n==null?!1:t.length?n===``?!1:t.some(e=>n===e):!0}function Nu(){return`inert`in HTMLElement.prototype}function Pu(e){return au(e,`aria-hidden`,`true`)}function Fu(e,t){return`style`in e?Nu()?ou(e,`inert`,!0):Ia(...js(e,!0).map(e=>{if(t?.some(t=>t&&eo(t,e)))return ja;let n=iu(e,`focus`,()=>(e.focus=ja,()=>{delete e.focus}));return Ia(au(e,`tabindex`,`-1`),n)}),Pu(e),su(e,{pointerEvents:`none`,userSelect:`none`,cursor:`default`})):ja}function Iu(e,t){let n=[],r=t.map(e=>e?.id);return pu(e,t,e=>{hu(e,...r)||Mu(e,...r)||n.unshift(Fu(e,t))},e=>{e.hasAttribute(`role`)&&(t.some(t=>t&&eo(t,e))||n.unshift(au(e,`role`,`none`)))}),()=>{for(let e of n)e()}}var Lu=`div`,Ru=`a.button.details.dialog.div.form.h1.h2.h3.h4.h5.h6.header.img.input.label.li.nav.ol.p.section.select.span.summary.textarea.ul.svg`.split(`.`);ns(function(e){return e});var zu=Y(function(e){return ts(Lu,e)});Object.assign(zu,Ru.reduce((e,t)=>(e[t]=Y(function(e){return ts(t,e)}),e),{}));function Bu({store:e,backdrop:t,alwaysVisible:n,hidden:r}){let i=(0,z.useRef)(null),a=dl({disclosure:e}),o=Tc(e,`contentElement`);(0,z.useEffect)(()=>{let e=i.current,t=o;e&&t&&(e.style.zIndex=getComputedStyle(t).zIndex)},[o]),q(()=>{let e=o?.id;if(!e)return;let t=i.current;if(t)return vu(t,e)},[o]);let s=sl({ref:i,store:a,role:`presentation`,"data-backdrop":o?.id||``,alwaysVisible:n,hidden:r??void 0,style:{position:`fixed`,top:0,right:0,bottom:0,left:0}});if(!t)return null;if((0,z.isValidElement)(t))return(0,V.jsx)(zu,{...s,render:t});let c=typeof t==`boolean`?`div`:t;return(0,V.jsx)(zu,{...s,render:(0,V.jsx)(c,{})})}function Vu(e={}){return ll(e)}function Hu(e,t,n){return ul(e,t,n)}function Uu(e={}){let[t,n]=Oc(Vu,e);return Hu(t,n,e)}var Wu=`div`,Gu=go();function Ku(e){let t=$a();return!t||e&&eo(e,t)?!1:!!Os(t)}function qu(e,t=!1){if(!e)return null;let n=`current`in e?e.current:e;return n?t?Os(n)?n:null:n:null}var Ju=ns(function({store:e,open:t,onClose:n,focusable:r=!0,modal:i=!0,portal:a=!!i,backdrop:o=!!i,hideOnEscape:s=!0,hideOnInteractOutside:c=!0,getPersistentElements:l,preventBodyScroll:u=!!i,autoFocusOnShow:d=!0,autoFocusOnHide:f=!0,initialFocus:p,finalFocus:m,unmountOnHide:h,unstable_treeSnapshotKey:g,..._}){let v=Zc(),y=(0,z.useRef)(null),b=Uu({store:e||v,open:t,setOpen(e){if(e)return;let t=y.current;if(!t)return;let r=new Event(`close`,{bubbles:!1,cancelable:!0});n&&t.addEventListener(`close`,n,{once:!0}),t.dispatchEvent(r),r.defaultPrevented&&b.setOpen(!0)}}),{portalRef:x,domReady:S}=Wo(a,_.portalRef),C=_.preserveTabOrder,w=Tc(b,e=>C&&!i&&e.mounted),T=Io(_.id),E=Tc(b,`open`),D=Tc(b,`mounted`),O=Tc(b,`contentElement`),k=ol(D,_.hidden,_.alwaysVisible);ju(O,T,u&&!k),Eu(b,c,S);let{wrapElement:A,nestedDialogs:j}=Ou(b);_=Uo(_,A,[A]),q(()=>{if(!E)return;let e=y.current,t=$a(e,!0);t&&t.tagName!==`BODY`&&(e&&eo(e,t)||b.setDisclosureElement(t))},[b,E]),Gu&&(0,z.useEffect)(()=>{if(!D)return;let{disclosureElement:e}=b.getState();if(!e||!no(e))return;let t=()=>{let t=!1,n=()=>{t=!0};e.addEventListener(`focusin`,n,{capture:!0,once:!0}),Do(e,`mouseup`,()=>{e.removeEventListener(`focusin`,n,!0),!t&&Bs(e)})};return e.addEventListener(`mousedown`,t),()=>{e.removeEventListener(`mousedown`,t)}},[b,D]),(0,z.useEffect)(()=>{if(!D||!S)return;let e=y.current;if(!e)return;let t=Qa(e),n=t.visualViewport||t,r=()=>{let n=t.visualViewport?.height??t.innerHeight;e.style.setProperty(`--dialog-viewport-height`,`${n}px`)};return r(),n.addEventListener(`resize`,r),()=>{n.removeEventListener(`resize`,r)}},[D,S]),(0,z.useEffect)(()=>{if(!i||!D||!S)return;let e=y.current;if(e&&!e.querySelector(`[data-dialog-dismiss]`))return tu(e,b.hide)},[b,i,D,S]),q(()=>{if(!Nu()||E||!D||!S)return;let e=y.current;if(e)return Fu(e)},[E,D,S]);let M=E&&S;q(()=>{if(!T||!M)return;let e=y.current;return mu(T,[e])},[T,M,g]);let ee=J(l);q(()=>{if(!T||!M)return;let{disclosureElement:e}=b.getState(),t=[y.current,...ee()||[],...j.map(e=>e.getState().contentElement)];return i?Ia(bu(T,t),Iu(T,t)):bu(T,[e,...t])},[T,b,M,ee,j,i,g]);let te=!!d,N=Ho(d),[P,ne]=(0,z.useState)(!1);(0,z.useEffect)(()=>{if(!E||!te||!S||!O?.isConnected)return;let e=qu(p,!0)||O.querySelector(`[data-autofocus=true],[autofocus]`)||Ms(O,!0,a&&w)||O,t=Os(e);N(t?e:null)&&(ne(!0),queueMicrotask(()=>{e.focus(),Gu&&t&&e.scrollIntoView({block:`nearest`,inline:`nearest`})}))},[E,te,S,O,p,a,w,N]);let re=!!f,ie=Ho(f),[F,I]=(0,z.useState)(!1);(0,z.useEffect)(()=>{if(E)return I(!0),()=>I(!1)},[E]);let L=(0,z.useCallback)((e,t=!0)=>{let{disclosureElement:n}=b.getState();if(Ku(e))return;let r=qu(m)||n;if(r?.id){let e=G(r),t=`[aria-activedescendant="${r.id}"]`,n=e.querySelector(t);n&&(r=n)}if(r&&!Os(r)){let e=r.closest(`[data-dialog]`);if(e?.id){let t=G(e),n=`[aria-controls~="${e.id}"]`,i=t.querySelector(n);i&&(r=i)}}let i=r&&Os(r);if(!i&&t){requestAnimationFrame(()=>L(e,!1));return}ie(i?r:null)&&i&&r?.focus({preventScroll:!0})},[b,m,ie]),ae=(0,z.useRef)(!1);q(()=>{if(E||!F||!re)return;let e=y.current;ae.current=!0,L(e)},[E,F,S,re,L]),(0,z.useEffect)(()=>{if(!F||!re)return;let e=y.current;return()=>{if(ae.current){ae.current=!1;return}L(e)}},[F,re,L]);let R=Ho(s);(0,z.useEffect)(()=>!S||!D?void 0:Oo(`keydown`,e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=y.current;if(!t||yu(t))return;let n=e.target;if(!n)return;let{disclosureElement:r}=b.getState();(n.tagName===`BODY`||eo(t,n)||!r||eo(r,n))&&R(e)&&b.hide()},!0),[b,S,D,R]),_=Uo(_,e=>(0,V.jsx)(Ql,{level:i?1:void 0,children:e}),[i]);let oe=_.hidden,se=_.alwaysVisible;_=Uo(_,e=>o?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Bu,{store:b,backdrop:o,hidden:oe,alwaysVisible:se}),e]}):e,[b,o,oe,se]);let[ce,le]=(0,z.useState)(),[ue,de]=(0,z.useState)();return _=Uo(_,e=>(0,V.jsx)($c,{value:b,children:(0,V.jsx)(el.Provider,{value:le,children:(0,V.jsx)(tl.Provider,{value:de,children:e})})}),[b]),_={id:T,"data-dialog":``,role:`dialog`,tabIndex:r?-1:void 0,"aria-labelledby":ce,"aria-describedby":ue,..._,ref:Fo(y,_.ref)},_=eu({..._,autoFocusOnShow:P}),_=sl({store:b,..._}),_=cc({..._,focusable:r}),_=Xl({portal:a,..._,portalRef:x,preserveTabOrder:w}),_});function Yu(e,t=Zc){return Y(function(n){let r=t();return Tc(n.store||r,e=>!n.unmountOnHide||e?.mounted||!!n.open)?(0,V.jsx)(e,{...n}):null})}Yu(Y(function(e){return ts(Wu,Ju(e))}),Zc);var Xu=Math.min,Zu=Math.max,Qu=Math.round,$u=Math.floor,ed=e=>({x:e,y:e}),td={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function nd(e,t,n){return Zu(e,Xu(t,n))}function rd(e,t){return typeof e==`function`?e(t):e}function id(e){return e.split(`-`)[0]}function ad(e){return e.split(`-`)[1]}function od(e){return e===`x`?`y`:`x`}function sd(e){return e===`y`?`height`:`width`}function cd(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function ld(e){return od(cd(e))}function ud(e,t,n){n===void 0&&(n=!1);let r=ad(e),i=ld(e),a=sd(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=$(o)),[o,$(o)]}function dd(e){let t=$(e);return[fd(e),t,fd(t)]}function fd(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var pd=[`left`,`right`],md=[`right`,`left`],hd=[`top`,`bottom`],gd=[`bottom`,`top`];function _d(e,t,n){switch(e){case`top`:case`bottom`:return n?t?md:pd:t?pd:md;case`left`:case`right`:return t?hd:gd;default:return[]}}function vd(e,t,n,r){let i=ad(e),a=_d(id(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(fd)))),a}function $(e){let t=id(e);return td[t]+e.slice(t.length)}function yd(e){return{top:0,right:0,bottom:0,left:0,...e}}function bd(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:yd(e)}function xd(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Sd(e,t,n){let{reference:r,floating:i}=e,a=cd(t),o=ld(t),s=sd(o),c=id(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(ad(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Cd(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=rd(t,e),p=bd(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=xd(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=xd(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var wd=50,Td=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Cd},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Sd(l,r,c),f=r,p=0,m={};for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=rd(e,t)||{};if(l==null)return{};let d=bd(u),f={x:n,y:r},p=ld(i),m=sd(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Xu(d[_],T),D=Xu(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=nd(O,A,k),M=!c.arrow&&ad(i)!=null&&A!==j&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==cd(t))||T.every(e=>cd(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=cd(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Od=new Set([`left`,`top`]);async function kd(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=id(n),s=ad(n),c=cd(n)===`y`,l=Od.has(o)?-1:1,u=a&&c?-1:1,d=rd(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Ad=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await kd(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},jd=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=rd(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=cd(id(i)),p=od(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=nd(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=nd(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Md=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=rd(e,t),u={x:n,y:r},d=cd(i),f=od(d),p=u[f],m=u[d],h=rd(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Od.has(id(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},Nd=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=rd(e,t),u=await o.detectOverflow(t,l),d=id(i),f=ad(i),p=cd(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Xu(h-u[g],v),x=Xu(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Zu(u.left,0),t=Zu(u.right,0),n=Zu(u.top,0),r=Zu(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Zu(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Zu(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Pd(){return typeof window<`u`}function Fd(e){return Rd(e)?(e.nodeName||``).toLowerCase():`#document`}function Id(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ld(e){return((Rd(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Rd(e){return Pd()?e instanceof Node||e instanceof Id(e).Node:!1}function zd(e){return Pd()?e instanceof Element||e instanceof Id(e).Element:!1}function Bd(e){return Pd()?e instanceof HTMLElement||e instanceof Id(e).HTMLElement:!1}function Vd(e){return!Pd()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Id(e).ShadowRoot}function Hd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=$d(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Ud(e){return/^(table|td|th)$/.test(Fd(e))}function Wd(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Gd=/transform|translate|scale|rotate|perspective|filter/,Kd=/paint|layout|strict|content/,qd=e=>!!e&&e!==`none`,Jd;function Yd(e){let t=zd(e)?$d(e):e;return qd(t.transform)||qd(t.translate)||qd(t.scale)||qd(t.rotate)||qd(t.perspective)||!Zd()&&(qd(t.backdropFilter)||qd(t.filter))||Gd.test(t.willChange||``)||Kd.test(t.contain||``)}function Xd(e){let t=tf(e);for(;Bd(t)&&!Qd(t);){if(Yd(t))return t;if(Wd(t))return null;t=tf(t)}return null}function Zd(){return Jd??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Jd}function Qd(e){return/^(html|body|#document)$/.test(Fd(e))}function $d(e){return Id(e).getComputedStyle(e)}function ef(e){return zd(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function tf(e){if(Fd(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Vd(e)&&e.host||Ld(e);return Vd(t)?t.host:t}function nf(e){let t=tf(e);return Qd(t)?e.ownerDocument?e.ownerDocument.body:e.body:Bd(t)&&Hd(t)?t:nf(t)}function rf(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=nf(e),i=r===e.ownerDocument?.body,a=Id(r);if(i){let e=af(a);return t.concat(a,a.visualViewport||[],Hd(r)?r:[],e&&n?rf(e):[])}else return t.concat(r,rf(r,[],n))}function af(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function of(e){let t=$d(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Bd(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Qu(n)!==a||Qu(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function sf(e){return zd(e)?e:e.contextElement}function cf(e){let t=sf(e);if(!Bd(t))return ed(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=of(t),o=(a?Qu(n.width):n.width)/r,s=(a?Qu(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var lf=ed(0);function uf(e){let t=Id(e);return!Zd()||!t.visualViewport?lf:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function df(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Id(e)?!1:t}function ff(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=sf(e),o=ed(1);t&&(r?zd(r)&&(o=cf(r)):o=cf(e));let s=df(a,n,r)?uf(a):ed(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=Id(a),t=r&&zd(r)?Id(r):r,n=e,i=af(n);for(;i&&r&&t!==n;){let e=cf(i),t=i.getBoundingClientRect(),r=$d(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Id(i),i=af(n)}}return xd({width:u,height:d,x:c,y:l})}function pf(e,t){let n=ef(e).scrollLeft;return t?t.left+n:ff(Ld(e)).left+n}function mf(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-pf(e,n),y:n.top+t.scrollTop}}function hf(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Ld(r),s=t?Wd(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=ed(1),u=ed(0),d=Bd(r);if((d||!d&&!a)&&((Fd(r)!==`body`||Hd(o))&&(c=ef(r)),d)){let e=ff(r);l=cf(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?mf(o,c):ed(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function gf(e){return Array.from(e.getClientRects())}function _f(e){let t=Ld(e),n=ef(e),r=e.ownerDocument.body,i=Zu(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Zu(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+pf(e),s=-n.scrollTop;return $d(r).direction===`rtl`&&(o+=Zu(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var vf=25;function yf(e,t){let n=Id(e),r=Ld(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Zd();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=pf(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=vf&&(a-=o)}else l<=vf&&(a+=l);return{width:a,height:o,x:s,y:c}}function bf(e,t){let n=ff(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Bd(e)?cf(e):ed(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function xf(e,t,n){let r;if(t===`viewport`)r=yf(e,n);else if(t===`document`)r=_f(Ld(e));else if(zd(t))r=bf(t,n);else{let n=uf(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return xd(r)}function Sf(e,t){let n=tf(e);return n===t||!zd(n)||Qd(n)?!1:$d(n).position===`fixed`||Sf(n,t)}function Cf(e,t){let n=t.get(e);if(n)return n;let r=rf(e,[],!1).filter(e=>zd(e)&&Fd(e)!==`body`),i=null,a=$d(e).position===`fixed`,o=a?tf(e):e;for(;zd(o)&&!Qd(o);){let t=$d(o),n=Yd(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Hd(o)&&!n&&Sf(e,o))?r=r.filter(e=>e!==o):i=t,o=tf(o)}return t.set(e,r),r}function wf(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Wd(t)?[]:Cf(t,this._c):[].concat(n),r],o=xf(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!Nf(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Ff(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=sf(e),u=i||a?[...l?rf(l):[],...t?rf(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Pf(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?ff(e):null;c&&g();function g(){let t=ff(e);h&&!Nf(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var If=Ad,Lf=jd,Rf=Dd,zf=Nd,Bf=Ed,Vf=Md,Hf=(e,t,n)=>{let r=new Map,i={platform:Mf,...n},a={...i.platform,_c:r};return Td(e,t,{...i,platform:a})},Uf=`div`;function Wf(e=0,t=0,n=0,r=0){if(typeof DOMRect==`function`)return new DOMRect(e,t,n,r);let i={x:e,y:t,width:n,height:r,top:t,right:e+n,bottom:t+r,left:e};return{...i,toJSON:()=>i}}function Gf(e){if(!e)return Wf();let{x:t,y:n,width:r,height:i}=e;return Wf(t,n,r,i)}function Kf(e,t){return{contextElement:e||void 0,getBoundingClientRect:()=>{let n=e,r=t?.(n);return r||!n?Gf(r):n.getBoundingClientRect()}}}function qf(e){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(e)}function Jf(e){let t=window.devicePixelRatio||1;return Math.round(e*t)/t}function Yf(e,t){return If(({placement:n})=>{let r=(e?.clientHeight||0)/2,i=typeof t.gutter==`number`?t.gutter+r:t.gutter??r;return{crossAxis:n.split(`-`)[1]?void 0:t.shift,mainAxis:i,alignmentAxis:t.shift}})}function Xf(e){if(e.flip===!1)return;let t=typeof e.flip==`string`?e.flip.split(` `):void 0;return Va(!t||t.every(qf),!1),Rf({padding:e.overflowPadding,fallbackPlacements:t})}function Zf(e){if(!(!e.slide&&!e.overlap))return Lf({mainAxis:e.slide,crossAxis:e.overlap,padding:e.overflowPadding,limiter:Vf()})}function Qf(e){return zf({padding:e.overflowPadding,apply({elements:t,availableWidth:n,availableHeight:r,rects:i}){let a=t.floating,o=Math.round(i.reference.width);n=Math.floor(n),r=Math.floor(r),a.style.setProperty(`--popover-anchor-width`,`${o}px`),a.style.setProperty(`--popover-available-width`,`${n}px`),a.style.setProperty(`--popover-available-height`,`${r}px`),e.sameWidth&&(a.style.width=`${o}px`),e.fitViewport&&(a.style.maxWidth=`${n}px`,a.style.maxHeight=`${r}px`)}})}function $f(e,t){if(e)return Bf({element:e,padding:t.arrowPadding})}var ep=ns(function({store:e,modal:t=!1,portal:n=!!t,preserveTabOrder:r=!0,autoFocusOnShow:i=!0,wrapperProps:a,fixed:o=!1,flip:s=!0,shift:c=0,slide:l=!0,overlap:u=!1,sameWidth:d=!1,fitViewport:f=!1,gutter:p,arrowPadding:m=4,overflowPadding:h=8,getAnchorRect:g,updatePosition:_,...v}){let y=pl();e||=y,Va(e,!1);let b=e.useState(`arrowElement`),x=e.useState(`anchorElement`),S=e.useState(`disclosureElement`),C=e.useState(`popoverElement`),w=e.useState(`contentElement`),T=e.useState(`placement`),E=e.useState(`mounted`),D=e.useState(`rendered`),O=(0,z.useRef)(null),[k,A]=(0,z.useState)(!1),{portalRef:j,domReady:M}=Wo(n,v.portalRef),ee=J(g),te=J(_),N=!!_;q(()=>{if(!C?.isConnected)return;C.style.setProperty(`--popover-overflow-padding`,`${h}px`);let t=Kf(x,ee),n=async()=>{if(!E)return;b||(O.current=O.current||document.createElement(`div`));let n=b||O.current,r=[Yf(n,{gutter:p,shift:c}),Xf({flip:s,overflowPadding:h}),Zf({slide:l,shift:c,overlap:u,overflowPadding:h}),$f(n,{arrowPadding:m}),Qf({sameWidth:d,fitViewport:f,overflowPadding:h})],i=await Hf(t,C,{placement:T,strategy:o?`fixed`:`absolute`,middleware:r});e?.setState(`currentPlacement`,i.placement),A(!0);let a=Jf(i.x),g=Jf(i.y);if(Object.assign(C.style,{top:`0`,left:`0`,transform:`translate3d(${a}px,${g}px,0)`}),n&&i.middlewareData.arrow){let{x:e,y:t}=i.middlewareData.arrow,r=i.placement.split(`-`)[0],a=n.clientWidth/2,o=n.clientHeight/2,s=e==null?-a:e+a,c=t==null?-o:t+o;C.style.setProperty(`--popover-transform-origin`,{top:`${s}px calc(100% + ${o}px)`,bottom:`${s}px ${-o}px`,left:`calc(100% + ${a}px) ${c}px`,right:`${-a}px ${c}px`}[r]),Object.assign(n.style,{left:e==null?``:`${e}px`,top:t==null?``:`${t}px`,[r]:`100%`})}},r=Ff(t,C,async()=>{N?(await te({updatePosition:n}),A(!0)):await n()},{elementResize:typeof ResizeObserver==`function`});return()=>{A(!1),r()}},[e,D,C,b,x,C,T,E,M,o,s,c,l,u,d,f,p,m,h,ee,N,te]),q(()=>{if(!E||!M||!C?.isConnected||!w?.isConnected)return;let e=()=>{C.style.zIndex=getComputedStyle(w).zIndex};e();let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)},[E,M,C,w]);let P=o?`fixed`:`absolute`;return v=Uo(v,t=>(0,V.jsx)(`div`,{...a,style:{position:P,top:0,left:0,width:`max-content`,...a?.style},ref:e?.setPopoverElement,children:t}),[e,P,a]),v=Uo(v,t=>(0,V.jsx)(hl,{value:e,children:t}),[e]),v={"data-placing":!k||void 0,...v,style:{position:`relative`,...v.style}},v=Ju({store:e,modal:t,portal:n,preserveTabOrder:r,preserveTabOrderAnchor:S||x,autoFocusOnShow:k&&i,...v,portalRef:j}),v});Yu(Y(function(e){return ts(Uf,ep(e))}),pl);function tp({popover:e,...t}={}){let n=Sc(t.store,bc(e,[`arrowElement`,`anchorElement`,`contentElement`,`popoverElement`,`disclosureElement`])),r=n?.getState(),i=Vu({...t,store:n}),a=W(t.placement,r?.placement,`bottom`),o=mc({...i.getState(),placement:a,currentPlacement:a,anchorElement:W(r?.anchorElement,null),popoverElement:W(r?.popoverElement,null),arrowElement:W(r?.arrowElement,null),rendered:Symbol(`rendered`)},i,n);return{...i,...o,setAnchorElement:e=>o.setState(`anchorElement`,e),setPopoverElement:e=>o.setState(`popoverElement`,e),setArrowElement:e=>o.setState(`arrowElement`,e),render:()=>o.setState(`rendered`,Symbol(`rendered`))}}function np(e,t,n){return zo(t,[n.popover]),Dc(e,n,`placement`),Hu(e,t,n)}var rp=`div`,ip=ns(function({store:e,...t}){let n=pl();return e||=n,t={...t,ref:Fo(e?.setAnchorElement,t.ref)},t});Y(function(e){return ts(rp,ip(e))});var ap=(0,z.createContext)(void 0),op=`div`,sp=ns(function(e){let[t,n]=(0,z.useState)();return e=Uo(e,e=>(0,V.jsx)(ap.Provider,{value:n,children:e}),[]),e={role:`group`,"aria-labelledby":t,...e},Ga(e)});Y(function(e){return ts(op,sp(e))});var cp=`div`,lp=ns(function({store:e,...t}){return t=sp(t),t});Y(function(e){return ts(cp,lp(e))});var up=`div`,dp=ns(function(e){let t=(0,z.useContext)(ap),n=Io(e.id);return q(()=>(t?.(n),()=>t?.(void 0)),[t,n]),e={id:n,"aria-hidden":!0,...e},Ga(e)});Y(function(e){return ts(up,dp(e))});var fp=`div`,pp=ns(function({store:e,...t}){return t=dp(t),t});Y(function(e){return ts(fp,pp(e))});var mp=`div`;function hp(e){let t=e.relatedTarget;return t?.nodeType===Node.ELEMENT_NODE?t:null}function gp(e){let t=hp(e);return t?eo(e.currentTarget,t):!1}var _p=Symbol(`composite-hover`);function vp(e){let t=hp(e);if(!t)return!1;do{if(Fa(t,_p)&&t[_p])return!0;t=t.parentElement}while(t);return!1}var yp=ns(function({store:e,focusOnHover:t=!0,blurOnHoverEnd:n=!!t,...r}){let i=ls();e||=i,Va(e,!1);let a=qo(),o=r.onMouseMove,s=Ho(t),c=J(t=>{if(o?.(t),!t.defaultPrevented&&a()&&s(t)){if(!zs(t.currentTarget)){let t=e?.getState().baseElement;t&&!Rs(t)&&t.focus()}e?.setActiveId(t.currentTarget.id)}}),l=r.onMouseLeave,u=Ho(n),d=J(t=>{var n;l?.(t),!t.defaultPrevented&&a()&&(gp(t)||vp(t)||s(t)&&u(t)&&(e?.setActiveId(null),(n=e?.getState().baseElement)==null||n.focus()))}),f=(0,z.useCallback)(e=>{e&&(e[_p]=!0)},[]);return r={...r,ref:Fo(f,r.ref),onMouseMove:c,onMouseLeave:d},Ga(r)});es(Y(function(e){return ts(mp,yp(e))}));var bp=`input`;function xp(e,t,n){return n?e.find(e=>!e.disabled&&e.value)?.value===t:!1}function Sp(e,t){return!t||e==null?!1:(e=La(e),t.length>e.length&&t.toLowerCase().indexOf(e.toLowerCase())===0)}function Cp(e){return e.type===`input`}function wp(e){return e===`inline`||e===`list`||e===`both`||e===`none`}function Tp(e){return e.find(e=>e.disabled?!1:e.element?.getAttribute(`role`)!==`tab`)?.id}var Ep=ns(function({store:e,focusable:t=!0,autoSelect:n=!1,getAutoSelectId:r,setValueOnChange:i,showMinLength:a=0,showOnChange:o,showOnMouseDown:s,showOnClick:c=s,showOnKeyDown:l,showOnKeyPress:u=l,blurActiveItemOnClick:d,setValueOnClick:f=!0,moveOnKeyPress:p=!0,autoComplete:m=`list`,...h}){let g=Z();e||=g,Va(e,!1);let _=(0,z.useRef)(null),[v,y]=Vo(),b=(0,z.useRef)(!1),x=(0,z.useRef)(!1),S=e.useState(e=>e.virtualFocus&&n),C=m===`inline`||m===`both`,[w,T]=(0,z.useState)(C);Bo(()=>{C&&T(!0)},[C]);let E=e.useState(`value`),D=(0,z.useRef)(void 0);(0,z.useEffect)(()=>vc(e,[`selectedValue`,`activeId`],(e,t)=>{D.current=t.selectedValue}),[]);let O=e.useState(e=>{if(C&&w&&!(e.activeValue&&Array.isArray(e.selectedValue)&&(e.selectedValue.includes(e.activeValue)||D.current?.includes(e.activeValue))))return e.activeValue}),k=e.useState(`renderedItems`),A=e.useState(`open`),j=e.useState(`contentElement`),M=(0,z.useMemo)(()=>!C||!w?E:xp(k,O,S)?Sp(E,O)?E+(O?.slice(E.length)||``):E:O||E,[C,w,k,O,S,E]);(0,z.useEffect)(()=>{let e=_.current;if(!e)return;let t=()=>T(!0);return e.addEventListener(`combobox-item-move`,t),()=>{e.removeEventListener(`combobox-item-move`,t)}},[]),(0,z.useEffect)(()=>{if(!C||!w||!O||!xp(k,O,S)||!Sp(E,O))return;let e=ja;return queueMicrotask(()=>{let t=_.current;if(!t)return;let{start:n,end:r}=so(t),i=E.length,a=O.length;uo(t,i,a),e=()=>{if(!Rs(t))return;let{start:e,end:o}=so(t);e===i&&o===a&&uo(t,n,r)}}),()=>e()},[v,C,w,O,k,S,E]);let ee=(0,z.useRef)(null),te=J(r),N=(0,z.useRef)(null);(0,z.useEffect)(()=>{if(!A||!j)return;let t=lo(j);if(!t)return;ee.current=t;let n=()=>{b.current=!1},r=()=>{if(!e||!b.current)return;let{activeId:t}=e.getState();t!==null&&t!==N.current&&(b.current=!1)},i={passive:!0,capture:!0};return t.addEventListener(`wheel`,n,i),t.addEventListener(`touchmove`,n,i),t.addEventListener(`scroll`,r,i),()=>{t.removeEventListener(`wheel`,n,!0),t.removeEventListener(`touchmove`,n,!0),t.removeEventListener(`scroll`,r,!0)}},[A,j,e]),q(()=>{E&&(x.current||(b.current=!0))},[E]),q(()=>{S!==`always`&&A||(b.current=A)},[S,A]);let P=e.useState(`resetValueOnSelect`);zo(()=>{let t=b.current;if(!e||!A||!t&&!P)return;let{baseElement:n,contentElement:r,activeId:i}=e.getState();if(!(n&&!Rs(n))){if(r?.hasAttribute(`data-placing`)){let e=new MutationObserver(y);return e.observe(r,{attributeFilter:[`data-placing`]}),()=>e.disconnect()}if(S&&t){let t=te(k),n=t===void 0?Tp(k)??e.first():t;N.current=n,e.move(n??null)}else{let t=e.item(i||e.first())?.element;t&&`scrollIntoView`in t&&t.scrollIntoView({block:`nearest`,inline:`nearest`})}}},[e,A,v,E,S,P,te,k]),(0,z.useEffect)(()=>{if(!C)return;let t=_.current;if(!t)return;let n=[t,j].filter(e=>!!e),r=t=>{n.every(e=>Eo(t,e))&&e?.setValue(M)};for(let e of n)e.addEventListener(`focusout`,r);return()=>{for(let e of n)e.removeEventListener(`focusout`,r)}},[C,j,e,M]);let ne=e=>e.currentTarget.value.length>=a,re=h.onChange,ie=Ho(o??ne),F=Ho(i??!e.tag),I=J(t=>{if(re?.(t),t.defaultPrevented||!e)return;let n=t.currentTarget,{value:r,selectionStart:i,selectionEnd:a}=n,o=t.nativeEvent;if(b.current=!0,Cp(o)&&(o.isComposing&&(b.current=!1,x.current=!0),C)){let e=o.inputType===`insertText`||o.inputType===`insertCompositionText`,t=i===r.length;T(e&&t)}if(F(t)){let t=r===e.getState().value;e.setValue(r),queueMicrotask(()=>{uo(n,i,a)}),C&&S&&t&&y()}ie(t)&&e.show(),(!S||!b.current)&&e.setActiveId(null)}),L=h.onCompositionEnd,ae=J(e=>{b.current=!0,x.current=!1,L?.(e),!e.defaultPrevented&&S&&y()}),R=h.onMouseDown,oe=Ho(d??(()=>!!e?.getState().includesBaseElement)),se=Ho(f),ce=Ho(c??ne),le=J(t=>{R?.(t),!t.defaultPrevented&&(t.button||t.ctrlKey||e&&(oe(t)&&e.setActiveId(null),se(t)&&e.setValue(M),ce(t)&&Do(t.currentTarget,`mouseup`,e.show)))}),ue=h.onKeyDown,de=Ho(u??ne),fe=J(t=>{if(ue?.(t),t.repeat||(b.current=!1),t.defaultPrevented||t.ctrlKey||t.altKey||t.shiftKey||t.metaKey||!e)return;let{open:n}=e.getState();n||(t.key===`ArrowUp`||t.key===`ArrowDown`)&&de(t)&&(t.preventDefault(),e.show())}),pe=h.onBlur,me=J(e=>{b.current=!1,pe?.(e),e.defaultPrevented}),he=Io(h.id),ge=wp(m)?m:void 0,_e=e.useState(e=>e.activeId===null);return h={id:he,role:`combobox`,"aria-autocomplete":ge,"aria-haspopup":co(j,`listbox`),"aria-expanded":A,"aria-controls":j?.id,"data-active-item":_e||void 0,value:M,...h,ref:Fo(_,h.ref),onChange:I,onCompositionEnd:ae,onMouseDown:le,onKeyDown:fe,onBlur:me},h=Gc({store:e,focusable:t,...h,moveOnKeyPress:e=>Ua(p,e)?!1:(C&&T(!0),!0)}),h=ip({store:e,...h}),{autoComplete:`off`,...h}}),Dp=Y(function(e){return ts(bp,Ep(e))}),Op=`div`,kp=ns(function({store:e,...t}){let n=Fl();return e||=n,Va(e,!1),co(e.useState(`contentElement`))===`grid`&&(t={role:`rowgroup`,...t}),t=lp({store:e,...t}),t}),Ap=Y(function(e){return ts(Op,kp(e))}),jp=`div`,Mp=ns(function(e){return e=pp(e),e}),Np=Y(function(e){return ts(jp,Mp(e))}),Pp=`div`;function Fp(e,t){if(t!=null)return e==null?!1:Array.isArray(e)?e.includes(t):e===t}function Ip(e){return{menu:`menuitem`,listbox:`option`,tree:`treeitem`}[e]??`option`}var Lp=ns(function({store:e,value:t,hideOnClick:n,setValueOnClick:r,selectValueOnClick:i=!0,resetValueOnSelect:a,focusOnHover:o=!1,moveOnKeyPress:s=!0,getItem:c,...l}){let u=Fl();e||=u,Va(e,!1);let{resetValueOnSelectState:d,multiSelectable:f,selected:p}=Ec(e,{resetValueOnSelectState:`resetValueOnSelect`,multiSelectable(e){return Array.isArray(e.selectedValue)},selected(e){return Fp(e.selectedValue,t)}}),m=(0,z.useCallback)(e=>{let n={...e,value:t};return c?c(n):n},[t,c]);r??=!f,n??=t!=null&&!f;let h=l.onClick,g=Ho(r),_=Ho(i),v=Ho(a??d??f),y=Ho(n),b=J(n=>{h?.(n),!n.defaultPrevented&&(So(n)||xo(n)||(t!=null&&(_(n)&&(v(n)&&e?.resetValue(),e?.setSelectedValue(e=>Array.isArray(e)?e.includes(t)?e.filter(e=>e!==t):[...e,t]:t)),g(n)&&e?.setValue(t)),y(n)&&e?.hide()))}),x=l.onKeyDown,S=J(t=>{if(x?.(t),t.defaultPrevented)return;let n=e?.getState().baseElement;n&&(Rs(n)||(t.key.length===1||t.key===`Backspace`||t.key===`Delete`)&&(queueMicrotask(()=>n.focus()),ao(n)&&e?.setValue(n.value)))});f&&p!=null&&(l={"aria-selected":p,...l}),l=Uo(l,e=>(0,V.jsx)(Ll.Provider,{value:t,children:(0,V.jsx)(Rl.Provider,{value:p??!1,children:e})}),[t,p]),l={role:Ip((0,z.useContext)(Nl)),children:t,...l,onClick:b,onKeyDown:S};let C=Ho(s);return l=Fc({store:e,...l,getItem:m,moveOnKeyPress:t=>{if(!C(t))return!1;let n=new Event(`combobox-item-move`);return(e?.getState().baseElement)?.dispatchEvent(n),!0}}),l=yp({store:e,focusOnHover:o,...l}),l}),Rp=es(Y(function(e){return ts(Pp,Lp(e))})),zp=`div`,Bp=ns(function({store:e,alwaysVisible:t,...n}){let r=Fl(!0),i=X();e||=i;let a=!!e&&e===r;Va(e,!1);let o=(0,z.useRef)(null),s=Io(n.id),c=e.useState(`mounted`),l=ol(c,n.hidden,t),u=l?{...n.style,display:`none`}:n.style,d=e.useState(e=>Array.isArray(e.selectedValue)),f=Ro(o,`role`,n.role),p=(f===`listbox`||f===`tree`||f===`grid`)&&d||void 0,[m,h]=(0,z.useState)(!1),g=e.useState(`contentElement`);q(()=>{if(!c)return;let e=o.current;if(!e||g!==e)return;let t=()=>{h(!!e.querySelector(`[role='listbox']`))},n=new MutationObserver(t);return n.observe(e,{subtree:!0,childList:!0,attributeFilter:[`role`]}),t(),()=>n.disconnect()},[c,g]),m||(n={role:`listbox`,"aria-multiselectable":p,...n}),n=Uo(n,t=>(0,V.jsx)(Il,{value:e,children:(0,V.jsx)(Nl.Provider,{value:f,children:t})}),[e,f]);let _=s&&(!r||!a)?e.setContentElement:null;return n={id:s,hidden:l,...n,ref:Fo(_,o,n.ref),style:u},Ga(n)}),Vp=Y(function(e){return ts(zp,Bp(e))}),Hp=`div`;function Up(e,...t){if(!e)return!1;if(`id`in e){let n=t.filter(Boolean).map(e=>`[aria-controls~="${e}"]`).join(`, `);return n?e.matches(n):!1}return!1}var Wp=ns(function({store:e,modal:t,tabIndex:n,alwaysVisible:r,autoFocusOnHide:i=!0,hideOnInteractOutside:a=!0,...o}){let s=Z();e||=s,Va(e,!1);let c=e.useState(`baseElement`),l=(0,z.useRef)(!1),u=Tc(e.tag,e=>e?.renderedItems.length);return o=Bp({store:e,alwaysVisible:r,...o}),o=ep({store:e,modal:t,alwaysVisible:r,backdrop:!1,autoFocusOnShow:!1,finalFocus:c,preserveTabOrderAnchor:null,unstable_treeSnapshotKey:u,...o,getPersistentElements(){let n=o.getPersistentElements?.call(o)||[];if(!t||!e)return n;let{contentElement:r,baseElement:i}=e.getState();if(!i)return n;let a=G(i),s=[];if(r?.id&&s.push(`[aria-controls~="${r.id}"]`),i?.id&&s.push(`[aria-controls~="${i.id}"]`),!s.length)return[...n,i];let c=s.join(`,`),l=a.querySelectorAll(c);return[...n,...l]},autoFocusOnHide(e){return Ua(i,e)?!1:l.current?(l.current=!1,!1):!0},hideOnInteractOutside(t){let n=e?.getState(),r=n?.contentElement?.id,i=n?.baseElement?.id;if(Up(t.target,r,i))return!1;let o=typeof a==`function`?a(t):a;return o&&(l.current=t.type===`click`),o}}),o}),Gp=Yu(Y(function(e){return ts(Hp,Wp(e))}),Z);(0,z.createContext)(null),(0,z.createContext)(null);var Kp=rs([ds],[fs]),qp=Kp.useContext;Kp.useScopedContext,Kp.useProviderContext,Kp.ContextProvider,Kp.ScopedContextProvider;var Jp=go()&&mo();function Yp({tag:e,...t}={}){let n=Sc(t.store,xc(e,[`value`,`rtl`])),r=e?.getState(),i=n?.getState(),a=W(t.activeId,i?.activeId,t.defaultActiveId,null),o=Al({...t,activeId:a,includesBaseElement:W(t.includesBaseElement,i?.includesBaseElement,!0),orientation:W(t.orientation,i?.orientation,`vertical`),focusLoop:W(t.focusLoop,i?.focusLoop,!0),focusWrap:W(t.focusWrap,i?.focusWrap,!0),virtualFocus:W(t.virtualFocus,i?.virtualFocus,!0)}),s=tp({...t,placement:W(t.placement,i?.placement,`bottom-start`)}),c=W(t.value,i?.value,t.defaultValue,``),l=W(t.selectedValue,i?.selectedValue,r?.values,t.defaultSelectedValue,``),u=Array.isArray(l),d={...o.getState(),...s.getState(),value:c,selectedValue:l,resetValueOnSelect:W(t.resetValueOnSelect,i?.resetValueOnSelect,u),resetValueOnHide:W(t.resetValueOnHide,i?.resetValueOnHide,u&&!e),activeValue:i?.activeValue},f=mc(d,o,s,n);return Jp&&hc(f,()=>vc(f,[`virtualFocus`],()=>{f.setState(`virtualFocus`,!1)})),hc(f,()=>{if(e)return Ia(vc(f,[`selectedValue`],t=>{Array.isArray(t.selectedValue)&&e.setValues(t.selectedValue)}),vc(e,[`values`],e=>{f.setState(`selectedValue`,e.values)}))}),hc(f,()=>vc(f,[`resetValueOnHide`,`mounted`],e=>{e.resetValueOnHide&&(e.mounted||f.setState(`value`,c))})),hc(f,()=>vc(f,[`open`],e=>{e.open||(f.setState(`activeId`,a),f.setState(`moves`,0))})),hc(f,()=>vc(f,[`moves`,`activeId`],(e,t)=>{e.moves===t.moves&&f.setState(`activeValue`,void 0)})),hc(f,()=>yc(f,[`moves`,`renderedItems`],(e,t)=>{if(e.moves===t.moves)return;let{activeId:n}=f.getState(),r=o.item(n);f.setState(`activeValue`,r?.value)})),{...s,...o,...f,tag:e,setValue:e=>f.setState(`value`,e),resetValue:()=>f.setState(`value`,d.value),setSelectedValue:e=>f.setState(`selectedValue`,e)}}function Xp(e){let t=qp();return e={...e,tag:e.tag===void 0?t:e.tag},jl(e)}function Zp(e,t,n){return zo(t,[n.tag]),Dc(e,n,`value`,`setValue`),Dc(e,n,`selectedValue`,`setSelectedValue`),Dc(e,n,`resetValueOnHide`),Dc(e,n,`resetValueOnSelect`),Object.assign(Ml(np(e,t,n),t,n),{tag:n.tag})}function Qp(e={}){e=Xp(e);let[t,n]=Oc(Yp,e);return Zp(t,n,e)}function $p(e={}){return(0,V.jsx)(Q,{value:Qp(e),children:e.children})}var em=e(t(((e,t)=>{var n={À:`A`,Á:`A`,Â:`A`,Ã:`A`,Ä:`A`,Å:`A`,Ấ:`A`,Ắ:`A`,Ẳ:`A`,Ẵ:`A`,Ặ:`A`,Æ:`AE`,Ầ:`A`,Ằ:`A`,Ȃ:`A`,Ả:`A`,Ạ:`A`,Ẩ:`A`,Ẫ:`A`,Ậ:`A`,Ç:`C`,Ḉ:`C`,È:`E`,É:`E`,Ê:`E`,Ë:`E`,Ế:`E`,Ḗ:`E`,Ề:`E`,Ḕ:`E`,Ḝ:`E`,Ȇ:`E`,Ẻ:`E`,Ẽ:`E`,Ẹ:`E`,Ể:`E`,Ễ:`E`,Ệ:`E`,Ì:`I`,Í:`I`,Î:`I`,Ï:`I`,Ḯ:`I`,Ȋ:`I`,Ỉ:`I`,Ị:`I`,Ð:`D`,Ñ:`N`,Ò:`O`,Ó:`O`,Ô:`O`,Õ:`O`,Ö:`O`,Ø:`O`,Ố:`O`,Ṍ:`O`,Ṓ:`O`,Ȏ:`O`,Ỏ:`O`,Ọ:`O`,Ổ:`O`,Ỗ:`O`,Ộ:`O`,Ờ:`O`,Ở:`O`,Ỡ:`O`,Ớ:`O`,Ợ:`O`,Ù:`U`,Ú:`U`,Û:`U`,Ü:`U`,Ủ:`U`,Ụ:`U`,Ử:`U`,Ữ:`U`,Ự:`U`,Ý:`Y`,à:`a`,á:`a`,â:`a`,ã:`a`,ä:`a`,å:`a`,ấ:`a`,ắ:`a`,ẳ:`a`,ẵ:`a`,ặ:`a`,æ:`ae`,ầ:`a`,ằ:`a`,ȃ:`a`,ả:`a`,ạ:`a`,ẩ:`a`,ẫ:`a`,ậ:`a`,ç:`c`,ḉ:`c`,è:`e`,é:`e`,ê:`e`,ë:`e`,ế:`e`,ḗ:`e`,ề:`e`,ḕ:`e`,ḝ:`e`,ȇ:`e`,ẻ:`e`,ẽ:`e`,ẹ:`e`,ể:`e`,ễ:`e`,ệ:`e`,ì:`i`,í:`i`,î:`i`,ï:`i`,ḯ:`i`,ȋ:`i`,ỉ:`i`,ị:`i`,ð:`d`,ñ:`n`,ò:`o`,ó:`o`,ô:`o`,õ:`o`,ö:`o`,ø:`o`,ố:`o`,ṍ:`o`,ṓ:`o`,ȏ:`o`,ỏ:`o`,ọ:`o`,ổ:`o`,ỗ:`o`,ộ:`o`,ờ:`o`,ở:`o`,ỡ:`o`,ớ:`o`,ợ:`o`,ù:`u`,ú:`u`,û:`u`,ü:`u`,ủ:`u`,ụ:`u`,ử:`u`,ữ:`u`,ự:`u`,ý:`y`,ÿ:`y`,Ā:`A`,ā:`a`,Ă:`A`,ă:`a`,Ą:`A`,ą:`a`,Ć:`C`,ć:`c`,Ĉ:`C`,ĉ:`c`,Ċ:`C`,ċ:`c`,Č:`C`,č:`c`,C̆:`C`,c̆:`c`,Ď:`D`,ď:`d`,Đ:`D`,đ:`d`,Ē:`E`,ē:`e`,Ĕ:`E`,ĕ:`e`,Ė:`E`,ė:`e`,Ę:`E`,ę:`e`,Ě:`E`,ě:`e`,Ĝ:`G`,Ǵ:`G`,ĝ:`g`,ǵ:`g`,Ğ:`G`,ğ:`g`,Ġ:`G`,ġ:`g`,Ģ:`G`,ģ:`g`,Ĥ:`H`,ĥ:`h`,Ħ:`H`,ħ:`h`,Ḫ:`H`,ḫ:`h`,Ĩ:`I`,ĩ:`i`,Ī:`I`,ī:`i`,Ĭ:`I`,ĭ:`i`,Į:`I`,į:`i`,İ:`I`,ı:`i`,IJ:`IJ`,ij:`ij`,Ĵ:`J`,ĵ:`j`,Ķ:`K`,ķ:`k`,Ḱ:`K`,ḱ:`k`,K̆:`K`,k̆:`k`,Ĺ:`L`,ĺ:`l`,Ļ:`L`,ļ:`l`,Ľ:`L`,ľ:`l`,Ŀ:`L`,ŀ:`l`,Ł:`l`,ł:`l`,Ḿ:`M`,ḿ:`m`,M̆:`M`,m̆:`m`,Ń:`N`,ń:`n`,Ņ:`N`,ņ:`n`,Ň:`N`,ň:`n`,ʼn:`n`,N̆:`N`,n̆:`n`,Ō:`O`,ō:`o`,Ŏ:`O`,ŏ:`o`,Ő:`O`,ő:`o`,Œ:`OE`,œ:`oe`,P̆:`P`,p̆:`p`,Ŕ:`R`,ŕ:`r`,Ŗ:`R`,ŗ:`r`,Ř:`R`,ř:`r`,R̆:`R`,r̆:`r`,Ȓ:`R`,ȓ:`r`,Ś:`S`,ś:`s`,Ŝ:`S`,ŝ:`s`,Ş:`S`,Ș:`S`,ș:`s`,ş:`s`,Š:`S`,š:`s`,Ţ:`T`,ţ:`t`,ț:`t`,Ț:`T`,Ť:`T`,ť:`t`,Ŧ:`T`,ŧ:`t`,T̆:`T`,t̆:`t`,Ũ:`U`,ũ:`u`,Ū:`U`,ū:`u`,Ŭ:`U`,ŭ:`u`,Ů:`U`,ů:`u`,Ű:`U`,ű:`u`,Ų:`U`,ų:`u`,Ȗ:`U`,ȗ:`u`,V̆:`V`,v̆:`v`,Ŵ:`W`,ŵ:`w`,Ẃ:`W`,ẃ:`w`,X̆:`X`,x̆:`x`,Ŷ:`Y`,ŷ:`y`,Ÿ:`Y`,Y̆:`Y`,y̆:`y`,Ź:`Z`,ź:`z`,Ż:`Z`,ż:`z`,Ž:`Z`,ž:`z`,ſ:`s`,ƒ:`f`,Ơ:`O`,ơ:`o`,Ư:`U`,ư:`u`,Ǎ:`A`,ǎ:`a`,Ǐ:`I`,ǐ:`i`,Ǒ:`O`,ǒ:`o`,Ǔ:`U`,ǔ:`u`,Ǖ:`U`,ǖ:`u`,Ǘ:`U`,ǘ:`u`,Ǚ:`U`,ǚ:`u`,Ǜ:`U`,ǜ:`u`,Ứ:`U`,ứ:`u`,Ṹ:`U`,ṹ:`u`,Ǻ:`A`,ǻ:`a`,Ǽ:`AE`,ǽ:`ae`,Ǿ:`O`,ǿ:`o`,Þ:`TH`,þ:`th`,Ṕ:`P`,ṕ:`p`,Ṥ:`S`,ṥ:`s`,X́:`X`,x́:`x`,Ѓ:`Г`,ѓ:`г`,Ќ:`К`,ќ:`к`,A̋:`A`,a̋:`a`,E̋:`E`,e̋:`e`,I̋:`I`,i̋:`i`,Ǹ:`N`,ǹ:`n`,Ồ:`O`,ồ:`o`,Ṑ:`O`,ṑ:`o`,Ừ:`U`,ừ:`u`,Ẁ:`W`,ẁ:`w`,Ỳ:`Y`,ỳ:`y`,Ȁ:`A`,ȁ:`a`,Ȅ:`E`,ȅ:`e`,Ȉ:`I`,ȉ:`i`,Ȍ:`O`,ȍ:`o`,Ȑ:`R`,ȑ:`r`,Ȕ:`U`,ȕ:`u`,B̌:`B`,b̌:`b`,Č̣:`C`,č̣:`c`,Ê̌:`E`,ê̌:`e`,F̌:`F`,f̌:`f`,Ǧ:`G`,ǧ:`g`,Ȟ:`H`,ȟ:`h`,J̌:`J`,ǰ:`j`,Ǩ:`K`,ǩ:`k`,M̌:`M`,m̌:`m`,P̌:`P`,p̌:`p`,Q̌:`Q`,q̌:`q`,Ř̩:`R`,ř̩:`r`,Ṧ:`S`,ṧ:`s`,V̌:`V`,v̌:`v`,W̌:`W`,w̌:`w`,X̌:`X`,x̌:`x`,Y̌:`Y`,y̌:`y`,A̧:`A`,a̧:`a`,B̧:`B`,b̧:`b`,Ḑ:`D`,ḑ:`d`,Ȩ:`E`,ȩ:`e`,Ɛ̧:`E`,ɛ̧:`e`,Ḩ:`H`,ḩ:`h`,I̧:`I`,i̧:`i`,Ɨ̧:`I`,ɨ̧:`i`,M̧:`M`,m̧:`m`,O̧:`O`,o̧:`o`,Q̧:`Q`,q̧:`q`,U̧:`U`,u̧:`u`,X̧:`X`,x̧:`x`,Z̧:`Z`,z̧:`z`,й:`и`,Й:`И`,ё:`е`,Ё:`Е`},r=Object.keys(n).join(`|`),i=new RegExp(r,`g`),a=new RegExp(r,``);function o(e){return n[e]}var s=function(e){return e.replace(i,o)},c=function(e){return!!e.match(a)};t.exports=s,t.exports.has=c,t.exports.remove=s}))()),tm={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},nm=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function rm(e,t,n={}){let{keys:r,threshold:i=tm.MATCHES,baseSort:a=nm,sorter:o=e=>e.sort((e,t)=>lm(e,t,a))}=n;return o(e.reduce(s,[])).map(({item:e})=>e);function s(e,a,o){let s=im(a,r,t,n),{rank:c,keyThreshold:l=i}=s;return c>=l&&e.push({...s,item:a,index:o}),e}}rm.rankings=tm;function im(e,t,n,r){if(!t){let t=e;return{rankedValue:t,rank:om(t,n,r),keyIndex:-1,keyThreshold:r.threshold}}return pm(e,t).reduce(({rank:e,rankedValue:t,keyIndex:i,keyThreshold:a},{itemValue:o,attributes:s},c)=>{let l=om(o,n,r),u=t,{minRanking:d,maxRanking:f,threshold:p}=s;return l=tm.MATCHES?l=d:l>f&&(l=f),l>e&&(e=l,i=c,a=p,u=o),{rankedValue:u,rank:e,keyIndex:i,keyThreshold:a}},{rankedValue:e,rank:tm.NO_MATCH,keyIndex:-1,keyThreshold:r.threshold})}function*am(e,t){let n=-1;for(;(n=e.indexOf(t,n+1))>-1;)yield n;return-1}function om(e,t,n){if(e=um(e,n),t=um(t,n),t.length>e.length)return tm.NO_MATCH;if(e===t)return tm.CASE_SENSITIVE_EQUAL;e=e.toLowerCase(),t=t.toLowerCase();let r=am(e,t),i=r.next(),a=i.value;if(e.length===t.length&&a===0)return tm.EQUAL;if(a===0)return tm.STARTS_WITH;let o=i;for(;!o.done;){if(o.value>0&&e[o.value-1]===` `)return tm.WORD_STARTS_WITH;o=r.next()}return a>0?tm.CONTAINS:t.length===1?tm.NO_MATCH:sm(e).includes(t)?tm.ACRONYM:cm(e,t)}function sm(e){let t=``,n=` `;for(let r=0;r-1))return tm.NO_MATCH}return a(r-o)}function lm(e,t,n){let{rank:r,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return r===a?i===o?n(e,t):ia?-1:1}function um(e,{keepDiacritics:t}){return e=`${e}`,t||(e=(0,em.default)(e)),e}function dm(e,t){typeof t==`object`&&(t=t.key);let n;if(typeof t==`function`)n=t(e);else if(e==null)n=null;else if(Object.hasOwnProperty.call(e,t))n=e[t];else if(t.includes(`.`))return fm(t,e);else n=null;return n==null?[]:Array.isArray(n)?n:[String(n)]}function fm(e,t){let n=e.split(`.`),r=[t];for(let e=0,t=n.length;e{var n=200,r=`Expected a function`,i=`__lodash_hash_undefined__`,a=1,o=2,s=1/0,c=9007199254740991,l=`[object Arguments]`,u=`[object Array]`,d=`[object Boolean]`,f=`[object Date]`,p=`[object Error]`,m=`[object Function]`,h=`[object GeneratorFunction]`,g=`[object Map]`,_=`[object Number]`,v=`[object Object]`,y=`[object Promise]`,b=`[object RegExp]`,x=`[object Set]`,S=`[object String]`,C=`[object Symbol]`,w=`[object WeakMap]`,T=`[object ArrayBuffer]`,E=`[object DataView]`,D=`[object Float32Array]`,O=`[object Float64Array]`,k=`[object Int8Array]`,A=`[object Int16Array]`,j=`[object Int32Array]`,M=`[object Uint8Array]`,ee=`[object Uint8ClampedArray]`,te=`[object Uint16Array]`,N=`[object Uint32Array]`,P=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ne=/^\w*$/,re=/^\./,ie=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,F=/[\\^$.*+?()[\]{}|]/g,I=/\\(\\)?/g,L=/^\[object .+?Constructor\]$/,ae=/^(?:0|[1-9]\d*)$/,R={};R[D]=R[O]=R[k]=R[A]=R[j]=R[M]=R[ee]=R[te]=R[N]=!0,R[l]=R[u]=R[T]=R[d]=R[E]=R[f]=R[p]=R[m]=R[g]=R[_]=R[v]=R[b]=R[x]=R[S]=R[w]=!1;var oe=typeof global==`object`&&global&&global.Object===Object&&global,se=typeof self==`object`&&self&&self.Object===Object&&self,ce=oe||se||Function(`return this`)(),le=typeof e==`object`&&e&&!e.nodeType&&e,ue=le&&typeof t==`object`&&t&&!t.nodeType&&t,de=ue&&ue.exports===le&&oe.process,fe=function(){try{return de&&de.binding(`util`)}catch{}}(),pe=fe&&fe.isTypedArray;function me(e,t){for(var n=-1,r=e?e.length:0,i=Array(r);++n-1}function ct(e,t){var n=this.__data__,r=Tt(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}rt.prototype.clear=it,rt.prototype.delete=at,rt.prototype.get=ot,rt.prototype.has=st,rt.prototype.set=ct;function lt(e){var t=-1,n=e?e.length:0;for(this.clear();++tt||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function qt(e,t){return function(n,r){if(n==null)return n;if(!yn(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++al))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var f=-1,p=!0,m=i&a?new ht:void 0;for(s.set(e,t),s.set(t,e);++f-1&&e%1==0&&e-1&&e%1==0&&e<=c}function Cn(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function wn(e){return!!e&&typeof e==`object`}function Tn(e){return typeof e==`symbol`||wn(e)&&Me.call(e)==C}var En=pe?ye(pe):It;function Dn(e){return e==null?``:Wt(e)}function On(e,t,n){var r=e==null?void 0:kt(e,t);return r===void 0?n:r}function kn(e,t){return e!=null&&nn(e,t,jt)}function An(e){return yn(e)?wt(e):Rt(e)}function jn(e){return e}function Mn(e){return an(e)?ge(fn(e)):Ut(e)}t.exports=mn}))(),1),ym={InputWrapper:`_InputWrapper_11g9i_1`,Shortcut:`_Shortcut_11g9i_9`,Input:`_Input_11g9i_1`,SelectedValue:`_SelectedValue_11g9i_52`,SelectedName:`_SelectedName_11g9i_67`,ItemType:`_ItemType_11g9i_79`,Popover:`_Popover_11g9i_83`,List:`_List_11g9i_95`,Group:`_Group_11g9i_99`,GroupLabel:`_GroupLabel_11g9i_107`,Item:`_Item_11g9i_79`,ItemHeader:`_ItemHeader_11g9i_147`,ItemName:`_ItemName_11g9i_153`,ItemTypes:`_ItemTypes_11g9i_159`,ItemMissionName:`_ItemMissionName_11g9i_178`,NoResults:`_NoResults_11g9i_183`,Backdrop:`_Backdrop_11g9i_190`,CloseButton:`_CloseButton_11g9i_200`},bm=new Set([`SkiFree`,`SkiFree_Daily`,`SkiFree_Randomizer`]),xm={"missions.vl2":`Official`,"TR2final105-client.vl2":`Team Rabbit 2`,"z_mappacks/CTF/Classic_maps_v1.vl2":`Classic`,"z_mappacks/CTF/DynamixFinalPack.vl2":`Official`,"z_mappacks/CTF/KryMapPack_b3EDIT.vl2":`KryMapPack`,"z_mappacks/CTF/S5maps.vl2":`S5`,"z_mappacks/CTF/S8maps.vl2":`S8`,"z_mappacks/CTF/TWL-MapPack.vl2":`TWL`,"z_mappacks/CTF/TWL-MapPackEDIT.vl2":`TWL`,"z_mappacks/CTF/TWL2-MapPack.vl2":`TWL2`,"z_mappacks/CTF/TWL2-MapPackEDIT.vl2":`TWL2`,"z_mappacks/TWL_T2arenaOfficialMaps.vl2":`Arena`,"z_mappacks/xPack2.vl2":`xPack2`,"z_mappacks/z_DMP2-V0.6.vl2":`DMP2 (Discord Map Pack)`,"z_mappacks/zDMP-4.7.3DX.vl2":`DMP (Discord Map Pack)`,"z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2":`DMP (Discord Map Pack)`},Sm={"z_mappacks/DM":`DM`,"z_mappacks/LCTF":`LCTF`,"z_mappacks/Lak":`LakRabbit`},Cm=e=>{let t=e.match(/^(.*)(\/[^/]+)$/);return t?t[1]:``},wm=T().filter(e=>!bm.has(e)).map(e=>{let t=w(e),[n]=E(t.resourcePath),r=Cm(n),i=xm[n]??Sm[r]??null;return{resourcePath:t.resourcePath,missionName:e,displayName:t.displayName,sourcePath:n,groupName:i,missionTypes:t.missionTypes}}),Tm=new Map(wm.map(e=>[e.missionName,e]));function Em(e){let t=new Map;for(let n of e){let e=t.get(n.groupName)??[];e.push(n),t.set(n.groupName,e)}return t.forEach((e,n)=>{t.set(n,(0,vm.default)(e,[e=>(e.displayName||e.missionName).toLowerCase()],[`asc`]))}),(0,vm.default)(Array.from(t.entries()),[([e])=>e===`Official`?0:e==null?2:1,([e])=>e?e.toLowerCase():``],[`asc`,`asc`])}var Dm=Em(wm),Om=typeof navigator<`u`&&/Mac|iPhone|iPad|iPod/.test(navigator.platform);function km(e){let t=(0,B.c)(12),{mission:n}=e,r=n.displayName||n.missionName,i;t[0]===r?i=t[1]:(i=(0,V.jsx)(`span`,{className:ym.ItemName,children:r}),t[0]=r,t[1]=i);let a;t[2]===n.missionTypes?a=t[3]:(a=n.missionTypes.length>0&&(0,V.jsx)(`span`,{className:ym.ItemTypes,children:n.missionTypes.map(Am)}),t[2]=n.missionTypes,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,V.jsxs)(`span`,{className:ym.ItemHeader,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let s;t[7]===n.missionName?s=t[8]:(s=(0,V.jsx)(`span`,{className:ym.ItemMissionName,children:n.missionName}),t[7]=n.missionName,t[8]=s);let c;return t[9]!==o||t[10]!==s?(c=(0,V.jsxs)(V.Fragment,{children:[o,s]}),t[9]=o,t[10]=s,t[11]=c):c=t[11],c}function Am(e){return(0,V.jsx)(`span`,{className:ym.ItemType,"data-mission-type":e,children:e},e)}function jm(e){let t=(0,B.c)(60),{value:n,missionType:r,onChange:i,disabled:a,autoFocus:o,onCancel:s}=e,[c,l]=(0,z.useState)(``),u=(0,z.useRef)(null),d=(0,z.useRef)(r),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{(0,z.startTransition)(()=>l(e))},t[0]=f):f=t[0];let p=Qp({resetValueOnHide:!0,selectedValue:n,setSelectedValue:e=>{if(e){let t=d.current,n=w(e).missionTypes;(!t||!n.includes(t))&&(t=n[0]),i({missionName:e,missionType:t}),u.current?.blur()}},setValue:f}),m=Tc(p,`open`),h,g;t[1]!==o||t[2]!==p?(h=()=>{o&&(u.current?.focus(),p.show())},g=[o,p],t[1]=o,t[2]=p,t[3]=h,t[4]=g):(h=t[3],g=t[4]),(0,z.useEffect)(h,g);let _,v;t[5]===p?(_=t[6],v=t[7]):(_=()=>{let e=e=>{e.key===`k`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u.current?.focus(),p.show())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},v=[p],t[5]=p,t[6]=_,t[7]=v),(0,z.useEffect)(_,v);let y;t[8]===n?y=t[9]:(y=Tm.get(n),t[8]=n,t[9]=y);let b=y,x;bb0:{if(!c){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e={type:`grouped`,groups:Dm},t[10]=e):e=t[10],x=e;break bb0}let e;t[11]===c?e=t[12]:(e=rm(wm,c,{keys:[`displayName`,`missionName`,`missionTypes`,`groupName`]}),t[11]=c,t[12]=e);let n=e,r;t[13]===n?r=t[14]:(r={type:`flat`,missions:n},t[13]=n,t[14]=r),x=r}let S=x,C=b?b.displayName||b.missionName:n,T=S.type===`flat`?S.missions.length===0:S.groups.length===0,E=e=>(0,V.jsx)(Rp,{value:e.missionName,className:ym.Item,focusOnHover:!0,onClick:t=>{if(t.target&&t.target instanceof HTMLElement){let r=t.target.dataset.missionType;r?(d.current=r,e.missionName===n&&i({missionName:e.missionName,missionType:r})):d.current=null}else d.current=null},children:(0,V.jsx)(km,{mission:e})},e.missionName),D=$p,O=m?`visible`:`hidden`,k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,V.jsx)(`div`,{className:ym.Backdrop}),t[15]=k):k=t[15];let A;t[16]===O?A=t[17]:(A=(0,V.jsx)(z.Activity,{mode:O,children:k}),t[16]=O,t[17]=A);let j=b?void 0:`Choose a map…`,M,ee;t[18]===p?(M=t[19],ee=t[20]):(M=()=>{try{document.exitPointerLock()}catch{}p.show()},ee=e=>{e.key===`Escape`&&!p.getState().open&&u.current?.blur()},t[18]=p,t[19]=M,t[20]=ee);let te;t[21]!==o||t[22]!==a||t[23]!==j||t[24]!==M||t[25]!==ee?(te=(0,V.jsx)(Dp,{ref:u,autoSelect:!0,autoFocus:o,disabled:a,placeholder:j,className:ym.Input,onFocus:M,onKeyDown:ee}),t[21]=o,t[22]=a,t[23]=j,t[24]=M,t[25]=ee,t[26]=te):te=t[26];let N;t[27]!==C||t[28]!==r||t[29]!==b?(N=b&&(0,V.jsxs)(`div`,{className:ym.SelectedValue,children:[(0,V.jsx)(`span`,{className:ym.SelectedName,children:C}),r&&(0,V.jsx)(`span`,{className:ym.ItemType,"data-mission-type":r,children:r})]}),t[27]=C,t[28]=r,t[29]=b,t[30]=N):N=t[30];let P;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,V.jsx)(`kbd`,{className:ym.Shortcut,children:Om?`⌘K`:`^K`}),t[31]=P):P=t[31];let ne;t[32]!==te||t[33]!==N?(ne=(0,V.jsxs)(`div`,{className:ym.InputWrapper,children:[te,N,P]}),t[32]=te,t[33]=N,t[34]=ne):ne=t[34];let re=Gp,ie=ym,F=Vp,I=ym,L=S.type===`flat`?S.missions.map(E):S.groups.map(e=>{let[t,n]=e;return t?(0,V.jsxs)(Ap,{className:ym.Group,children:[(0,V.jsx)(Np,{className:ym.GroupLabel,children:t}),n.map(E)]},t):(0,V.jsx)(z.Fragment,{children:n.map(E)},`ungrouped`)}),ae;t[35]===T?ae=t[36]:(ae=T&&(0,V.jsx)(`div`,{className:ym.NoResults,children:`No missions found`}),t[35]=T,t[36]=ae);let R;t[37]!==F||t[38]!==I.List||t[39]!==L||t[40]!==ae?(R=(0,V.jsxs)(F,{className:I.List,children:[L,ae]}),t[37]=F,t[38]=I.List,t[39]=L,t[40]=ae,t[41]=R):R=t[41];let oe;t[42]!==re||t[43]!==ie.Popover||t[44]!==R?(oe=(0,V.jsx)(re,{gutter:4,fitViewport:!0,autoFocusOnHide:!1,className:ie.Popover,children:R}),t[42]=re,t[43]=ie.Popover,t[44]=R,t[45]=oe):oe=t[45];let se;t[46]!==p||t[47]!==s?(se=()=>{p.hide(),s?.()},t[46]=p,t[47]=s,t[48]=se):se=t[48];let ce;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,V.jsx)(_m,{}),t[49]=ce):ce=t[49];let le;t[50]!==m||t[51]!==se?(le=(0,V.jsx)(`button`,{type:`button`,className:ym.CloseButton,"data-open":m,onClick:se,children:ce}),t[50]=m,t[51]=se,t[52]=le):le=t[52];let ue;return t[53]!==D||t[54]!==p||t[55]!==A||t[56]!==ne||t[57]!==oe||t[58]!==le?(ue=(0,V.jsxs)(D,{store:p,children:[A,ne,oe,le]}),t[53]=D,t[54]=p,t[55]=A,t[56]=ne,t[57]=oe,t[58]=le,t[59]=ue):ue=t[59],ue}function Mm(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`m12 6-6 8h12zM6 16h12v2H6z`},child:[]}]})(e)}var Nm={Header:`_Header_1v31r_1`,MissionInfo:`_MissionInfo_1v31r_9`,MissionName:`_MissionName_1v31r_21 _SelectedName_11g9i_67`,MissionType:`_MissionType_1v31r_25 _ItemType_11g9i_79`,MissionTypeDisplayName:`_MissionTypeDisplayName_1v31r_30`,Metadata:`_Metadata_1v31r_35`,Attribution:`_Attribution_1v31r_46`,ServerInfo:`_ServerInfo_1v31r_47`,PlayerName:`_PlayerName_1v31r_51`,RecordingDate:`_RecordingDate_1v31r_52`,ServerName:`_ServerName_1v31r_53`,ActionButton:`_ActionButton_1v31r_57 _IconButton_4wify_23`,EjectIcon:`_EjectIcon_1v31r_74`,Error:`_Error_1v31r_79`,Pulsing:`_Pulsing_1v31r_93`,blink:`_blink_1v31r_1`,ConnectionPing:`_ConnectionPing_1v31r_97`,PingDot:`_PingDot_1v31r_107 _Pulsing_1v31r_93`};function Pm(){let e=(0,B.c)(28),t=In(),n=Wn(),r=Bn(),i=Hn(),a=Kn(),o=Jn(),s=Xn(),[c,l]=s?s.split(` `):[null,null],u=t===`live`,d=ir(),f=tr(Lm),p=tr(nr),m=Im,h=Fm,g=Nm,_;e[0]!==n||e[1]!==r||e[2]!==i?(_=n&&r?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:Nm.MissionName,children:n}),r&&(0,V.jsxs)(V.Fragment,{children:[` `,(0,V.jsx)(`span`,{className:Nm.MissionType,"data-mission-type":r,children:i===`LCTF`?`LCTF`:r})]})]}):null,e[0]=n,e[1]=r,e[2]=i,e[3]=_):_=e[3];let v;e[4]===_?v=e[5]:(v=(0,V.jsx)(`div`,{className:Nm.MissionInfo,children:_}),e[4]=_,e[5]=v);let y;e[6]!==f||e[7]!==p?(y=f&&p!=null?(0,V.jsxs)(`span`,{className:Nm.ConnectionPing,"data-quality":p<150?`good`:p<300?`fine`:`poor`,children:[(0,V.jsx)(`span`,{className:Nm.PingDot}),` `,D(p)]}):null,e[6]=f,e[7]=p,e[8]=y):y=e[8];let b=Nm,x=u?f?o?(0,V.jsxs)(`div`,{className:Nm.Attribution,children:[`Connected as`,` `,(0,V.jsx)(`span`,{className:Nm.PlayerName,children:o})]}):null:(0,V.jsx)(`div`,{className:Nm.Error,children:`Disconnected`}):o&&s?(0,V.jsxs)(`div`,{className:Nm.Attribution,children:[`Recorded by `,(0,V.jsx)(`span`,{className:Nm.PlayerName,children:o}),` `,`on`,` `,(0,V.jsx)(`span`,{className:Nm.RecordingDate,children:c.replace(/-/g,` `)}),` `,`at `,(0,V.jsx)(`span`,{className:Nm.RecordingDate,children:l})]}):null,S;e[9]===a?S=e[10]:(S=a?(0,V.jsxs)(`div`,{className:Nm.ServerInfo,children:[`Server: `,(0,V.jsx)(`span`,{className:Nm.ServerName,children:a})]}):null,e[9]=a,e[10]=S);let C;e[11]!==b.Metadata||e[12]!==x||e[13]!==S?(C=(0,V.jsxs)(`div`,{className:b.Metadata,children:[x,S]}),e[11]=b.Metadata,e[12]=x,e[13]=S,e[14]=C):C=e[14];let w;e[15]!==t||e[16]!==h||e[17]!==m||e[18]!==u||e[19]!==f||e[20]!==d?(w=t===`demo`?(0,V.jsx)(`button`,{type:`button`,className:Nm.ActionButton,title:`Unload demo`,"aria-label":`Unload demo`,onClick:m,disabled:!d,children:(0,V.jsx)(Mm,{className:Nm.EjectIcon})}):u?(0,V.jsx)(`button`,{type:`button`,className:Nm.ActionButton,title:`Disconnect`,"aria-label":`Disconnect`,onClick:h,disabled:!f,children:(0,V.jsx)(cn,{})}):null,e[15]=t,e[16]=h,e[17]=m,e[18]=u,e[19]=f,e[20]=d,e[21]=w):w=e[21];let T;return e[22]!==g.Header||e[23]!==v||e[24]!==y||e[25]!==C||e[26]!==w?(T=(0,V.jsxs)(`div`,{className:g.Header,children:[v,y,C,w]}),e[22]=g.Header,e[23]=v,e[24]=y,e[25]=C,e[26]=w,e[27]=T):T=e[27],T}function Fm(){er.getState().disconnectServer(),Oe.getState().setRecording(null)}function Im(){Oe.getState().setRecording(null)}function Lm(e){return e.gameStatus===`connected`||e.gameStatus===`authenticating`}function Rm(e){let t=(0,B.c)(5),{onChangeMission:n}=e,{setRecording:r}=mr(),i=(0,z.useEffectEvent)(n),a;t[0]!==i||t[1]!==r?(a=()=>(window.setMissionName=e=>{let t=w(e).missionTypes;i({missionName:e,missionType:t[0]})},window.getMissionList=T,window.getMissionInfo=w,window.loadDemoRecording=r,zm),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=[r],t[3]=r,t[4]=o),(0,z.useEffect)(a,o)}function zm(){delete window.setMissionName,delete window.getMissionList,delete window.getMissionInfo,delete window.loadDemoRecording}var Bm=e=>e;function Vm(e,t=Bm){let n=z.useSyncExternalStore(e.subscribe,z.useCallback(()=>t(e.getState()),[e,t]),z.useCallback(()=>t(e.getInitialState()),[e,t]));return z.useDebugValue(n),n}var Hm=e=>{let t=j(e),n=e=>Vm(t,e);return Object.assign(n,t),n},Um=(e=>e?Hm(e):Hm),Wm=z.createContext(null);function Gm({map:e,children:t,onChange:n,domElement:r}){let i=e.map(e=>e.name+e.keys).join(`-`),a=z.useMemo(()=>Um(ke(()=>e.reduce((e,t)=>({...e,[t.name]:!1}),{}))),[i]),o=z.useMemo(()=>[a.subscribe,a.getState,a],[i]),s=a.setState;return z.useEffect(()=>{let t=e.map(({name:e,keys:t,up:r})=>({keys:t,up:r,fn:t=>{s({[e]:t}),n&&n(e,t,o[1]())}})).reduce((e,{keys:t,fn:n,up:r=!0})=>(t.forEach(t=>e[t]={fn:n,pressed:!1,up:r}),e),{}),i=({key:e,code:n})=>{let r=t[e]||t[n];if(!r)return;let{fn:i,pressed:a,up:o}=r;r.pressed=!0,(o||!a)&&i(!0)},a=({key:e,code:n})=>{let r=t[e]||t[n];if(!r)return;let{fn:i,up:a}=r;r.pressed=!1,a&&i(!1)},c=r||window;return c.addEventListener(`keydown`,i,{passive:!0}),c.addEventListener(`keyup`,a,{passive:!0}),()=>{c.removeEventListener(`keydown`,i),c.removeEventListener(`keyup`,a)}},[r,i]),z.createElement(Wm.Provider,{value:o,children:t})}function Km(e){let[t,n,r]=z.useContext(Wm);return e?r(e):[t,n]}var qm=Object.defineProperty,Jm=(e,t,n)=>t in e?qm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ym=(e,t,n)=>(Jm(e,typeof t==`symbol`?t:t+``,n),n),Xm=class{constructor(){Ym(this,`_listeners`)}addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;let n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;let n=this._listeners[e];if(n!==void 0){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}dispatchEvent(e){if(this._listeners===void 0)return;let t=this._listeners[e.type];if(t!==void 0){e.target=this;let n=t.slice(0);for(let t=0,r=n.length;tt in e?Zm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$m=(e,t,n)=>(Qm(e,typeof t==`symbol`?t:t+``,n),n),eh=new Se(0,0,0,`YXZ`),th=new we,nh={type:`change`},rh={type:`lock`},ih={type:`unlock`},ah=.002,oh=Math.PI/2,sh=class extends Xm{constructor(e,t){super(),$m(this,`camera`),$m(this,`domElement`),$m(this,`isLocked`),$m(this,`minPolarAngle`),$m(this,`maxPolarAngle`),$m(this,`pointerSpeed`),$m(this,`onMouseMove`,e=>{!this.domElement||this.isLocked===!1||(eh.setFromQuaternion(this.camera.quaternion),eh.y-=e.movementX*ah*this.pointerSpeed,eh.x-=e.movementY*ah*this.pointerSpeed,eh.x=Math.max(oh-this.maxPolarAngle,Math.min(oh-this.minPolarAngle,eh.x)),this.camera.quaternion.setFromEuler(eh),this.dispatchEvent(nh))}),$m(this,`onPointerlockChange`,()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent(rh),this.isLocked=!0):(this.dispatchEvent(ih),this.isLocked=!1))}),$m(this,`onPointerlockError`,()=>{console.error(`THREE.PointerLockControls: Unable to use Pointer Lock API`)}),$m(this,`connect`,e=>{this.domElement=e||this.domElement,this.domElement&&(this.domElement.ownerDocument.addEventListener(`mousemove`,this.onMouseMove),this.domElement.ownerDocument.addEventListener(`pointerlockchange`,this.onPointerlockChange),this.domElement.ownerDocument.addEventListener(`pointerlockerror`,this.onPointerlockError))}),$m(this,`disconnect`,()=>{this.domElement&&(this.domElement.ownerDocument.removeEventListener(`mousemove`,this.onMouseMove),this.domElement.ownerDocument.removeEventListener(`pointerlockchange`,this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener(`pointerlockerror`,this.onPointerlockError))}),$m(this,`dispose`,()=>{this.disconnect()}),$m(this,`getObject`,()=>this.camera),$m(this,`direction`,new we(0,0,-1)),$m(this,`getDirection`,e=>e.copy(this.direction).applyQuaternion(this.camera.quaternion)),$m(this,`moveForward`,e=>{th.setFromMatrixColumn(this.camera.matrix,0),th.crossVectors(this.camera.up,th),this.camera.position.addScaledVector(th,e)}),$m(this,`moveRight`,e=>{th.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(th,e)}),$m(this,`lock`,()=>{this.domElement&&this.domElement.requestPointerLock()}),$m(this,`unlock`,()=>{this.domElement&&this.domElement.ownerDocument.exitPointerLock()}),this.camera=e,this.domElement=t,this.isLocked=!1,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.pointerSpeed=1,t&&this.connect(t)}},ch=(0,z.createContext)(null);function lh(){let e=(0,z.useContext)(ch);if(!e)throw Error(`No JoystickContext found. Did you forget to add a ?`);return e}function uh(e){let t=(0,B.c)(7),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={angle:0,force:0},t[0]=r):r=t[0];let i=(0,z.useRef)(r),a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a={angle:0,force:0},t[1]=a):a=t[1];let o=(0,z.useRef)(a),s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=e=>{let{angle:t,force:n}=e;t!=null&&(i.current.angle=t),n!=null&&(i.current.force=n)},t[2]=s):s=t[2];let c=s,l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>{let{angle:t,force:n}=e;t!=null&&(o.current.angle=t),n!=null&&(o.current.force=n)},t[3]=l):l=t[3];let u=l,d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d={moveState:i,lookState:o,setMoveState:c,setLookState:u},t[4]=d):d=t[4];let f=d,p;return t[5]===n?p=t[6]:(p=(0,V.jsx)(ch,{value:f,children:n}),t[5]=n,t[6]=p),p}var dh=(0,z.createContext)(null);function fh(){let e=(0,z.useContext)(dh);if(!e)throw Error(`useCameras must be used within CamerasProvider`);return e}function ph({children:e}){let t=o(e=>e.camera),[n,r]=(0,z.useState)(-1),[i,a]=(0,z.useState)({}),[s,c]=(0,z.useState)(()=>({initialized:!1,position:null,quarternion:null})),l=(0,z.useCallback)(e=>{a(t=>({...t,[e.id]:e}))},[]),u=(0,z.useCallback)(e=>{a(t=>{let{[e.id]:n,...r}=t;return r})},[]),d=Object.keys(i).length,f=(0,z.useCallback)(e=>{if(e>=0&&e{f(d?(n+1)%d:-1)},[d,n,f]);(0,z.useEffect)(()=>{let e=()=>{let e=window.location.hash;if(e.startsWith(`#c`)){let[t,n]=e.slice(2).split(`~`),r=t.split(`,`).map(e=>parseFloat(e)),i=n.split(`,`).map(e=>parseFloat(e));c({initialized:!0,position:new we(...r),quarternion:new Ce(...i)})}else c({initialized:!0,position:null,quarternion:null})};return window.addEventListener(`hashchange`,e),e(),()=>{window.removeEventListener(`hashchange`,e)}},[]),(0,z.useEffect)(()=>{s.initialized&&s.position&&(t.position.copy(s.position),s.quarternion&&t.quaternion.copy(s.quarternion))},[t,s]),(0,z.useEffect)(()=>{!s.initialized||s.position||d>0&&n===-1&&f(0)},[d,f,n,s]);let m=(0,z.useMemo)(()=>({registerCamera:l,unregisterCamera:u,nextCamera:p,setCameraIndex:f,cameraCount:d}),[l,u,p,f,d]);return d===0&&n!==-1&&r(-1),(0,V.jsx)(dh.Provider,{value:m,children:e})}var mh=(0,z.createContext)(null);function hh(){let e=(0,z.useContext)(mh);if(!e)throw Error(`useInputContext must be used within an InputProvider`);return e}function gh(){return hh().onInput}var _h={forward:`forward`,backward:`backward`,left:`left`,right:`right`,up:`up`,down:`down`,lookUp:`lookUp`,lookDown:`lookDown`,lookLeft:`lookLeft`,lookRight:`lookRight`,camera1:`camera1`,camera2:`camera2`,camera3:`camera3`,camera4:`camera4`,camera5:`camera5`,camera6:`camera6`,camera7:`camera7`,camera8:`camera8`,camera9:`camera9`},vh=[{name:_h.forward,keys:[`KeyW`]},{name:_h.backward,keys:[`KeyS`]},{name:_h.left,keys:[`KeyA`]},{name:_h.right,keys:[`KeyD`]},{name:_h.up,keys:[`Space`]},{name:_h.down,keys:[`ShiftLeft`,`ShiftRight`]},{name:_h.lookUp,keys:[`ArrowUp`]},{name:_h.lookDown,keys:[`ArrowDown`]},{name:_h.lookLeft,keys:[`ArrowLeft`]},{name:_h.lookRight,keys:[`ArrowRight`]},{name:_h.camera1,keys:[`Digit1`]},{name:_h.camera2,keys:[`Digit2`]},{name:_h.camera3,keys:[`Digit3`]},{name:_h.camera4,keys:[`Digit4`]},{name:_h.camera5,keys:[`Digit5`]},{name:_h.camera6,keys:[`Digit6`]},{name:_h.camera7,keys:[`Digit7`]},{name:_h.camera8,keys:[`Digit8`]},{name:_h.camera9,keys:[`Digit9`]}],yh=new Set([`KeyW`,`KeyA`,`KeyS`,`KeyD`,`Space`,`ShiftLeft`,`ShiftRight`,`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`]),bh=2,xh=11,Sh=3,Ch=.002;function wh(e){let t=(e-b)/(1-b);return(Math.round(t*15)+1)/16}function Th(){let e=(0,B.c)(53),t=g(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0],(0,z.useEffect)(Ah,n);let{speedMultiplier:r,setSpeedMultiplier:i,mouseSensitivity:s,invertScroll:c,invertDrag:l}=v(),{onInput:u,mode:d}=hh(),[f,p]=Km(),m=o(kh),h=o(Oh),{nextCamera:_,setCameraIndex:y,cameraCount:x}=fh(),S=(0,z.useRef)(null),C;e[1]===c?C=e[2]:(C=()=>c,e[1]=c,e[2]=C);let w=(0,z.useEffectEvent)(C),T;e[3]===l?T=e[4]:(T=()=>l,e[3]=l,e[4]=T);let E=(0,z.useEffectEvent)(T),D;e[5]===d?D=e[6]:(D=()=>d,e[5]=d,e[6]=D);let O=(0,z.useEffectEvent)(D),k;e[7]===s?k=e[8]:(k=()=>s,e[7]=s,e[8]=k);let A=(0,z.useEffectEvent)(k),j;e[9]===t?j=e[10]:(j=()=>t,e[9]=t,e[10]=j);let M=(0,z.useEffectEvent)(j),ee=(0,z.useRef)(0),te=(0,z.useRef)(0),N=(0,z.useRef)(!1),P=(0,z.useRef)(!1),ne,re;e[11]!==m||e[12]!==h.domElement?(ne=()=>{let e=new sh(m,h.domElement);return S.current=e,()=>{e.dispose()}},re=[m,h.domElement],e[11]=m,e[12]=h.domElement,e[13]=ne,e[14]=re):(ne=e[13],re=e[14]),(0,z.useEffect)(ne,re);let ie,F;e[15]===t?(ie=e[16],F=e[17]):(ie=()=>{t&&S.current?.isLocked&&S.current.unlock()},F=[t],e[15]=t,e[16]=ie,e[17]=F),(0,z.useEffect)(ie,F);let I,L;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>ha.subscribe(e=>{e.animation&&S.current?.isLocked&&S.current.unlock()}),L=[],e[18]=I,e[19]=L):(I=e[18],L=e[19]),(0,z.useEffect)(I,L);let ae;e[20]!==E||e[21]!==M||e[22]!==O||e[23]!==A||e[24]!==h.domElement||e[25]!==d||e[26]!==_?(ae=()=>{let e=h.domElement,t=!1,n=!1,r=0,i=0,a=a=>{S.current?.isLocked||a.target===e&&(t=!0,n=!1,r=a.clientX,i=a.clientY)},o=e=>{if(S.current?.isLocked){let t=A();ee.current+=e.movementX*t,te.current+=e.movementY*t;return}if(!t||!n&&Math.abs(e.clientX-r){t=!1},c=t=>{let r=S.current;r?.isLocked?d===`follow`?N.current=!0:d===`local`&&_():t.target===e&&!n&&!M()&&!ha.getState().animation&&r?.lock()};return e.addEventListener(`mousedown`,a),document.addEventListener(`mousemove`,o),document.addEventListener(`mouseup`,s),document.addEventListener(`click`,c),()=>{e.removeEventListener(`mousedown`,a),document.removeEventListener(`mousemove`,o),document.removeEventListener(`mouseup`,s),document.removeEventListener(`click`,c)}},e[20]=E,e[21]=M,e[22]=O,e[23]=A,e[24]=h.domElement,e[25]=d,e[26]=_,e[27]=ae):ae=e[27];let R;e[28]!==m||e[29]!==h.domElement||e[30]!==d||e[31]!==_?(R=[m,h.domElement,_,d],e[28]=m,e[29]=h.domElement,e[30]=d,e[31]=_,e[32]=R):R=e[32],(0,z.useEffect)(ae,R);let oe,se;e[33]!==x||e[34]!==y||e[35]!==f?(oe=()=>{let e=[_h.camera1,_h.camera2,_h.camera3,_h.camera4,_h.camera5,_h.camera6,_h.camera7,_h.camera8,_h.camera9];return f(t=>{for(let n=0;n{let e=e=>{e.preventDefault();let t=w()?-1:1,n=(e.deltaY>0?-1:1)*t,r=Math.ceil(Math.log2(Math.abs(e.deltaY)+1)),a=Math.max(bh,Math.min(xh,r))*n;i(e=>{let t=Math.round(e*100)+a;return Math.max(b,Math.min(1,t/100))})},t=h.domElement;return t.addEventListener(`wheel`,e,{passive:!1}),()=>{t.removeEventListener(`wheel`,e)}},e[38]=w,e[39]=h.domElement,e[40]=i,e[41]=ce):ce=e[41];let le;e[42]!==h.domElement||e[43]!==i?(le=[h.domElement,i],e[42]=h.domElement,e[43]=i,e[44]=le):le=e[44],(0,z.useEffect)(ce,le);let ue;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(ue=[],e[45]=ue):ue=e[45],(0,z.useEffect)(Eh,ue);let de,fe;e[46]===d?(de=e[47],fe=e[48]):(de=()=>{if(d===`local`)return;let e=e=>{if(e.code!==`KeyO`||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable||(P.current=!0)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},fe=[d],e[46]=d,e[47]=de,e[48]=fe),(0,z.useEffect)(de,fe);let pe;return e[49]!==p||e[50]!==u||e[51]!==r?(pe=(e,t)=>{if(ha.getState().animation)return;let{forward:n,backward:i,left:a,right:o,up:s,down:c,lookUp:l,lookDown:d,lookLeft:f,lookRight:m}=p(),h=ee.current,g=te.current;ee.current=0,te.current=0,f&&(h-=1*t),m&&(h+=1*t),l&&(g-=1*t),d&&(g+=1*t);let _=0,v=0,y=0;a&&(_=-1),o&&(_+=1),n&&(v=1),i&&--v,s&&(y=1),c&&--y;let b=wh(r);_=Math.max(-1,Math.min(1,_*b)),v=Math.max(-1,Math.min(1,v*b)),y=Math.max(-1,Math.min(1,y*b));let x=[!1,!1,!1,!1,!1,!1];N.current&&=(x[0]=!0,!1),P.current&&=(x[2]=!0,!1);let S=h!==0||g!==0,C=_!==0||v!==0||y!==0,w=x.some(Boolean);!S&&!C&&!w||u({deltaYaw:h,deltaPitch:g,x:_,y:v,z:y,triggers:x,delta:t})},e[49]=p,e[50]=u,e[51]=r,e[52]=pe):pe=e[52],a(pe),null}function Eh(){let e=Dh;return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)}function Dh(e){ha.getState().animation&&(e.code===`Escape`||yh.has(e.code))&&ha.getState().cancel()}function Oh(e){return e.gl}function kh(e){return e.camera}function Ah(){let e=jh;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,e,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,e,{capture:!0})}}function jh(e){(e.metaKey||e.ctrlKey)&&e.key===`k`||e.metaKey&&e.stopImmediatePropagation()}var Mh=(0,z.lazy)(()=>Ae(()=>import(`./TouchHandler-BEuKIyRb.js`).then(e=>({default:e.TouchHandler})),__vite__mapDeps([7,2,8,9,3,10,11,12,13])));function Nh(e){let t=(0,B.c)(9),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0];let i=(0,z.useRef)(r),[a,o]=(0,z.useState)(`local`),s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=e=>{i.current.push(e)},t[1]=s):s=t[1];let c=s,l;t[2]===a?l=t[3]:(l={moveQueue:i,onInput:c,mode:a,setMode:o},t[2]=a,t[3]=l);let u;t[4]===n?u=t[5]:(u=(0,V.jsx)(Gm,{map:vh,children:(0,V.jsx)(uh,{children:n})}),t[4]=n,t[5]=u);let d;return t[6]!==l||t[7]!==u?(d=(0,V.jsx)(mh.Provider,{value:l,children:u}),t[6]=l,t[7]=u,t[8]=d):d=t[8],d}function Ph(){let e=(0,B.c)(5),t=g(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,V.jsx)(Th,{}),e[0]=n):n=e[0];let r;e[1]===t?r=e[2]:(r=t?(0,V.jsx)(z.Suspense,{children:(0,V.jsx)(Mh,{})}):null,e[1]=t,e[2]=r);let i;return e[3]===r?i=e[4]:(i=(0,V.jsxs)(V.Fragment,{children:[n,r]}),e[3]=r,e[4]=i),i}var Fh=(0,z.lazy)(()=>Ae(()=>import(`./TouchJoystick-BEBTF5st.js`).then(e=>({default:e.TouchJoystick})),__vite__mapDeps([14,2,15,11,9,12,13,16]))),Ih=(0,z.lazy)(()=>Ae(()=>import(`./KeyboardOverlay-CpDInLSf.js`).then(e=>({default:e.KeyboardOverlay})),__vite__mapDeps([17,1,2,3,18,4,9,10,19,5,20])));function Lh(){let e=(0,B.c)(7),t=g();if(ga(Rh))return null;let n;e[0]===t?n=e[1]:(n=t?(0,V.jsx)(Fh,{}):null,e[0]=t,e[1]=n);let r;e[2]===t?r=e[3]:(r=t===!1?(0,V.jsx)(Ih,{}):null,e[2]=t,e[3]=r);let i;return e[4]!==n||e[5]!==r?(i=(0,V.jsxs)(z.Suspense,{children:[n,r]}),e[4]=n,e[5]=r,e[6]=i):i=e[6],i}function Rh(e){return e.animation!==null}var zh={LoadingIndicator:`_LoadingIndicator_1gfum_1`,loadingComplete:`_loadingComplete_1gfum_1`,Spinner:`_Spinner_1gfum_19`,spin:`_spin_1gfum_1`,Progress:`_Progress_1gfum_28`,ProgressBar:`_ProgressBar_1gfum_36`,ProgressText:`_ProgressText_1gfum_43`};function Bh(e){let t=(0,B.c)(11),{isLoading:n,progress:r}=e,i=!n,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,V.jsx)(`div`,{className:zh.Spinner}),t[0]=a):a=t[0];let o=`${r*100}%`,s;t[1]===o?s=t[2]:(s=(0,V.jsx)(`div`,{className:zh.Progress,children:(0,V.jsx)(`div`,{className:zh.ProgressBar,style:{width:o}})}),t[1]=o,t[2]=s);let c;t[3]===r?c=t[4]:(c=Math.round(r*100),t[3]=r,t[4]=c);let l;t[5]===c?l=t[6]:(l=(0,V.jsxs)(`div`,{className:zh.ProgressText,children:[c,`%`]}),t[5]=c,t[6]=l);let u;return t[7]!==i||t[8]!==s||t[9]!==l?(u=(0,V.jsxs)(`div`,{className:zh.LoadingIndicator,"data-complete":i,children:[a,s,l]}),t[7]=i,t[8]=s,t[9]=l,t[10]=u):u=t[10],u}var Vh={Frame:`_Frame_1riak_1`,Toolbar:`_Toolbar_1riak_16`,CancelButton:`_CancelButton_1riak_29`,Sidebar:`_Sidebar_1riak_48`,Content:`_Content_1riak_62`,ThreeView:`_ThreeView_1riak_71`,PlayerBar:`_PlayerBar_1riak_80`,ToggleSidebarButton:`_ToggleSidebarButton_1riak_90`,Backdrop:`_Backdrop_1riak_128`,ExitTourButton:`_ExitTourButton_1riak_189 _ActionButton_1v31r_57 _IconButton_4wify_23`,ButtonLabel:`_ButtonLabel_1riak_197`};function Hh({children:e}){return e}function Uh(e,t){return(0,z.lazy)(()=>t().then(t=>({default:t[e]})))}var Wh=Uh(`GameView`,()=>Ae(()=>import(`./GameView-B-FWOVN5.js`),__vite__mapDeps([21,2,15,1,3,18,4,22,23,24,8,9,10,25,11,12,13,19,26,27,28,29,30,31,32,33,34,5,35,36,37]))),Gh=Uh(`DemoPlaybackControls`,()=>Ae(()=>import(`./DemoPlaybackControls-CYIxHIt0.js`),__vite__mapDeps([38,2,9,10,19,39]))),Kh=Uh(`PlayerHUD`,()=>Ae(()=>import(`./PlayerHUD-UBJSra7Y.js`),__vite__mapDeps([40,2,15,18,4,9,10,19,30,12,13,41]))),qh=Uh(`MapInfoDialog`,()=>Ae(()=>import(`./MapInfoDialog-CpbFz03C.js`),__vite__mapDeps([42,2,18,4,31,25,9,30,12,13,43]))),Jh=Uh(`ServerBrowser`,()=>Ae(()=>import(`./ServerBrowser-Dc3KGuyz.js`),__vite__mapDeps([44,2,1,3,18,4,11,9,12,13,10,5,45]))),Yh=Uh(`ScoreScreen`,()=>Ae(()=>import(`./ScoreScreen-C9NVaXTI.js`),__vite__mapDeps([46,2,1,3,18,4,9,10,19,5,13,47])));function Xh(){let[e,t]=y(),n=Yt(),{clearFogEnabledOverride:r,sidebarOpen:i,setSidebarOpen:a}=c(),{missionName:o,missionType:s}=e,[l,u]=(0,z.useState)(!1),[d,f]=(0,z.useState)(!1),[p,m]=(0,z.useState)(!1),[h,_]=(0,z.useState)(!1),[v,b]=(0,z.useState)(0),[x,S]=(0,z.useState)(!0),C=g(),T=ga(e=>e.animation!==null),E=(0,z.useCallback)(e=>{window.location.hash=``,r(),_(!1),er.getState().disconnectServer(),Oe.getState().setRecording(null),wn.getState().endStreaming(),t(e),C&&a(!1)},[r,t,C,a]);Rm({onChangeMission:E});let D=ir(),O=In(),k=O===`demo`||O===`live`,A=Rn(),j=Bn();(0,z.useEffect)(()=>{if(!(!k||!A))try{let e=w(A);t({missionName:A,missionType:j&&e.missionTypes.includes(j)?j:void 0})}catch{t(null)}},[k,A,j,t]),(0,z.useEffect)(()=>{D&&_(!1)},[D]);let M=tr(e=>e.gameStatus);(0,z.useEffect)(()=>{M===`connected`&&C&&a(!1)},[M,C,a]),(0,z.useEffect)(()=>{D&&C&&a(!1)},[C,D,a]),(0,z.useEffect)(()=>{T&&C&&a(!1)},[C,T,a]);let ee=v,te=ee<1;(0,z.useEffect)(()=>{if(te)S(!0);else{let e=setTimeout(()=>S(!1),500);return()=>clearTimeout(e)}},[te]);let N=(0,z.useCallback)((e,t=0)=>{b(t)},[]),P=(0,z.useRef)(null),ne=(0,z.useRef)(null),re=(0,z.useCallback)(()=>u(!0),[]),ie=(0,z.useCallback)(()=>m(!0),[]),F=(0,z.useCallback)(()=>{f(!0)},[]),I=(0,z.useCallback)(()=>_(!0),[]),L=(0,z.useCallback)(()=>{_(!1)},[]),ae=(0,z.useCallback)(e=>{P.current=e.camera,ne.current=e.invalidate},[]);return(0,V.jsx)(`main`,{className:Vh.Frame,children:(0,V.jsxs)(rr,{children:[(0,V.jsxs)(`header`,{className:Vh.Toolbar,onKeyDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:[(0,V.jsx)(`button`,{type:`button`,className:Vh.ToggleSidebarButton,"data-orientation":`top`,"aria-label":i?`Close sidebar`:`Open sidebar`,title:i?`Close sidebar`:`Open sidebar`,onClick:e=>{a(e=>!e)},children:i?(0,V.jsx)(rn,{}):(0,V.jsx)(nn,{})}),(0,V.jsx)(`button`,{type:`button`,className:Vh.ToggleSidebarButton,"data-orientation":`left`,"aria-label":i?`Close sidebar`:`Open sidebar`,title:i?`Close sidebar`:`Open sidebar`,onClick:e=>{a(e=>!e)},children:i?(0,V.jsx)(on,{}):(0,V.jsx)(an,{})}),(0,V.jsx)(z.Activity,{mode:k&&!h?`visible`:`hidden`,children:(0,V.jsx)(Pm,{})}),(0,V.jsxs)(z.Activity,{mode:!k||h?`visible`:`hidden`,children:[(0,V.jsx)(jm,{value:h?``:o,missionType:h?``:s??``,onChange:E,autoFocus:h,onCancel:L}),h&&(0,V.jsx)(`button`,{type:`button`,className:Vh.CancelButton,onClick:()=>{_(!1)},children:`Cancel`})]}),T&&(0,V.jsxs)(`button`,{type:`button`,className:Vh.ExitTourButton,onClick:()=>ha.getState().cancel(),children:[(0,V.jsx)(Sa,{}),(0,V.jsx)(`span`,{className:Vh.ButtonLabel,children:`Exit tour`})]})]}),i?(0,V.jsx)(`div`,{className:Vh.Backdrop}):null,(0,V.jsx)(z.Activity,{mode:i?`visible`:`hidden`,children:(0,V.jsx)(`div`,{className:Vh.Sidebar,onKeyDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),"data-open":i,children:(0,V.jsx)(ka,{missionName:o,missionType:s,choosingMap:h,cameraRef:P,invalidateRef:ne,onOpenMapInfo:re,onOpenScoreScreen:k?ie:void 0,onOpenServerBrowser:n.live?F:void 0,onChooseMap:I,onCancelChoosingMap:L})})}),(0,V.jsx)(Nh,{children:(0,V.jsxs)(`div`,{className:Vh.Content,children:[(0,V.jsx)(`div`,{className:Vh.ThreeView,children:(0,V.jsx)(z.Suspense,{children:(0,V.jsx)(Wh,{missionName:o,missionType:s,dpr:l||d||p?.25:void 0,onCreated:ae,onLoadingChange:N})})}),k&&!p?(0,V.jsx)(z.Suspense,{children:(0,V.jsx)(Kh,{})}):null,(0,V.jsx)(Lh,{}),x&&(0,V.jsx)(Bh,{isLoading:te,progress:ee})]})}),(0,V.jsx)(`footer`,{className:Vh.PlayerBar,onKeyDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:D?.source===`demo`?(0,V.jsx)(z.Suspense,{children:(0,V.jsx)(Gh,{})}):null}),l?(0,V.jsx)(Hh,{children:(0,V.jsx)(z.Suspense,{children:(0,V.jsx)(qh,{onClose:()=>u(!1),missionName:o,missionType:s??``})})}):null,d?(0,V.jsx)(Hh,{children:(0,V.jsx)(z.Suspense,{children:(0,V.jsx)(Jh,{onClose:()=>f(!1)})})}):null,p?(0,V.jsx)(Hh,{children:(0,V.jsx)(z.Suspense,{children:(0,V.jsx)(Yh,{onClose:()=>m(!1)})})}):null]})})}var Zh=new Wt;function Qh(){let e=(0,B.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,V.jsx)(z.Suspense,{children:(0,V.jsx)(We,{children:(0,V.jsx)(Xt,{children:(0,V.jsx)(qt,{client:Zh,children:(0,V.jsx)(h,{children:(0,V.jsx)(Xh,{})})})})})}),e[0]=t):t=e[0],t}(0,Fe.createRoot)(document.getElementById(`root`)).render((0,V.jsx)(z.StrictMode,{children:(0,V.jsx)(Qh,{})}));export{St as A,$e as B,xn as C,Kt as D,tn as E,mt as F,Ge as H,tt as I,et as L,Ye as M,Qe as N,Nt as O,Xe as P,lt as R,Fn as S,ln as T,Pe as U,qe as V,tr as _,fh as a,In as b,gm as c,ur as d,or as f,er as g,fr as h,ph as i,xt as j,Tt as k,ha as l,ir as m,hh as n,lh as o,mr as p,gh as r,Km as s,Ph as t,cr as u,wn as v,un as w,Pn as x,jn as y,yt as z}; \ No newline at end of file diff --git a/docs/assets/index-Chmtkuc3.js b/docs/assets/index-Chmtkuc3.js new file mode 100644 index 00000000..f1cd6b59 --- /dev/null +++ b/docs/assets/index-Chmtkuc3.js @@ -0,0 +1,12 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/demoStreaming-ZopkbEeD.js","assets/streamHelpers-Be29sBCp.js","assets/chunk-DECur_0Z.js","assets/three.module-CwgFV8Kd.js","assets/logger-zy3b0zcG.js","assets/scene-B1EyKjda.js","assets/demoTimelineScanner-NuKBiLD0.js","assets/TouchHandler-Cn4NqwVM.js","assets/react-three-fiber.esm-dhSWjERg.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-BTL5qX2E.js","assets/SettingsProvider-2cUUftaX.js","assets/manifest-CmJ-OiDc.js","assets/stringUtils-BfUKbRCH.js","assets/TouchJoystick-lIhMSm3I.js","assets/TouchJoystick-Dn73xHvm.css","assets/KeyboardOverlay-KilLZKKK.js","assets/mission-CFLOK_Oy.js","assets/engineStore-Cio8vU1L.js","assets/KeyboardOverlay-By62YC1g.css","assets/GameView-D3reCMOl.js","assets/extends-Cu_B6L18.js","assets/GenericShape-BbryN-E_.js","assets/Texture-CUOilM1U.js","assets/useBaseQuery-CXuGTqsm.js","assets/FloatingLabel-BEL3jCDa.js","assets/Html-Cz_CVUsI.js","assets/FloatingLabel-DfptgH-Y.css","assets/globalFogUniforms-CaAkHfiE.js","assets/loaders-BRV0t4WA.js","assets/useQuery-DTlry7jQ.js","assets/AudioContext-BCDmeKrq.js","assets/DebugSuspense-qtqhYC4y.js","assets/ShapeErrorBoundary-DEJ9vtex.js","assets/gameEntityTypes-9Mm4qfyP.js","assets/streamPlaybackStore-uClZ1maO.js","assets/GameView-PJcE9IRi.css","assets/DemoPlaybackControls-yCGYNQxQ.js","assets/DemoPlaybackControls-BQdLO79J.css","assets/PlayerHUD-HAbQ-tte.js","assets/PlayerHUD-ByyGTqsd.css","assets/MapInfoDialog-Bg4n8WBg.js","assets/MapInfoDialog-DEkKdREx.css","assets/ServerBrowser-Dp9CuTIh.js","assets/ServerBrowser-CwWspRhr.css","assets/ScoreScreen-BQbXUe_V.js","assets/ScoreScreen-DOoKB1Ti.css"])))=>i.map(i=>d[i]); +import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{i as a,o,s}from"./react-three-fiber.esm-dhSWjERg.js";import{a as c,c as l,d as u,f as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x}from"./SettingsProvider-2cUUftaX.js";import{t as S}from"./iconBase-BCRUFbxq.js";import{l as C,n as w,r as T,s as E}from"./manifest-CmJ-OiDc.js";import{n as D,r as O,t as k}from"./stringUtils-BfUKbRCH.js";import{t as A}from"./logger-zy3b0zcG.js";import{i as j,n as M,r as ee}from"./traditional-BTL5qX2E.js";import{C as te,D as N,E as P,O as ne,S as re,T as ie,_ as F,a as I,b as L,c as ae,f as R,g as oe,h as se,i as ce,k as le,l as ue,m as de,o as fe,p as pe,r as me,s as he,t as ge,u as _e,v as ve,w as ye,x as be,y as xe}from"./streamHelpers-Be29sBCp.js";import{E as Se,St as Ce,Ut as we}from"./three.module-CwgFV8Kd.js";import{i as Te}from"./scene-B1EyKjda.js";import{i as Ee}from"./mission-CFLOK_Oy.js";import{i as De,r as Oe,s as ke}from"./engineStore-Cio8vU1L.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Ae=t((e=>{var t=r();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Ae()})),Me=t((e=>{var t=s(),n=r(),i=je();function a(e){var t=`https://react.dev/errors/`+e;if(1ie||(e.current=re[ie],re[ie]=null,ie--)}function L(e,t){ie++,re[ie]=e.current,e.current=t}var ae=F(null),R=F(null),oe=F(null),se=F(null);function ce(e,t){switch(L(oe,t),L(R,e),L(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}I(ae),L(ae,e)}function le(){I(ae),I(R),I(oe)}function ue(e){e.memoizedState!==null&&L(se,e);var t=ae.current,n=Hd(t,e.type);t!==n&&(L(R,e),L(ae,n))}function de(e){R.current===e&&(I(ae),I(R)),se.current===e&&(I(se),Qf._currentValue=ne)}var fe,pe;function me(e){if(fe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);fe=t&&t[1]||``,pe=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{he=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?me(n):``}function _e(e,t){switch(e.tag){case 26:case 27:case 5:return me(e.type);case 16:return me(`Lazy`);case 13:return e.child!==t&&t!==null?me(`Suspense Fallback`):me(`Suspense`);case 19:return me(`SuspenseList`);case 0:case 15:return ge(e.type,!1);case 11:return ge(e.type.render,!1);case 1:return ge(e.type,!0);case 31:return me(`Activity`);default:return``}}function ve(e){try{var t=``,n=null;do t+=_e(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var ye=Object.prototype.hasOwnProperty,be=t.unstable_scheduleCallback,xe=t.unstable_cancelCallback,Se=t.unstable_shouldYield,Ce=t.unstable_requestPaint,we=t.unstable_now,Te=t.unstable_getCurrentPriorityLevel,Ee=t.unstable_ImmediatePriority,De=t.unstable_UserBlockingPriority,Oe=t.unstable_NormalPriority,ke=t.unstable_LowPriority,Ae=t.unstable_IdlePriority,Me=t.log,Ne=t.unstable_setDisableYieldValue,Pe=null,z=null;function Fe(e){if(typeof Me==`function`&&Ne(e),z&&typeof z.setStrictMode==`function`)try{z.setStrictMode(Pe,e)}catch{}}var Ie=Math.clz32?Math.clz32:ze,Le=Math.log,Re=Math.LN2;function ze(e){return e>>>=0,e===0?32:31-(Le(e)/Re|0)|0}var Be=256,Ve=262144,He=4194304;function Ue(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function We(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ue(n))):i=Ue(o):i=Ue(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ue(n))):i=Ue(o)):i=Ue(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Ge(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ke(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function qe(){var e=He;return He<<=1,!(He&62914560)&&(He=4194304),e}function Je(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ye(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Xe(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),cn=!1;if(sn)try{var ln={};Object.defineProperty(ln,`passive`,{get:function(){cn=!0}}),window.addEventListener(`test`,ln,ln),window.removeEventListener(`test`,ln,ln)}catch{cn=!1}var un=null,dn=null,fn=null;function pn(){if(fn)return fn;var e,t=dn,n=t.length,r,i=`value`in un?un.value:un.textContent,a=i.length;for(e=0;e=Wn),qn=` `,Jn=!1;function Yn(e,t){switch(e){case`keyup`:return Hn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Xn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Zn=!1;function Qn(e,t){switch(e){case`compositionend`:return Xn(t);case`keypress`:return t.which===32?(Jn=!0,qn):null;case`textInput`:return e=t.data,e===qn&&Jn?null:e;default:return null}}function $n(e,t){if(Zn)return e===`compositionend`||!Un&&Yn(e,t)?(e=pn(),fn=dn=un=null,Zn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=xr(n)}}function Cr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Cr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ft(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ft(e.document)}return t}function Tr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Er=sn&&`documentMode`in document&&11>=document.documentMode,Dr=null,Or=null,kr=null,Ar=!1;function jr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ar||Dr==null||Dr!==Ft(r)||(r=Dr,`selectionStart`in r&&Tr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),kr&&br(kr,r)||(kr=r,r=Td(Or,`onSelect`),0>=o,i-=o,Ci=1<<32-Ie(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),H&&Ti(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),H&&Ti(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return H&&Ti(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),H&&Ti(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case g:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===D&&wa(l)===r.type){n(e,r.sibling),c=i(r,o.props),ja(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===v?(c=ui(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=li(o.type,o.key,o.props,null,e.mode,c),ja(c,o),c.return=e,e=c)}return s(e);case _:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=pi(o,e.mode,c),c.return=e,e=c}return s(e);case D:return o=wa(o),b(e,r,o,c)}if(te(o))return h(e,r,o,c);if(j(o)){if(l=j(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Aa(o),c);if(o.$$typeof===S)return b(e,r,$i(e,o),c);Ma(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=di(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ka=0;var i=b(e,t,n,r);return Oa=null,i}catch(t){if(t===va||t===ba)throw t;var a=ai(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Pa=Na(!0),Fa=Na(!1),Ia=!1;function La(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ra(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function za(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,X&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ni(e),ti(e,null,n),t}return Qr(e,r,t,n),ni(e)}function Va(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Qe(e,n)}}function Ha(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ua=!1;function Wa(){if(Ua){var e=la;if(e!==null)throw e}}function Ga(e,t,n,r){Ua=!1;var i=e.updateQueue;Ia=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Q&f)===f:(r&f)===f){f!==0&&f===ca&&(Ua=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:Ia=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Ul|=o,e.lanes=o,e.memoizedState=d}}function Ka(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function qa(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=N.T,s={};N.T=s,Os(e,!1,t,n);try{var c=i(),l=N.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ds(e,t,fa(c,r),du(e)):Ds(e,t,r,du(e))}catch(n){Ds(e,t,{then:function(){},status:`rejected`,reason:n},du())}finally{P.p=a,o!==null&&s.types!==null&&(o.types=s.types),N.T=o}}function _s(){}function vs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=ys(e).queue;gs(e,i,t,ne,n===null?_s:function(){return bs(e),n(r)})}function ys(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:ne},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function bs(e){var t=ys(e);t.next===null&&(t=e.alternate.memoizedState),Ds(e,t.next.queue,{},du())}function xs(){return Qi(Qf)}function Ss(){return Do().memoizedState}function Cs(){return Do().memoizedState}function ws(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=du();e=za(n);var r=Ba(t,e,n);r!==null&&(pu(r,t,n),Va(r,t,n)),t={cache:aa()},e.payload=t;return}t=t.return}}function Ts(e,t,n){var r=du();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},ks(e)?As(t,n):(n=$r(e,t,n,r),n!==null&&(pu(n,e,r),js(n,t,r)))}function Es(e,t,n){Ds(e,t,n,du())}function Ds(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(ks(e))As(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,yr(s,o))return Qr(e,t,i,0),Fl===null&&Zr(),!1}catch{}if(n=$r(e,t,i,r),n!==null)return pu(n,e,r),js(n,t,r),!0}return!1}function Os(e,t,n,r){if(r={lane:2,revertLane:ud(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},ks(e)){if(t)throw Error(a(479))}else t=$r(e,n,r,2),t!==null&&pu(t,e,2)}function ks(e){var t=e.alternate;return e===G||t!==null&&t===G}function As(e,t){uo=lo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function js(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Qe(e,n)}}var Ms={readContext:Qi,use:Ao,useCallback:_o,useContext:_o,useEffect:_o,useImperativeHandle:_o,useLayoutEffect:_o,useInsertionEffect:_o,useMemo:_o,useReducer:_o,useRef:_o,useState:_o,useDebugValue:_o,useDeferredValue:_o,useTransition:_o,useSyncExternalStore:_o,useId:_o,useHostTransitionStatus:_o,useFormState:_o,useActionState:_o,useOptimistic:_o,useMemoCache:_o,useCacheRefresh:_o};Ms.useEffectEvent=_o;var Ns={readContext:Qi,use:Ao,useCallback:function(e,t){return Eo().memoizedState=[e,t===void 0?null:t],e},useContext:Qi,useEffect:rs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ns(4194308,4,ls.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ns(4194308,4,e,t)},useInsertionEffect:function(e,t){ns(4,2,e,t)},useMemo:function(e,t){var n=Eo();t=t===void 0?null:t;var r=e();if(fo){Fe(!0);try{e()}finally{Fe(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Eo();if(n!==void 0){var i=n(t);if(fo){Fe(!0);try{n(t)}finally{Fe(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ts.bind(null,G,e),[r.memoizedState,e]},useRef:function(e){var t=Eo();return e={current:e},t.memoizedState=e},useState:function(e){e=Bo(e);var t=e.queue,n=Es.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ds,useDeferredValue:function(e,t){return ms(Eo(),e,t)},useTransition:function(){var e=Bo(!1);return e=gs.bind(null,G,e.queue,!0,!1),Eo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=G,i=Eo();if(H){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Fl===null)throw Error(a(349));Q&127||Io(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,rs(Lo.bind(null,r,o,e),[e]),r.flags|=2048,es(9,{destroy:void 0},J.bind(null,r,o,n,t),null),n},useId:function(){var e=Eo(),t=Fl.identifierPrefix;if(H){var n=wi,r=Ci;n=(r&~(1<<32-Ie(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=po++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[at]=t,o[ot]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Dc(t)}}return Mc(t),Oc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Dc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=oe.current,Ri(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Ai,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[at]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Fi(t,!0)}else e=Bd(e).createTextNode(r),e[at]=t,t.stateNode=e}return Mc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ri(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[at]=t}else zi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Mc(t),e=!1}else n=Bi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(io(t),t):(io(t),null);if(t.flags&128)throw Error(a(558))}return Mc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ri(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[at]=t}else zi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Mc(t),i=!1}else i=Bi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(io(t),t):(io(t),null)}return io(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ac(t,t.updateQueue),Mc(t),null);case 4:return le(),e===null&&xd(t.stateNode.containerInfo),Mc(t),null;case 10:return Ki(t.type),Mc(t),null;case 19:if(I(ao),r=t.memoizedState,r===null)return Mc(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)jc(r,!1);else{if(Hl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=oo(e),o!==null){for(t.flags|=128,jc(r,!1),e=o.updateQueue,t.updateQueue=e,Ac(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ci(n,e),n=n.sibling;return L(ao,ao.current&1|2),H&&Ti(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&we()>$l&&(t.flags|=128,i=!0,jc(r,!1),t.lanes=4194304)}else{if(!i)if(e=oo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Ac(t,e),jc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!H)return Mc(t),null}else 2*we()-r.renderingStartTime>$l&&n!==536870912&&(t.flags|=128,i=!0,jc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Mc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=we(),e.sibling=null,n=ao.current,L(ao,i?n&1|2:n&1),H&&Ti(t,r.treeForkCount),e);case 22:case 23:return io(t),Za(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Mc(t),t.subtreeFlags&6&&(t.flags|=8192)):Mc(t),n=t.updateQueue,n!==null&&Ac(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&I(ma),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ki(ia),Mc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Pc(e,t){switch(Oi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ki(ia),le(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return de(t),null;case 31:if(t.memoizedState!==null){if(io(t),t.alternate===null)throw Error(a(340));zi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(io(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));zi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return I(ao),null;case 4:return le(),null;case 10:return Ki(t.type),null;case 22:case 23:return io(t),Za(),e!==null&&I(ma),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ki(ia),null;case 25:return null;default:return null}}function Fc(e,t){switch(Oi(t),t.tag){case 3:Ki(ia),le();break;case 26:case 27:case 5:de(t);break;case 4:le();break;case 31:t.memoizedState!==null&&io(t);break;case 13:io(t);break;case 19:I(ao);break;case 10:Ki(t.type);break;case 22:case 23:io(t),Za(),e!==null&&I(ma);break;case 24:Ki(ia)}}function Ic(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Uu(t,t.return,e)}}function Lc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Uu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Uu(t,t.return,e)}}function Rc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{qa(t,n)}catch(t){Uu(e,e.return,t)}}}function zc(e,t,n){n.props=Bs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Uu(e,t,n)}}function Bc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Uu(e,t,n)}}function Vc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Uu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Uu(e,t,n)}else n.current=null}function Hc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Uu(e,e.return,t)}}function Uc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[ot]=t}catch(t){Uu(e,e.return,t)}}function Wc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Gc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Wc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Kc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Zt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Kc(e,t,n),e=e.sibling;e!==null;)Kc(e,t,n),e=e.sibling}function qc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(qc(e,t,n),e=e.sibling;e!==null;)qc(e,t,n),e=e.sibling}function Jc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[at]=e,t[ot]=n}catch(t){Uu(e,e.return,t)}}var Yc=!1,Xc=!1,Zc=!1,Qc=typeof WeakSet==`function`?WeakSet:Set,$c=null;function el(e,t){if(e=e.containerInfo,Rd=sp,e=wr(e),Tr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,$c=t;$c!==null;)if(t=$c,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,$c=e;else for(;$c!==null;){switch(t=$c,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[at]=e,vt(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Sr(s,h),v=Sr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,N.T=null,n=su,su=null;var o=ru,s=au;if(nu=0,iu=ru=null,au=0,X&6)throw Error(a(331));var c=X;if(X|=4,Al(o.current),Sl(o,o.current,s,n),X=c,rd(0,!1),z&&typeof z.onPostCommitFiberRoot==`function`)try{z.onPostCommitFiberRoot(Pe,o)}catch{}return!0}finally{P.p=i,N.T=r,zu(e,t)}}function Hu(e,t,n){t=hi(n,t),t=Ks(e.stateNode,t,2),e=Ba(e,t,2),e!==null&&(Ye(e,2),nd(e))}function Uu(e,t,n){if(e.tag===3)Hu(e,e,n);else for(;t!==null;){if(t.tag===3){Hu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(tu===null||!tu.has(r))){e=hi(n,e),n=qs(2),r=Ba(t,n,2),r!==null&&(Js(n,r,t,e),Ye(r,2),nd(r));break}}t=t.return}}function Wu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Pl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Bl=!0,i.add(n),e=Gu.bind(null,e,t,n),t.then(e,e))}function Gu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Fl===e&&(Q&n)===n&&(Hl===4||Hl===3&&(Q&62914560)===Q&&300>we()-Zl?!(X&2)&&bu(e,0):Gl|=n,ql===Q&&(ql=0)),nd(e)}function Ku(e,t){t===0&&(t=qe()),e=ei(e,t),e!==null&&(Ye(e,t),nd(e))}function qu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ku(e,n)}function Ju(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),Ku(e,n)}function Yu(e,t){return be(e,t)}var Xu=null,Zu=null,Qu=!1,$u=!1,ed=!1,td=0;function nd(e){e!==Zu&&e.next===null&&(Zu===null?Xu=Zu=e:Zu=Zu.next=e),$u=!0,Qu||(Qu=!0,ld())}function rd(e,t){if(!ed&&$u){ed=!0;do for(var n=!1,r=Xu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ie(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,cd(r,a))}else a=Q,a=We(r,r===Fl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ge(r,a)||(n=!0,cd(r,a));r=r.next}while(n);ed=!1}}function id(){ad()}function ad(){$u=Qu=!1;var e=0;td!==0&&Gd()&&(e=td);for(var t=we(),n=null,r=Xu;r!==null;){var i=r.next,a=od(r,t);a===0?(r.next=null,n===null?Xu=i:n.next=i,i===null&&(Zu=n)):(n=r,(e!==0||a&3)&&($u=!0)),r=i}nu!==0&&nu!==5||rd(e,!1),td!==0&&(td=0)}function od(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Lt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),vt(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Lt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Lt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Lt(n.imageSizes)+`"]`)):i+=`[href="`+Lt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),vt(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Lt(r)+`"][href="`+Lt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),vt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=_t(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);vt(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=_t(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=m({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),vt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=_t(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),vt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=oe.current)?gf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=_t(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=_t(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=_t(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Af(e){return`href="`+Lt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),vt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Lt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Lt(n.href)+`"]`);if(r)return t.instance=r,vt(r),r;var i=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),vt(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var o=e.querySelector(jf(i));if(o)return t.state.loading|=4,t.instance=o,vt(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),vt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(i=e.querySelector(Ff(o)))?(t.instance=i,vt(i),i):(r=n,(i=mf.get(o))&&(r=m({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),vt(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,vt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),vt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Me()})),Pe=e(Ne(),1),z=e(r(),1),Fe=n();function Ie(e,t,n){return r=>{if(!(t.length===0||t.some(t=>!x(r.getAll(t),e.getAll(t)))))return _("[nuqs `%s`] no change, returning previous",t.join(`,`),r),r;let i=Le(e,t,n);return _(`[nuqs \`%s\`] subbed search params change + from %O + to %O`,t.join(`,`),r,i),i}}function Le(e,t,n){if(t.length===0)return e;let r=n?new URLSearchParams(e):e;for(let n of e.keys())t.includes(n)||r.delete(n);return r}var Re=`__nuqs__`,ze=u();function Be(e){return function(t,n){let r=new URL(location.href);r.search=m(t),_(`[nuqs react] Updating url: %s`,r),e&&n.shallow===!1?(n.history===`push`?location.assign:location.replace).call(location,r):(n.history===`push`?history.pushState:history.replaceState).call(history,history.state,Re,r),ze.emit(`update`,t),n.scroll===!0&&window.scrollTo({top:0})}}var Ve=(0,z.createContext)({fullPageNavigationOnShallowFalseUpdates:!1});function He(e){let{fullPageNavigationOnShallowFalseUpdates:t}=(0,z.useContext)(Ve),[n,r]=(0,z.useState)(()=>typeof location>`u`?new URLSearchParams:Le(new URLSearchParams(location.search),e,!1));return(0,z.useEffect)(()=>{let t=()=>{r(Ie(new URLSearchParams(location.search),e,!1))},n=t=>{r(Ie(t,e,!0))};return ze.on(`update`,n),window.addEventListener(`popstate`,t),()=>{ze.off(`update`,n),window.removeEventListener(`popstate`,t)}},[e.join(`&`)]),{searchParams:n,updateUrl:(0,z.useMemo)(()=>Be(t),[t])}}var Ue=d(He);function We({children:e,fullPageNavigationOnShallowFalseUpdates:t=!1,...n}){return(0,z.createElement)(Ve.Provider,{value:{fullPageNavigationOnShallowFalseUpdates:t}},(0,z.createElement)(Ue,{...n,children:e}))}var Ge=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ke={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},qe=new class{#e=Ke;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function Je(e){setTimeout(e,0)}var Ye=typeof window>`u`||`Deno`in globalThis;function Xe(){}function Ze(e,t){return typeof e==`function`?e(t):e}function Qe(e){return typeof e==`number`&&e>=0&&e!==1/0}function $e(e,t){return Math.max(e+(t||0)-Date.now(),0)}function et(e,t){return typeof e==`function`?e(t):e}function tt(e,t){return typeof e==`function`?e(t):e}function nt(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==it(o,t.options))return!1}else if(!ot(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function rt(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(at(t.options.mutationKey)!==at(a))return!1}else if(!ot(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function it(e,t){return(t?.queryKeyHashFn||at)(e)}function at(e){return JSON.stringify(e,(e,t)=>dt(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ot(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>ot(e[n],t[n])):!1}var st=Object.prototype.hasOwnProperty;function ct(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=ut(e)&&ut(t);if(!r&&!(dt(e)&&dt(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{qe.setTimeout(t,e)})}function mt(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:ct(e,t)}function ht(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function gt(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var _t=Symbol();function vt(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===_t?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function yt(e,t){return typeof e==`function`?e(...t):!!e}function bt(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var xt=new class extends Ge{#e;#t;#n;constructor(){super(),this.#n=e=>{if(!Ye&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}};function St(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var Ct=Je;function wt(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Ct,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var Tt=wt(),Et=new class extends Ge{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(!Ye&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Dt(e){return Math.min(1e3*2**e,3e4)}function Ot(e){return(e??`online`)===`online`?Et.isOnline():!0}var kt=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function At(e){let t=!1,n=0,r,i=St(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new kt(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>xt.isFocused()&&(e.networkMode===`always`||Et.isOnline())&&e.canRun(),u=()=>Ot(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(Ye?0:3),o=e.retryDelay??Dt,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&nl()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var jt=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Qe(this.gcTime)&&(this.#e=qe.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ye?1/0:300*1e3))}clearGcTimeout(){this.#e&&=(qe.clearTimeout(this.#e),void 0)}},Mt=class extends jt{#e;#t;#n;#r;#i;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=Ft(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Ft(this.options);e.data!==void 0&&(this.setState(Pt(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#n.remove(this)}setData(e,t){let n=mt(this.state.data,e,this.options);return this.#s({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#s({type:`setState`,state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(Xe).catch(Xe):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>tt(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===_t||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>et(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!$e(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#i&&(this.#o?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#n.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#s({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#i?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{let e=vt(this.options,t),n=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#o=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#s({type:`fetch`,meta:a.fetchOptions?.meta}),this.#i=At({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof kt&&e.revert&&this.setState({...this.#t,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#s({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#s({type:`pause`})},onContinue:()=>{this.#s({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#n.config.onSuccess?.(e,this),this.#n.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof kt){if(e.silent)return this.#i.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#s({type:`error`,error:e}),this.#n.config.onError?.(e,this),this.#n.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#s(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Nt(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Pt(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}})(this.state),Tt.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#n.notify({query:this,type:`updated`,action:e})})}};function Nt(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ot(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Pt(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Ft(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}function It(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{bt(e,()=>t.signal,()=>n=!0)},u=vt(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?gt:ht;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?Rt:Lt,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Lt(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Lt(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Rt(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var zt=class extends jt{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Bt(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=At({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}})(this.state),Tt.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Bt(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Vt=class extends Ge{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new zt({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Ht(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Ht(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Ht(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Ht(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Tt.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>rt(t,e))}findAll(e={}){return this.getAll().filter(t=>rt(e,t))}notify(e){Tt.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Tt.batch(()=>Promise.all(e.map(e=>e.continue().catch(Xe))))}};function Ht(e){return e.options.scope?.id}var Ut=class extends Ge{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??it(r,t),a=this.get(i);return a||(a=new Mt({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Tt.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>nt(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>nt(e,t)):t}notify(e){Tt.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Tt.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Tt.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Wt=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Ut,this.#t=e.mutationCache||new Vt,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=xt.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Et.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(et(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=Ze(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Tt.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Tt.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Tt.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=Tt.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Xe).catch(Xe)}invalidateQueries(e,t={}){return Tt.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Tt.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Xe)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Xe)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(et(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Xe).catch(Xe)}fetchInfiniteQuery(e){return e.behavior=It(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Xe).catch(Xe)}ensureInfiniteQueryData(e){return e.behavior=It(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Et.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(at(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{ot(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(at(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{ot(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=it(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===_t&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},B=i(),Gt=z.createContext(void 0),Kt=e=>{let t=z.useContext(Gt);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},qt=({client:e,children:t})=>(z.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,B.jsx)(Gt.Provider,{value:e,children:t})),Jt=(0,z.createContext)({live:!1});function Yt(){return(0,z.useContext)(Jt)}function Xt(e){let t=(0,Fe.c)(5),{children:n}=e,[r]=p(`features`,l),i;t[0]===r?i=t[1]:(i=()=>({live:new Set((r??``).split(`,`).map(Zt).filter(Boolean)).has(`live`)}),t[0]=r,t[1]=i);let[a]=(0,z.useState)(i),o;return t[2]!==n||t[3]!==a?(o=(0,B.jsx)(Jt.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function Zt(e){return e.trim().toLowerCase()}function Qt(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M16 21L11.2381 12.2698L15 6L23 21H16ZM8 10L14 21H2L8 10ZM5.5 8C4.11929 8 3 6.88071 3 5.5C3 4.11929 4.11929 3 5.5 3C6.88071 3 8 4.11929 8 5.5C8 6.88071 6.88071 8 5.5 8Z`},child:[]}]})(e)}function $t(e){return S({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z`},child:[]}]})(e)}function en(e){return S({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`},child:[]}]})(e)}function tn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`},child:[]},{tag:`circle`,attr:{cx:`9`,cy:`7`,r:`4`},child:[]},{tag:`path`,attr:{d:`M22 21v-2a4 4 0 0 0-3-3.87`},child:[]},{tag:`path`,attr:{d:`M16 3.13a4 4 0 0 1 0 7.75`},child:[]}]})(e)}function nn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M3 9h18`},child:[]},{tag:`path`,attr:{d:`m15 14-3 3-3-3`},child:[]}]})(e)}function rn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M3 9h18`},child:[]},{tag:`path`,attr:{d:`m9 16 3-3 3 3`},child:[]}]})(e)}function an(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M9 3v18`},child:[]},{tag:`path`,attr:{d:`m14 9 3 3-3 3`},child:[]}]})(e)}function on(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M9 3v18`},child:[]},{tag:`path`,attr:{d:`m16 15-3-3 3-3`},child:[]}]})(e)}function sn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`},child:[]},{tag:`path`,attr:{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`},child:[]},{tag:`path`,attr:{d:`M12 11h4`},child:[]},{tag:`path`,attr:{d:`M12 16h4`},child:[]},{tag:`path`,attr:{d:`M8 11h.01`},child:[]},{tag:`path`,attr:{d:`M8 16h.01`},child:[]}]})(e)}function cn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M2 8V2h6`},child:[]},{tag:`path`,attr:{d:`m2 2 10 10`},child:[]},{tag:`path`,attr:{d:`M12 2A10 10 0 1 1 2 12`},child:[]}]})(e)}function ln(e){return S({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z`},child:[]}]})(e)}function un(e){return S({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z`},child:[]}]})(e)}function dn(e){return S({tag:`svg`,attr:{viewBox:`0 0 288 512`},child:[{tag:`path`,attr:{d:`M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z`},child:[]}]})(e)}var fn={Root:`_Root_skwdy_1 _IconButton_4wify_23 _LabelledButton_4wify_68`,ClipboardCheck:`_ClipboardCheck_skwdy_11`,showClipboardCheck:`_showClipboardCheck_skwdy_1`,MapPin:`_MapPin_skwdy_21`,ButtonLabel:`_ButtonLabel_skwdy_25 _ButtonLabel_4wify_241`};function pn({position:e,quaternion:t}){let n=e=>parseFloat(e.toFixed(3));return`#c${`${n(e.x)},${n(e.y)},${n(e.z)}`}~${`${n(t.x)},${n(t.y)},${n(t.z)},${n(t.w)}`}`}function mn(e){let t=(0,Fe.c)(12),{cameraRef:n,missionName:r,missionType:i,disabled:a}=e,{fogEnabled:o}=c(),[s,l]=(0,z.useState)(!1),u=(0,z.useRef)(null),d;t[0]!==n||t[1]!==o||t[2]!==r||t[3]!==i?(d=async()=>{u.current&&clearTimeout(u.current);let e=n.current;if(!e)return;let t=pn(e),a=new URLSearchParams;a.set(`mission`,`${r}~${i}`),a.set(`fog`,o.toString());let s=`${window.location.pathname}?${a}${t}`,c=`${window.location.origin}${s}`;window.history.replaceState(null,``,s);try{await navigator.clipboard.writeText(c),l(!0),u.current=setTimeout(()=>{l(!1)},1100)}catch(e){let t=e;console.error(t)}},t[0]=n,t[1]=o,t[2]=r,t[3]=i,t[4]=d):d=t[4];let f=d,p=s?`true`:`false`,m,h,g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,B.jsx)(dn,{className:fn.MapPin}),h=(0,B.jsx)(en,{className:fn.ClipboardCheck}),g=(0,B.jsx)(`span`,{className:fn.ButtonLabel,children:` Link to coordinates`}),t[5]=m,t[6]=h,t[7]=g):(m=t[5],h=t[6],g=t[7]);let _;return t[8]!==a||t[9]!==f||t[10]!==p?(_=(0,B.jsxs)(`button`,{type:`button`,className:fn.Root,"aria-label":`Link to coordinates`,title:`Copy the current coordinates to URL`,onClick:f,disabled:a,"data-copied":p,id:`copyCoordinatesButton`,children:[m,h,g]}),t[8]=a,t[9]=f,t[10]=p,t[11]=_):_=t[11],_}function hn(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0V0z`},child:[]},{tag:`path`,attr:{d:`M21 3H3c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5a2 2 0 0 0-2-2zm0 14H3V5h18v12zm-5-6-7 4V7z`},child:[]}]})(e)}function gn(e,t=null){return{targets:e,categoryName:t,currentIndex:0,phase:`traveling`,elapsed:0,phaseDuration:0,curve:null,startPos:null,startQuat:null,orbitCenter:null,orbitRadius:null,orbitStartAngle:0}}var _n=j(e=>({animation:null,flyTo(t){e({animation:gn([t])})},startTour(t,n){t.length!==0&&e({animation:gn(t,n)})},advanceTarget(){e(e=>e.animation?{animation:{...e.animation,currentIndex:e.animation.currentIndex+1,phase:`traveling`,elapsed:0,curve:null,startPos:null,startQuat:null,orbitCenter:null,orbitRadius:null,orbitStartAngle:0}}:e)},cancel(){e({animation:null})}}));function vn(e,t){return M(_n,e,t)}var yn=j(e=>({events:null,scanProgress:null,setEvents(t){e({events:t})},setScanProgress(t){e({scanProgress:t})},reset(){e({events:null,scanProgress:null})}}));function bn(e,t){return M(yn,e,t)}var xn=A(`relayClient`),Sn=class{ws=null;handlers;url;_connected=!1;wsPingInterval=null;smoothedWsPing=0;constructor(e,t){this.url=e,this.handlers=t}get connected(){return this._connected}connect(){this.ws=new WebSocket(this.url),this.ws.binaryType=`arraybuffer`,this.ws.onopen=()=>{xn.info(`WebSocket connected to %s`,this.url),this._connected=!0,this.startWsPing(),this.handlers.onOpen?.()},this.ws.onmessage=e=>{if(e.data instanceof ArrayBuffer)this.handlers.onGamePacket?.(new Uint8Array(e.data));else try{let t=JSON.parse(e.data);this.handleMessage(t)}catch(e){xn.error(`Failed to parse relay message: %o`,e)}},this.ws.onclose=()=>{xn.info(`WebSocket disconnected`),this._connected=!1,this.stopWsPing(),this.handlers.onClose?.()},this.ws.onerror=()=>{xn.error(`WebSocket error`),this.handlers.onError?.(`WebSocket connection error`)}}handleMessage(e){switch(e.type){case`serverList`:this.handlers.onServerList?.(e.servers);break;case`status`:this.handlers.onStatus?.(e.status,e.message,e.connectSequence,e.mapName);break;case`ping`:this.handlers.onPing?.(e.ms);break;case`wsPong`:{let t=Date.now()-e.ts;this.smoothedWsPing=this.smoothedWsPing===0?t:this.smoothedWsPing*.5+t*.5,this.handlers.onWsPing?.(Math.round(this.smoothedWsPing));break}case`error`:this.handlers.onError?.(e.message);break}}listServers(){this.send({type:`listServers`})}sendWsPing(){this.send({type:`wsPing`,ts:Date.now()})}joinServer(e,t){xn.info(`Joining server: %s`,e),this.send({type:`joinServer`,address:e,warriorName:t})}sendAuthEvent(e,t){this.send({type:`sendCommand`,command:e,args:t})}sendCommand(e,t){this.send({type:`sendCommand`,command:e,args:t})}sendCRCResponse(e,t,n){this.send({type:`sendCRCResponse`,crcValue:e,field1:t,field2:n})}sendCRCCompute(e,t,n,r){this.send({type:`sendCRCCompute`,seed:e,field2:t,includeTextures:r,datablocks:n})}sendGhostAck(e,t){this.send({type:`sendGhostAck`,sequence:e,ghostCount:t})}sendMoves(e,t){this.send({type:`sendMoves`,moves:e,moveStartIndex:t})}close(){this.stopWsPing(),this.ws&&=(this.ws.close(),null),this._connected=!1}startWsPing(){this.smoothedWsPing=0,this.send({type:`wsPing`,ts:Date.now()}),this.wsPingInterval=setInterval(()=>{this.send({type:`wsPing`,ts:Date.now()})},7e3)}stopWsPing(){this.wsPingInterval!=null&&(clearInterval(this.wsPingInterval),this.wsPingInterval=null)}send(e){this.ws?.readyState===WebSocket.OPEN?this.ws.send(JSON.stringify(e)):xn.warn(`send dropped (ws not open): %s`,e.type)}},Cn=A(`StreamEngine`),wn=class{registry;ghostTracker;entities=new Map;entityIdByGhostIndex=new Map;tickCount=0;camera=null;chatMessages=[];chatMessageIdCounter=0;_chatGen=0;_chatSnapshotGen=-1;_chatSnapshot=[];audioEvents=[];netStrings=new Map;targetNames=new Map;targetTeams=new Map;targetRenderFlags=new Map;pendingNameTags=new Map;sensorGroupColors=new Map;playerSensorGroup=0;lastStatus={health:1,energy:1};latestControl={ghostIndex:-1};controlPlayerGhostId;lastControlType=`camera`;isPiloting=!1;lastPilotGhostIndex;lastVehicleHeading=0;lastVehiclePitch=0;lastVehicleOrbitDir;lastVehicleVelocity;lastVehiclePosTime=0;lastVehiclePos;firstPerson=!0;lastCameraMode;lastOrbitGhostIndex;lastOrbitDistance;latestFov=90;weaponsHud={slots:new Map,activeIndex:-1};backpackHud={packIndex:-1,active:!1,text:``};inventoryHud={slots:new Map,activeSlot:-1};teamScores=[];playerRoster=new Map;clockAnchorStreamSec=null;clockDurationMs=0;missionDisplayName=null;missionTypeDisplayName=null;gameClassName=null;serverDisplayName=null;connectedPlayerName=null;connectedClientId=null;onMissionInfoChange;nextExplosionId=0;resolveGhostClassName(e,t){if(typeof t==`number`){let e=this.registry.getGhostParser(t)?.name;if(e)return e}let n=this.entityIdByGhostIndex.get(e);if(n){let e=this.entities.get(n);if(e?.className)return e.className}let r=this.ghostTracker.getGhost(e);if(r?.className)return r.className}resolveEntityIdForGhostIndex(e){let t=this.entityIdByGhostIndex.get(e);if(t)return t;let n=this.ghostTracker.getGhost(e);if(n)return N(n.className,e)}resetSharedState(){this.entities.clear(),this.entityIdByGhostIndex.clear(),this.tickCount=0,this.camera=null,this.chatMessages=[],this.chatMessageIdCounter=0,this._chatGen=0,this._chatSnapshotGen=-1,this._chatSnapshot=[],this.audioEvents=[],this.netStrings.clear(),this.targetNames.clear(),this.targetTeams.clear(),this.targetRenderFlags.clear(),this.sensorGroupColors.clear(),this.playerSensorGroup=0,this.lastStatus={health:1,energy:1},this.latestControl={ghostIndex:-1},this.controlPlayerGhostId=void 0,this.lastControlType=`camera`,this.isPiloting=!1,this.lastPilotGhostIndex=void 0,this.lastVehicleHeading=0,this.lastVehiclePitch=0,this.lastVehicleOrbitDir=void 0,this.lastVehicleVelocity=void 0,this.lastVehiclePosTime=0,this.lastVehiclePos=void 0,this.firstPerson=!0,this.lastCameraMode=void 0,this.lastOrbitGhostIndex=void 0,this.lastOrbitDistance=void 0,this.latestFov=90,this.weaponsHud={slots:new Map,activeIndex:-1},this.backpackHud={packIndex:-1,active:!1,text:``},this.inventoryHud={slots:new Map,activeSlot:-1},this.teamScores=[],this.playerRoster.clear(),this.clockAnchorStreamSec=null,this.clockDurationMs=0,this.nextExplosionId=0,this.missionDisplayName=null,this.missionTypeDisplayName=null,this.gameClassName=null,this.serverDisplayName=null}resolveNetString(e){if(e.length>=2&&e.charCodeAt(0)===1){let t=parseInt(e.slice(1),10);if(Number.isFinite(t))return this.netStrings.get(t)??e}return e}formatRemoteArgs(e,t){let n=this.resolveNetString(e);for(let e=0;e0&&(this.playerSensorGroup=t.sensorGroup)}if(t){let e=I(t);if(e&&(this.lastControlType=e),this.lastControlType===`player`)this.isPiloting=!!(t.pilot||t.controlObjectGhost!=null),this.isPiloting&&typeof t.controlObjectGhost==`number`?this.lastPilotGhostIndex=t.controlObjectGhost:this.isPiloting||(this.lastPilotGhostIndex=void 0,this.lastVehicleHeading=0,this.lastVehiclePitch=0,this.lastVehicleOrbitDir=void 0,this.lastVehicleVelocity=void 0,this.lastVehiclePosTime=0,this.lastVehiclePos=void 0);else if(this.isPiloting=!1,typeof t.cameraMode==`number`)if(this.lastCameraMode=t.cameraMode,t.cameraMode===3){typeof t.orbitObjectGhostIndex==`number`&&(this.lastOrbitGhostIndex=t.orbitObjectGhostIndex);let e=t.minOrbitDist,n=t.maxOrbitDist,r=t.curOrbitDist;typeof e==`number`&&typeof n==`number`&&Number.isFinite(e)&&Number.isFinite(n)?this.lastOrbitDistance=Math.max(0,n-e):typeof r==`number`&&Number.isFinite(r)&&(this.lastOrbitDistance=Math.max(0,r))}else this.lastOrbitGhostIndex=void 0,this.lastOrbitDistance=void 0}e.cameraFov!==void 0&&(this.latestFov=e.cameraFov)}processEvent(e,t){let n=e.parsedData;if(!n)return;let r=n.type;if(r===`GhostAlwaysObjectEvent`){let e=n.ghostIndex,t=n.classId,r=n.objectData,i=n._hasObjectData,a=typeof t==`number`?this.registry.getGhostParser(t)?.name??`classId=${t}`:`?`;Cn.debug(`GhostAlwaysObjectEvent: ghost=%d class=%s hasData=%s %s`,e,a,i,r?`keys=[${Object.keys(r).join(`,`)}]`:`(no data)`),e!=null&&t!=null&&this.processGhostUpdate({index:e,type:`create`,classId:t,parsedData:r});return}if(r===`NetStringEvent`||t===`NetStringEvent`){let e=n.id,t=n.value;if(e!=null&&typeof t==`string`){this.netStrings.set(e,t);let n=this.pendingNameTags.get(e);if(n!=null){this.pendingNameTags.delete(e);let r=F(t).trim();this.targetNames.set(n,r);for(let e of this.entities.values())e.targetId===n&&(e.playerName=r)}}return}if(r===`TargetInfoEvent`||t===`TargetInfoEvent`){let e=n.targetId,t=n.nameTag;if(e!=null&&t!=null){let n=this.netStrings.get(t);n?this.targetNames.set(e,F(n).trim()):this.pendingNameTags.set(t,e)}let r=n.sensorGroup;e!=null&&r!=null&&this.targetTeams.set(e,r);let i=n.renderFlags;if(e!=null&&i!=null&&this.targetRenderFlags.set(e,i),e!=null){let t=this.targetNames.get(e),n=this.targetTeams.get(e),r=this.targetRenderFlags.get(e);for(let i of this.entities.values())i.targetId===e&&(t&&(i.playerName=t),n!=null&&(i.sensorGroup=n),r!=null&&(i.targetRenderFlags=r))}return}if(r===`SetSensorGroupEvent`||t===`SetSensorGroupEvent`){let e=n.sensorGroup;e!=null&&(this.playerSensorGroup=e);return}if(r===`SensorGroupColorEvent`||t===`SensorGroupColorEvent`){let e=n.sensorGroup,t=n.colors;if(t){let n=this.sensorGroupColors.get(e);n||(n=new Map,this.sensorGroupColors.set(e,n));for(let e of t)e.default?n.delete(e.index):n.set(e.index,{r:e.r??0,g:e.g??0,b:e.b??0})}return}if(r===`RemoteCommandEvent`||t===`RemoteCommandEvent`){let e=this.resolveNetString(n.funcName),t=n.args,r=this.getTimeSec();if(e===`ChatMessage`&&t.length>=4){let e=ce(this.resolveNetString(t[3])),n=t[4]?F(this.resolveNetString(t[4])):``,i=this.formatRemoteArgs(t[3],t.slice(4));if(i){let a=i.indexOf(`: `),{text:o,wavPath:s}=fe(a>=0?i.slice(a+2):i),c,l;if(s){let e=this.resolveNetString(t[1]);c=e?`voice/${e}/${s}.wav`:s;let n=this.resolveNetString(t[2]);if(n){let e=parseFloat(n);Number.isFinite(e)&&(l=Math.max(.5,Math.min(2,e)))}}let u=e??0;this.pushChatMessage({timeSec:r,sender:n,text:o,kind:`chat`,colorCode:u,segments:[{text:n?`${n}: ${o}`:o,colorCode:u}],soundPath:c,soundPitch:l})}}else if(e===`CannedChatMessage`&&t.length>=6){let e=ce(this.resolveNetString(t[1])),n=F(this.resolveNetString(t[2])),i=F(this.resolveNetString(t[4])),a=this.formatRemoteArgs(t[1],t.slice(2));if(a){let{wavPath:o}=fe(a),s=fe(F(this.resolveNetString(t[3]))).text,c,l;if(o){let e=this.resolveNetString(t[5]);if(c=e?`voice/${e}/${o}.wav`:o,t[6]){let e=parseFloat(this.resolveNetString(t[6]));Number.isFinite(e)&&(l=Math.max(.5,Math.min(2,e)))}}let u=e??0,d=[];i&&d.push({text:`[${i}] `,colorCode:0}),d.push({text:n?`${n}: ${s}`:s,colorCode:u}),this.pushChatMessage({timeSec:r,sender:n,text:s,kind:`chat`,colorCode:u,segments:d,soundPath:c,soundPitch:l})}}else if(e===`ServerMessage`&&t.length>=2){this.handleServerMessage(t);let e=ce(this.resolveNetString(t[1])),n=this.formatRemoteArgs(t[1],t.slice(2));if(n){let{text:t,wavPath:i}=fe(n),a=e??0;this.pushChatMessage({timeSec:r,sender:``,text:t,kind:`server`,colorCode:a,segments:[{text:t,colorCode:a}],soundPath:i??void 0})}}else this.handleHudRemoteCommand(e,t);return}if(r===`Sim3DAudioEvent`||r===`Sim2DAudioEvent`||t===`Sim3DAudioEvent`||t===`Sim2DAudioEvent`){let e=n.profileId;if(typeof e==`number`){let i=this.getTimeSec(),a=r===`Sim3DAudioEvent`||t===`Sim3DAudioEvent`?n.position:void 0;this.audioEvents.push({profileId:e,position:a,timeSec:i}),this.audioEvents.length>100&&this.audioEvents.splice(0,this.audioEvents.length-100)}}}processGhostUpdate(e){let t=e.index,n=this.entityIdByGhostIndex.get(t);if(n){let t=this.entities.get(n);t&&t.type===`Projectile`&&!t.hasExploded&&t.explosionDataBlockId!=null&&t.position&&(e.type===`delete`||e.type===`create`)&&this.spawnExplosion(t,[...t.position])}if(e.type===`delete`){n&&(this.removeSoundSlotEntities(n),this.entities.delete(n),this.entityIdByGhostIndex.delete(t));return}let r=this.resolveGhostClassName(t,e.classId);if(!r){if(e.type===`create`)throw Error(`No ghost parser for classId ${e.classId} (ghost index ${t})`);return}let i=N(r,t);n&&n!==i&&(this.removeSoundSlotEntities(n),this.entities.delete(n));let a,o=this.entities.get(i);if(o&&e.type===`create`?(this.removeSoundSlotEntities(i),o.spawnTick=this.tickCount,this.resetEntity(o),a=o):o?a=o:(a={id:i,ghostIndex:t,className:r,spawnTick:this.tickCount,type:ne(r),rotation:[0,0,0,1]},this.entities.set(i,a)),a.ghostIndex=t,a.className=r,a.type=ne(r),this.entityIdByGhostIndex.set(t,i),this.applyGhostData(a,e.parsedData),e.type===`create`&&e.parsedData){let n=Te(r,t,e.parsedData);n&&(a.sceneData=n)}}resetEntity(e){e.rotation=[0,0,0,1],e.hasExploded=void 0,e.explosionShape=void 0,e.explosionLifetimeTicks=void 0,e.faceViewer=void 0,e.simulatedVelocity=void 0,e.projectilePhysics=void 0,e.gravityMod=void 0,e.direction=void 0,e.velocity=void 0,e.position=void 0,e.dataBlock=void 0,e.dataBlockId=void 0,e.shapeHint=void 0,e.visual=void 0,e.targetId=void 0,e.targetRenderFlags=void 0,e.carryingFlag=void 0,e.sensorGroup=void 0,e.playerName=void 0,e.weaponShape=void 0,e.packShape=void 0,e.falling=void 0,e.jetting=void 0,e.weaponImageState=void 0,e.weaponImageStates=void 0,e.weaponImageStatesDbId=void 0,e.itemPhysics=void 0,e.threads=void 0,e.headPitch=void 0,e.headYaw=void 0,e.health=void 0,e.energy=void 0,e.maxEnergy=void 0,e.damageState=void 0,e.actionAnim=void 0,e.actionAtEnd=void 0,e.explosionDataBlockId=void 0,e.maintainEmitterId=void 0}applyGhostData(e,t){if(!t)return;let n=t,r=n.dataBlockId;if(r!=null){e.dataBlockId=r;let t=this.getDataBlockData(r),n=de(e.className,t);if(e.visual=oe(e.className,t)??se(e.className,t),typeof n==`string`&&(e.shapeHint=n,e.dataBlock=n),e.type===`Player`&&typeof t?.maxEnergy==`number`&&(e.maxEnergy=t.maxEnergy),e.type===`Projectile`&&(ie.has(e.className)?e.projectilePhysics=`linear`:ye.has(e.className)?(e.projectilePhysics=`ballistic`,e.gravityMod=he(t,[`gravityMod`])??1):P.has(e.className)&&(e.projectilePhysics=`seeker`)),e.type===`Projectile`&&e.explosionDataBlockId==null){let t=this.resolveExplosionInfo(r);t&&(e.explosionShape=t.shape,e.faceViewer=t.faceViewer,e.explosionLifetimeTicks=t.lifetimeTicks,e.explosionDataBlockId=t.explosionDataBlockId)}if(e.type===`Projectile`&&e.maintainEmitterId==null){let n=t?.baseEmitter;typeof n==`number`&&n>0&&(e.maintainEmitterId=n)}}if(e.type===`Player`){let t=n.images;if(Array.isArray(t)&&t.length>0){let n=t.find(e=>e.index===0);if(n?.dataBlockId&&n.dataBlockId>0){let t=this.getDataBlockData(n.dataBlockId),r=de(`ShapeBaseImageData`,t);if(r){let n=t?.mountPoint;(n==null||n<=0)&&!/pack_/i.test(r)&&(e.weaponShape=r)}let i=e.weaponImageState;e.weaponImageState={dataBlockId:n.dataBlockId,triggerDown:n.triggerDown??i?.triggerDown??!1,ammo:n.ammo??i?.ammo??!0,loaded:n.loaded??i?.loaded??!0,target:n.target??i?.target??!1,wet:n.wet??i?.wet??!1,fireCount:n.fireCount??i?.fireCount??0},t&&e.weaponImageStatesDbId!==n.dataBlockId&&(e.weaponImageStates=R(t),e.weaponImageStatesDbId=n.dataBlockId)}else n&&!n.dataBlockId&&(e.weaponShape=void 0,e.weaponImageState=void 0,e.weaponImageStates=void 0);let r=t.find(e=>e.index===2);if(r?.dataBlockId&&r.dataBlockId>0){let t=de(`ShapeBaseImageData`,this.getDataBlockData(r.dataBlockId));t&&(e.packShape=t)}else r&&!r.dataBlockId&&(e.packShape=void 0);let i=t.find(e=>e.index===3);if(i?.dataBlockId&&i.dataBlockId>0){e.carryingFlag=!0;let t=de(`ShapeBaseImageData`,this.getDataBlockData(i.dataBlockId));if(t&&(e.flagShape=t),e.targetId!=null&&e.targetId>=0){let t=this.targetRenderFlags.get(e.targetId)??0,n=t|2;n!==t&&(this.targetRenderFlags.set(e.targetId,n),e.targetRenderFlags=n)}}else if(i&&!i.dataBlockId&&(e.carryingFlag=!1,e.flagShape=void 0,e.targetId!=null&&e.targetId>=0)){let t=this.targetRenderFlags.get(e.targetId)??0,n=t&-3;n!==t&&(this.targetRenderFlags.set(e.targetId,n),e.targetRenderFlags=n)}}}let i=ue(n.position)?n.position:ue(n.initialPosition)?n.initialPosition:ue(n.explodePosition)?n.explodePosition:ue(n.endPoint)?n.endPoint:ue(n.transform?.position)?n.transform.position:void 0;i&&(e.position=[i.x,i.y,i.z],this.updateSoundSlotPositions(e));let a=_e(n.direction)?n.direction:void 0;if(a&&(e.direction=[a.x,a.y,a.z]),e.type===`Player`&&typeof n.rotationZ==`number`&&(e.rotation=pe(n.rotationZ)),e.type===`Player`&&(typeof n.headX==`number`&&(e.headPitch=n.headX),typeof n.headZ==`number`&&(e.headYaw=n.headZ)),ae(n.angPosition)){let t=L(n.angPosition);t&&(e.rotation=t)}else if(ae(n.transform?.rotation)){let t=L(n.transform.rotation);t&&(e.rotation=t)}else if(e.type===`Item`&&typeof n.rotation?.angle==`number`){let t=n.rotation;e.rotation=pe((t.zSign??1)*t.angle)}else if(e.type===`Projectile`){let t=n.velocity??n.direction??(ue(n.initialPosition)&&ue(n.endPos)?{x:n.endPos.x-n.initialPosition.x,y:n.endPos.y-n.initialPosition.y,z:n.endPos.z-n.initialPosition.z}:void 0);_e(t)&&(t.x!==0||t.y!==0)&&(e.rotation=pe(Math.atan2(t.x,t.y)))}if(_e(n.velocity)&&(e.velocity=[n.velocity.x,n.velocity.y,n.velocity.z],e.direction||=[n.velocity.x,n.velocity.y,n.velocity.z]),typeof n.moveFlag0==`boolean`&&(e.falling=n.moveFlag0),typeof n.moveFlag1==`boolean`&&(e.jetting=n.moveFlag1),e.type===`Item`){let t=n.atRest;t===!1&&_e(n.velocity)?e.itemPhysics={velocity:[n.velocity.x,n.velocity.y,n.velocity.z],atRest:!1}:t===!0&&(e.itemPhysics=void 0)}if(e.projectilePhysics){if(e.projectilePhysics===`linear`){let t=he(e.dataBlockId==null?void 0:this.getDataBlockData(e.dataBlockId),[`dryVelocity`,`muzzleVelocity`,`bulletVelocity`])??80,r=e.direction??[0,1,0],i=r[0]*t,a=r[1]*t,o=r[2]*t,s=n.excessVel,c=n.excessDir;typeof s==`number`&&s>0&&_e(c)&&(i+=c.x*s,a+=c.y*s,o+=c.z*s),e.simulatedVelocity=[i,a,o]}else _e(n.velocity)&&(e.simulatedVelocity=[n.velocity.x,n.velocity.y,n.velocity.z]);let t=n.currTick;if(typeof t==`number`&&t>0&&e.simulatedVelocity&&e.position){let n=32/1e3*t,r=e.simulatedVelocity;if(e.position[0]+=r[0]*n,e.position[1]+=r[1]*n,e.position[2]+=r[2]*n,e.projectilePhysics===`ballistic`){let t=-9.81*(e.gravityMod??1);e.position[2]+=.5*t*n*n,r[2]+=t*n}}}let o=ue(n.explodePosition)?n.explodePosition:ue(n.explodePoint)?n.explodePoint:void 0;if(e.type===`Projectile`&&!e.hasExploded&&o&&e.explosionDataBlockId!=null&&this.spawnExplosion(e,[o.x,o.y,o.z]),typeof n.damageLevel==`number`&&(e.health=me(1-n.damageLevel,0,1)),typeof n.damageState==`number`&&(e.damageState=n.damageState),typeof n.action==`number`&&(e.actionAnim=n.action,e.actionAtEnd=!!n.actionAtEnd),Array.isArray(n.threads)){let t=n.threads;if(e.threads){let n=[...e.threads];for(let e of t){let t=n.findIndex(t=>t.index===e.index);t>=0?n[t]=e:n.push(e)}e.threads=n}else e.threads=t}if(typeof n.energy==`number`&&(e.energy=me(n.energy,0,1)),typeof n.targetId==`number`){e.targetId=n.targetId;let t=this.targetNames.get(n.targetId);t&&(e.playerName=t);let r=this.targetTeams.get(n.targetId);r!=null&&(e.sensorGroup=r,e.ghostIndex===this.latestControl.ghostIndex&&this.lastControlType===`player`&&(this.playerSensorGroup=r));let i=this.targetRenderFlags.get(n.targetId);i!=null&&(e.targetRenderFlags=i)}let s=n.sounds;Array.isArray(s)&&this.syncSoundSlotEntities(e,s),e.className===`WayPoint`&&typeof n.name==`string`&&(e.label=n.name),e.className===`AudioEmitter`&&(typeof n.filename==`string`&&(e.audioFileName=n.filename),typeof n.volume==`number`&&(e.audioVolume=n.volume),typeof n.is3D==`boolean`&&(e.audioIs3D=n.is3D),typeof n.isLooping==`boolean`&&(e.audioIsLooping=n.isLooping),typeof n.minDistance==`number`&&(e.audioMinDistance=n.minDistance),typeof n.maxDistance==`number`&&(e.audioMaxDistance=n.maxDistance),typeof n.minLoopGap==`number`&&(e.audioMinLoopGap=n.minLoopGap),typeof n.maxLoopGap==`number`&&(e.audioMaxLoopGap=n.maxLoopGap))}syncSoundSlotEntities(e,t){for(let n of t){let t=`${e.id}:sound:${n.index}`;if(n.playing&&typeof n.profileId==`number`){let r=this.getDataBlockData(n.profileId),i=r?.filename;if(!i)continue;let a=i.endsWith(`.wav`)?i:`${i}.wav`,o=r.description,s=o==null?void 0:this.getDataBlockData(o),c=this.entities.get(t);c?c.position=e.position:this.entities.set(t,{id:t,ghostIndex:e.ghostIndex,className:`AudioEmitter`,type:`AudioEmitter`,spawnTick:this.tickCount,position:e.position,rotation:[0,0,0,1],audioFileName:a,audioVolume:s?.volume??1,audioIs3D:s?.is3D??!0,audioIsLooping:s?.isLooping??!1,audioMinDistance:s?.referenceDistance??20,audioMaxDistance:s?.maxDistance??100,audioMinLoopGap:s?.minLoopGap??0,audioMaxLoopGap:s?.maxLoopGap??0})}else this.entities.delete(t)}}updateSoundSlotPositions(e){for(let t=0;t<4;t++){let n=this.entities.get(`${e.id}:sound:${t}`);n&&(n.position=e.position)}}removeSoundSlotEntities(e){for(let t=0;t<4;t++)this.entities.delete(`${e}:sound:${t}`)}resolveExplosionInfo(e){let t=this.getDataBlockData(e);if(!t)return;let n=t.explosion;if(n==null)return;let r=this.getDataBlockData(n);if(!r)return;let i=r.dtsFileName||void 0,a=r.lifetimeMS??31;return{shape:i,faceViewer:r.faceViewer!==!1&&r.faceViewer!==0,lifetimeTicks:a,explosionDataBlockId:n}}spawnExplosion(e,t){e.hasExploded=!0;let n=e.explosionLifetimeTicks??31,r=`fx_${this.nextExplosionId++}`,i={id:r,ghostIndex:-1,className:`Explosion`,spawnTick:this.tickCount,type:`Explosion`,dataBlock:e.explosionShape,explosionDataBlockId:e.explosionDataBlockId,position:t,rotation:[0,0,0,1],isExplosion:!0,faceViewer:e.faceViewer!==!1,expiryTick:this.tickCount+n};if(this.entities.set(r,i),e.explosionDataBlockId!=null){let n=this.getDataBlockData(e.explosionDataBlockId)?.subExplosions;if(Array.isArray(n))for(let e of n){if(e==null)continue;let n=this.getDataBlockData(e);if(!n)continue;let r=n.dtsFileName||void 0,i=n.lifetimeMS??31,a=n.offset??0,o=Math.random()*Math.PI*2,s=[t[0]+Math.cos(o)*a,t[1]+Math.sin(o)*a,t[2]],c=`fx_${this.nextExplosionId++}`,l={id:c,ghostIndex:-1,className:`Explosion`,spawnTick:this.tickCount,type:`Explosion`,dataBlock:r,explosionDataBlockId:e,position:s,rotation:[0,0,0,1],isExplosion:!0,faceViewer:n.faceViewer!==!1&&n.faceViewer!==0,expiryTick:this.tickCount+i};this.entities.set(c,l)}}e.position=void 0,e.simulatedVelocity=void 0}advanceProjectiles(){let e=32/1e3;for(let t of this.entities.values()){if(!t.simulatedVelocity||!t.position)continue;let n=t.simulatedVelocity,r=t.position;t.projectilePhysics===`ballistic`&&(n[2]+=-9.81*(t.gravityMod??1)*e),r[0]+=n[0]*e,r[1]+=n[1]*e,r[2]+=n[2]*e,(n[0]!==0||n[1]!==0)&&(t.rotation=pe(Math.atan2(n[0],n[1])))}}advanceItems(){let e=32/1e3;for(let t of this.entities.values()){let n=t.itemPhysics;if(!n||n.atRest||!t.position)continue;let r=n.velocity,i=t.position;i[0]+=r[0]*e,i[1]+=r[1]*e,i[2]+=r[2]*e}}removeExpiredExplosions(){for(let[e,t]of this.entities)t.isExplosion&&t.expiryTick!=null&&this.tickCount>=t.expiryTick&&this.entities.delete(e)}updateCameraAndHud(){let e=this.latestControl,t=this.getTimeSec(),n=e.data,r=this.lastControlType;if(this.removeExpiredExplosions(),e.position){let{yaw:i,pitch:a}=this.getCameraYawPitch(n);if(this.isPiloting){if(n){let e=n.controlObjectData?.angPosition;if(e&&typeof e.w==`number`){this.lastVehicleHeading=ve(e),this.lastVehiclePitch=xe(e);let t=L(e);if(t){let[e,n,r,i]=t,a=1-2*(n*n+r*r),o=2*(e*n+r*i),s=2*(e*r-n*i);this.lastVehicleOrbitDir=[-a,-o,-s]}}}i=this.lastVehicleHeading,a=this.lastVehiclePitch}if(this.camera={time:t,position:[e.position.x,e.position.y,e.position.z],rotation:be(i,me(a,-ge,ge)),fov:this.latestFov,mode:`observer`,yaw:i,pitch:a},r===`camera`)if((typeof n?.cameraMode==`number`?n.cameraMode:this.lastCameraMode)===3){this.camera.mode=`third-person`,typeof this.lastOrbitDistance==`number`&&(this.camera.orbitDistance=this.lastOrbitDistance);let e=typeof n?.orbitObjectGhostIndex==`number`?n.orbitObjectGhostIndex:this.lastOrbitGhostIndex;typeof e==`number`&&e>=0&&(this.camera.orbitTargetId=this.resolveEntityIdForGhostIndex(e))}else this.camera.mode=`observer`;else e.ghostIndex>=0&&(this.controlPlayerGhostId=this.resolveEntityIdForGhostIndex(e.ghostIndex)),this.firstPerson?this.camera.mode=`first-person`:(this.camera.mode=`third-person`,this.isPiloting&&this.lastPilotGhostIndex!=null?(this.camera.orbitTargetId=this.resolveEntityIdForGhostIndex(this.lastPilotGhostIndex),this.camera.orbitDistance=15,this.lastVehicleOrbitDir&&(this.camera.orbitDirection=this.lastVehicleOrbitDir)):(this.camera.orbitTargetId=this.controlPlayerGhostId,this.camera.orbitDistance=3)),this.controlPlayerGhostId&&(this.camera.controlEntityId=this.controlPlayerGhostId);if(r===`player`&&e.position){if(this.isPiloting&&this.lastPilotGhostIndex!=null){let r=this.resolveEntityIdForGhostIndex(this.lastPilotGhostIndex),i=r?this.entities.get(r):void 0;if(i){let r=n?.controlObjectData;if(r){i.position=[e.position.x,e.position.y,e.position.z],this.lastVehiclePos=i.position.slice(),this.lastVehiclePosTime=t;let n=r.linMomentum;if(n&&ue(n)){let e=i.dataBlockId,t=(e==null?void 0:this.getDataBlockData(e))?.mass??200,r=t>0?1/t:1/200;this.lastVehicleVelocity=[n.x*r,n.y*r,n.z*r],i.velocity=this.lastVehicleVelocity}let a=r.angPosition;if(a&&typeof a.w==`number`){let e=L(a);e&&(i.rotation=e)}}else if(this.lastVehiclePos&&this.lastVehicleVelocity&&this.lastVehiclePosTime>0){let e=t-this.lastVehiclePosTime;if(e>0&&e<1){let[t,n,r]=this.lastVehicleVelocity;i.position=[this.lastVehiclePos[0]+t*e,this.lastVehiclePos[1]+n*e,this.lastVehiclePos[2]+r*e]}}}}else if(this.controlPlayerGhostId){let t=this.entities.get(this.controlPlayerGhostId);if(t){t.position=[e.position.x,e.position.y,e.position.z],t.rotation=pe(i),t.headPitch=this.getControlPlayerHeadPitch(a);let r=n?.velocity;_e(r)&&(t.velocity=[r.x,r.y,r.z],t.falling=r.z<-10)}}}}else this.camera&&={...this.camera,time:t,fov:this.latestFov};let i={health:1,energy:1};if(this.camera?.mode===`first-person`){let e=this.controlPlayerGhostId,t=e?this.entities.get(e):void 0;i.health=t?.health??1;let r=n?.energyLevel;if(typeof r==`number`){let e=t?.maxEnergy??60;e>0&&(i.energy=me(r/e,0,1))}else i.energy=t?.energy??1}else if(this.camera?.mode===`third-person`&&this.camera.orbitTargetId){let e=this.entities.get(this.camera.orbitTargetId);i.health=e?.health??1,i.energy=e?.energy??1}this.lastStatus=i}getControlPlayerHeadPitch(e){return me(e/ge,-1,1)}getAbsoluteRotation(e){return e?typeof e.rotationZ==`number`&&typeof e.headX==`number`?{yaw:e.rotationZ,pitch:e.headX}:typeof e.rotZ==`number`&&typeof e.rotX==`number`?{yaw:e.rotZ,pitch:e.rotX}:null:null}resolveIffColor(e){if(this.playerSensorGroup===0)return;let t=this.sensorGroupColors.get(this.playerSensorGroup);if(t){let n=t.get(e);if(n)return n}if(e===this.playerSensorGroup)return re;if(e!==0)return te}pushChatMessage(e){this.chatMessages.push({...e,id:++this.chatMessageIdCounter}),this.chatMessages.length>200&&this.chatMessages.splice(0,this.chatMessages.length-200),this._chatGen++}handleServerMessage(e){if(e.length<2)return;let t=this.resolveNetString(e[0]);if((t===`MsgTeamScoreIs`||t===`MsgTeamScore`)&&e.length>=4){let t=parseInt(this.resolveNetString(e[2]),10),n=parseInt(this.resolveNetString(e[3]),10);if(!isNaN(t)&&!isNaN(n)){let e=this.teamScores.find(e=>e.teamId===t);e&&(e.score=n,this.onTeamScoresChanged())}}else if(t===`MsgCTFAddTeam`&&e.length>=6){let t=parseInt(this.resolveNetString(e[2]),10),n=F(this.resolveNetString(e[3])),r=parseInt(this.resolveNetString(e[5]),10);if(!isNaN(t)&&t>0){let e=this.teamScores.find(e=>e.teamId===t);e?(e.name=n,e.score=isNaN(r)?e.score:r):this.teamScores.push({teamId:t,name:n,score:isNaN(r)?0:r,playerCount:0}),this.onTeamScoresChanged()}}else if(t===`MsgClientJoin`&&e.length>=4){let t=F(this.resolveNetString(e[2])).trim(),n=parseInt(this.resolveNetString(e[3]),10);isNaN(n)||(this.playerRoster.set(n,{name:t,teamId:0,score:0,ping:0,packetLoss:0}),this.onRosterChanged()),!this.connectedPlayerName&&t&&F(this.resolveNetString(e[1])).includes(`Welcome to Tribes`)&&(this.connectedPlayerName=t,this.connectedClientId=n,this.onMissionInfoChange?.())}else if(t===`MsgClientDrop`&&e.length>=4){let t=parseInt(this.resolveNetString(e[3]),10);isNaN(t)||(this.playerRoster.delete(t),this.onRosterChanged())}else if(t===`MsgClientJoinTeam`&&e.length>=6){let t=parseInt(this.resolveNetString(e[4]),10),n=parseInt(this.resolveNetString(e[5]),10);if(!isNaN(t)&&!isNaN(n)){let e=this.playerRoster.get(t);e?e.teamId=n:this.playerRoster.set(t,{name:``,teamId:n,score:0,ping:0,packetLoss:0}),this.onRosterChanged()}}else if(t===`MsgPlayerScore`&&e.length>=5){let t=parseInt(this.resolveNetString(e[2]),10);if(!isNaN(t)){let n=this.playerRoster.get(t);if(n){let t=parseInt(this.resolveNetString(e[3]),10),r=parseInt(this.resolveNetString(e[4]),10),i=parseInt(this.resolveNetString(e[5]??``),10);isNaN(t)||(n.score=t),isNaN(r)||(n.ping=r),isNaN(i)||(n.packetLoss=i),this.onRosterChanged()}}}else if(t===`MsgSystemClock`&&e.length>=4){let t=parseFloat(this.resolveNetString(e[3]));this.clockAnchorStreamSec=this.getTimeSec(),this.clockDurationMs=Number.isFinite(t)?t:0}else if(t===`MsgMissionDropInfo`&&e.length>=5){let t=F(this.resolveNetString(e[2])),n=F(this.resolveNetString(e[3])),r=F(this.resolveNetString(e[4]));Cn.info(`mission drop info: mission=%s gameType=%s server=%s`,t,n,r),this.missionDisplayName=t||this.missionDisplayName,this.missionTypeDisplayName=n||this.missionTypeDisplayName,this.serverDisplayName=r||this.serverDisplayName,this.onMissionInfoChange?.()}else if(t===`MsgLoadInfo`&&e.length>=5){let t=F(this.resolveNetString(e[3])),n=F(this.resolveNetString(e[4]));Cn.info(`load info: mission=%s gameType=%s`,t,n),this.missionDisplayName=t||this.missionDisplayName,this.missionTypeDisplayName=n||this.missionTypeDisplayName,this.onMissionInfoChange?.()}else if(t===`MsgClientReady`&&e.length>=3){let t=this.resolveNetString(e[2]);Cn.info(`client ready: gameClass=%s`,t),this.gameClassName=t||this.gameClassName,this.onMissionInfoChange?.()}}onTeamScoresChanged(){}onRosterChanged(){}handleHudRemoteCommand(e,t){if(e===`setWeaponsHudItem`&&t.length>=3){let e=parseInt(t[0],10),n=parseInt(t[1],10),r=t[2]===`1`||t[2]===`true`;isNaN(e)||(r?this.weaponsHud.slots.set(e,isNaN(n)?-1:n):this.weaponsHud.slots.delete(e),this.onWeaponsHudChanged())}else if(e===`setWeaponsHudAmmo`&&t.length>=2){let e=parseInt(t[0],10),n=parseInt(t[1],10);isNaN(e)||(this.weaponsHud.slots.set(e,isNaN(n)?-1:n),this.onWeaponsHudChanged())}else if(e===`setWeaponsHudActive`&&t.length>=1){let e=parseInt(t[0],10);this.weaponsHud.activeIndex=isNaN(e)?-1:e,!isNaN(e)&&e>=0&&!this.weaponsHud.slots.has(e)&&this.weaponsHud.slots.set(e,-1),this.onWeaponsHudChanged()}else if(e===`setWeaponsHudClearAll`)this.weaponsHud.slots.clear(),this.weaponsHud.activeIndex=-1,this.onWeaponsHudChanged();else if(e===`setBackpackHudItem`&&t.length>=2){let e=parseInt(t[0],10);(t[1]===`1`||t[1]===`true`)&&!isNaN(e)?(this.backpackHud.packIndex=e,this.backpackHud.active=!1,this.backpackHud.text=``):(this.backpackHud.packIndex=-1,this.backpackHud.active=!1,this.backpackHud.text=``)}else if(e===`setSatchelArmed`)this.backpackHud.active=!0;else if(e===`setCloakIconOn`||e===`setRepairPackIconOn`||e===`setShieldIconOn`||e===`setSenJamIconOn`)this.backpackHud.active=!0;else if(e===`setCloakIconOff`||e===`setRepairPackIconOff`||e===`setShieldIconOff`||e===`setSenJamIconOff`)this.backpackHud.active=!1;else if(e===`updatePackText`&&t.length>=1)this.backpackHud.text=t[0]??``;else if(e===`setInventoryHudItem`&&t.length>=3){let e=parseInt(t[0],10),n=parseInt(t[1],10),r=t[2]===`1`||t[2]===`true`;isNaN(e)||(r&&!isNaN(n)?this.inventoryHud.slots.set(e,n):this.inventoryHud.slots.delete(e),this.onInventoryHudChanged())}else if(e===`setInventoryHudAmount`&&t.length>=2){let e=parseInt(t[0],10),n=parseInt(t[1],10);!isNaN(e)&&!isNaN(n)&&(this.inventoryHud.slots.set(e,n),this.onInventoryHudChanged())}else e===`setInventoryHudClearAll`&&(this.inventoryHud.slots.clear(),this.inventoryHud.activeSlot=-1,this.onInventoryHudChanged())}onWeaponsHudChanged(){}onInventoryHudChanged(){}buildEntityList(e){let t=[];for(let n of this.entities.values()){if(e&&!e(n))continue;let r=n.targetId!=null&&n.targetId>=0?this.targetRenderFlags.get(n.targetId)??n.targetRenderFlags:n.targetRenderFlags;n.type===`Player`&&!n.carryingFlag&&(r=r==null?r:r&-3),t.push({id:n.id,type:n.type,visual:n.visual,direction:n.direction,ghostIndex:n.ghostIndex,className:n.className,dataBlockId:n.dataBlockId,shapeHint:n.shapeHint,dataBlock:n.dataBlock,weaponShape:n.weaponShape,packShape:n.packShape,flagShape:n.flagShape,falling:n.falling,jetting:n.jetting,playerName:n.playerName,targetRenderFlags:r,iffColor:(n.type===`Player`||(r??0)&2)&&n.sensorGroup!=null?this.resolveIffColor(n.sensorGroup):void 0,position:n.position&&(n.simulatedVelocity||n.itemPhysics&&!n.itemPhysics.atRest)?[...n.position]:n.position,rotation:n.rotation,velocity:n.velocity,health:n.health,energy:n.energy,actionAnim:n.actionAnim,actionAtEnd:n.actionAtEnd,damageState:n.damageState,faceViewer:n.faceViewer,threads:n.threads,explosionDataBlockId:n.explosionDataBlockId,maintainEmitterId:n.maintainEmitterId,weaponImageState:n.weaponImageState,weaponImageStates:n.weaponImageStates,headPitch:n.headPitch,headYaw:n.headYaw,label:n.label,audioFileName:n.audioFileName,audioVolume:n.audioVolume,audioIs3D:n.audioIs3D,audioIsLooping:n.audioIsLooping,audioMinDistance:n.audioMinDistance,audioMaxDistance:n.audioMaxDistance,audioMinLoopGap:n.audioMinLoopGap,audioMaxLoopGap:n.audioMaxLoopGap,sceneData:n.sceneData})}return t}computeMatchClockMs(e){if(this.clockAnchorStreamSec==null)return null;let t=(e-this.clockAnchorStreamSec)*1e3;return-this.clockDurationMs+t}buildHudState(){let e={slots:Array.from(this.weaponsHud.slots.entries()).map(([e,t])=>({index:e,ammo:t})),activeIndex:this.weaponsHud.activeIndex},t={slots:Array.from(this.inventoryHud.slots.entries()).map(([e,t])=>({slot:e,count:t})),activeSlot:this.inventoryHud.activeSlot},n=this.backpackHud.packIndex>=0?{...this.backpackHud}:null,r=this.teamScores.map(e=>({...e})),i=new Map;for(let{teamId:e}of this.playerRoster.values())e>0&&i.set(e,(i.get(e)??0)+1);for(let e of r)e.playerCount=i.get(e.teamId)??0;let a=[];for(let[e,t]of this.playerRoster)a.push({clientId:e,...t});return{weaponsHud:e,inventoryHud:t,backpackHud:n,teamScores:r,playerRoster:a}}buildTimeFilteredEvents(e){return this._chatSnapshotGen!==this._chatGen&&(this._chatSnapshot=this.chatMessages.slice(),this._chatSnapshotGen=this._chatGen),{chatMessages:this._chatSnapshot,audioEvents:this.audioEvents.filter(t=>t.timeSec>e-.5&&t.timeSec<=e)}}},V=A(`liveStreaming`),Tn=class extends wn{packetParser;relay;currentTimeSec=0;connectSynced=!1;_snapshot=null;_snapshotTick=-1;_ready=!1;_teamScoresGen=0;_rosterGen=0;_weaponsHudGen=0;_inventoryHudGen=0;_cachedHud=null;dataBlockClassNames=new Map;onReady;onMissionChange;missionName=null;lastMoveAck=0;constructor(e){super(),this.relay=e;let{registry:t,ghostTracker:n,packetParser:r}=le();this.packetParser=r,this.ghostTracker=n,this.registry=t}getDataBlockData(e){return this.packetParser.getDataBlockDataMap()?.get(e)}_shapeConstructorCache=null;getShapeConstructorSequences(e){this._shapeConstructorCache=new Map;let t=this.packetParser.getDataBlockDataMap();if(t){for(let[,e]of t){let t=e.shape,n=e.sequences;t&&n&&this._shapeConstructorCache.set(t.toLowerCase(),n)}return this._shapeConstructorCache.get(e.toLowerCase())}}getTimeSec(){return this.currentTimeSec}getCameraYawPitch(e){return this.getAbsoluteRotation(e)??{yaw:0,pitch:0}}getEffectShapes(){let e=new Set,t=this.packetParser.getDataBlockDataMap();if(!t)return[];for(let[,n]of t){let r=n.explosion;if(r==null)continue;let i=t.get(r);i?.dtsFileName&&e.add(i.dtsFileName)}return[...e]}onTeamScoresChanged(){this._teamScoresGen++}onRosterChanged(){this._rosterGen++}onWeaponsHudChanged(){this._weaponsHudGen++}onInventoryHudChanged(){this._inventoryHudGen++}reset(){this.resetSharedState(),this.ghostTracker.clear?.(),this.currentTimeSec=0,this._snapshot=null,this._snapshotTick=-1,this._cachedHud=null,this.dataBlockClassNames.clear(),this.observerMode=`fly`,this.missionName=null}getSnapshot(){return this._snapshot&&this._snapshotTick===this.tickCount?this._snapshot:this.buildSnapshot()}stepToTime(e,t){return this.currentTimeSec=e,this.getSnapshot()}syncConnectSequence(e){if(this.connectSynced||e.length<1)return;this.connectSynced=!0;let t=e[0]>>1&1;this.packetParser.setConnectionProtocolState({lastSeqRecvdAtSend:Array(32).fill(0),lastSeqRecvd:0,highestAckedSeq:0,lastSendSeq:536870911,ackMask:0,connectSequence:t,lastRecvAckAck:0,connectionEstablished:!0})}feedPacket(e){this.syncConnectSequence(e),this.processPacket(e)}handleRelayCommands(e){if(e.type!==`RemoteCommandEvent`)return;let t=e.funcName;if(!t)return;let n=this.resolveNetString(t);if([`t2csri_pokeClient`,`t2csri_getChallengeChunk`,`t2csri_decryptChallenge`].includes(n)){let t=(e.args??[]).map(e=>this.resolveNetString(e)).filter(e=>e!==``);V.info(`auth event: %s %o`,n,t),this.relay.sendAuthEvent(n,t);return}let r=(e.args??[]).map(e=>this.resolveNetString(e));if(n===`MissionStartPhase1`){let e=r[0]??``,t=r[1]??null;V.info(`mission phase 1, seq=%s mission=%s resolvedArgs=%o`,e,t,r),t&&t!==this.missionName&&(this.missionName=t,this.entities.clear(),this.entityIdByGhostIndex.clear(),this._ready=!1,this._snapshot=null,this._snapshotTick=-1,this._cachedHud=null,this.observerMode=`fly`,this.lastMoveAck=0,this.missionDisplayName=null,this.missionTypeDisplayName=null,this.gameClassName=null,this.serverDisplayName=null,this.onMissionChange?.(t)),this.relay.sendCommand(`MissionStartPhase1Done`,[e])}else if(n===`MissionStartPhase2`){let e=r[0]??``;V.info(`mission phase 2 (datablocks), seq=%s`,e),this.relay.sendCommand(`MissionStartPhase2Done`,[e])}else if(n===`MissionStartPhase3`){let e=r[0]??``,t=r[1]??null;V.info(`mission phase 3 (ghosting), seq=%s mission=%s`,e,t),t&&(this.missionName=t),this.relay.sendCommand(`setClientFav`,[``]),this.relay.sendCommand(`MissionStartPhase3Done`,[e])}}handleCRCChallenge(e){if(e.type!==`CRCChallengeEvent`)return;let t=e.crcValue,n=e.field1,r=e.field2,i=(n&1)!=0;V.info(`CRC challenge: seed=0x%s f1=0x%s f2=0x%s includeTextures=%s`,(t>>>0).toString(16),(n>>>0).toString(16),(r>>>0).toString(16),i);let a=this.packetParser.getDataBlockDataMap(),o=[];if(a)for(let[e,t]of a){let n=this.dataBlockClassNames.get(e);if(!n)continue;let r=de(n,t);o.push({objectId:e,className:n,shapeName:r??``})}V.info(`CRC: sending %d datablocks for computation`,o.length),this.relay.sendCRCCompute(t,r,o,i)}handleGhostingMessage(e){if(e.type!==`GhostingMessageEvent`)return;let t=e.message,n=e.sequence,r=e.ghostCount;V.info(`GhostingMessageEvent: message=%d sequence=%d ghostCount=%d`,t,n,r),t===0&&(V.info(`Sending ghost ack (type 1) for sequence %d`,n),this.relay.sendGhostAck(n,r))}observerMode=`fly`;requestScores(){this.relay.sendCommand(`getScores`,[])}getPlayerList(){let e=[];for(let[t,n]of this.targetNames){let r=this.targetTeams.get(t)??0;e.push({targetId:t,name:n,sensorGroup:r})}return e}processPacket(e){try{let t=this.packetParser.protocolRejected,n=this.packetParser.protocolNoDispatch,r=this.packetParser.parsePacket(e),i=this.packetParser.protocolRejected>t,a=this.packetParser.protocolNoDispatch>n;(i||a)&&V.warn(`packet #%d %s: %d bytes (total rejected=%d, noDispatch=%d)`,this.tickCount,i?`REJECTED`:`no-dispatch`,e.length,this.packetParser.protocolRejected,this.packetParser.protocolNoDispatch);let o=this.tickCount<20,s=this.tickCount%100==0,c=o||s;c&&V.debug(`packet #%d: %d events, %d ghosts, %d bytes%s%s`,this.tickCount,r.events.length,r.ghosts.length,e.length,r.gameState.controlObjectGhostIndex===void 0?``:`, control=${r.gameState.controlObjectGhostIndex}`,r.gameState.cameraFov===void 0?``:`, fov=${r.gameState.cameraFov}`),this.lastMoveAck=r.gameState.lastMoveAck,this.processControlObject(r.gameState);for(let e of r.events)if(e.parsedData){this.handleRelayCommands(e.parsedData),this.handleCRCChallenge(e.parsedData),this.handleGhostingMessage(e.parsedData);let t=e.parsedData.type;if(t===`RemoteCommandEvent`){let t=this.resolveNetString(e.parsedData.funcName??``);V.debug(`remote: %s`,t)}if(o&&t!==`NetStringEvent`&&t!==`RemoteCommandEvent`&&V.debug(`event: %s%s`,t,t===`SimDataBlockEvent`?` id=${e.parsedData.objectId} class=${e.parsedData.dataBlockClassName}`:``),t===`SimDataBlockEvent`){let t=e.parsedData.objectId,n=e.parsedData.dataBlockClassName;if(t!=null&&n&&this.dataBlockClassNames.set(t,n),c){let r=e.parsedData.dataBlockData,i=de(n??``,r);V.debug(`datablock: id=%d class=%s%s`,t,n??`?`,i?` shape=${i}`:``)}}let n=this.registry.getEventParser(e.classId)?.name;if(this.processEvent(e,n),o&&t===`NetStringEvent`){let t=e.parsedData.id,n=e.parsedData.value;t!=null&&typeof n==`string`&&V.trace(`netString #%d = "%s"`,t,n.length>60?n.slice(0,60)+`…`:n)}if(t===`TargetInfoEvent`){let t=e.parsedData.targetId,n=e.parsedData.nameTag;if(t!=null&&n!=null){let r=this.netStrings.get(n);if(r){let n=F(r);V.info(`target #%d: "%s" team=%s`,t,n,e.parsedData.sensorGroup??`?`)}}}if(t===`SetSensorGroupEvent`){let t=e.parsedData.sensorGroup;t!=null&&V.info(`sensor group changed: → %d`,t)}if(t===`SensorGroupColorEvent`){let t=e.parsedData.sensorGroup,n=e.parsedData.colors;n&&V.debug(`sensor group colors: group=%d, %d entries`,t,n.length)}}for(let e of r.ghosts){if(e.type===`create`){let t=e.parsedData?.position,n=t&&typeof t.x==`number`&&typeof t.y==`number`&&typeof t.z==`number`,r=this.resolveGhostClassName(e.index,e.classId);V.debug(`ghost create: #%d %s%s (%d entities total)`,e.index,r??`?`,n?` at (${t.x.toFixed(1)}, ${t.y.toFixed(1)}, ${t.z.toFixed(1)})`:``,this.entities.size+1),this._ready||(this._ready=!0,this.onReady?.())}else if(e.type===`delete`){let t=this.entityIdByGhostIndex.get(e.index),n=t?this.entities.get(t):void 0;(this.tickCount<50||this.tickCount%200==0)&&V.debug(`ghost delete: #%d %s (%d entities remaining)`,e.index,n?.className??`?`,this.entities.size-1)}this.processGhostUpdate(e)}if(this.tickCount++,this.advanceProjectiles(),this.advanceItems(),s&&this.tickCount>1){let e=this.packetParser.getDataBlockDataMap();V.info(`status @ tick %d: %d entities, %d datablocks, rejected=%d, noDispatch=%d`,this.tickCount,this.entities.size,e?.size??0,this.packetParser.protocolRejected,this.packetParser.protocolNoDispatch)}let l=this.entities.size;if(this.tickCount===1||l>0&&l%25==0&&this.tickCount<100){let e=new Map;for(let t of this.entities.values())e.set(t.type,(e.get(t.type)??0)+1);let t=[...e.entries()].map(([e,t])=>`${e}=${t}`).join(` `);V.info(`entity count: %d (%s)`,l,t)}let u=this.camera?.mode;if(this.updateCameraAndHud(),this.camera&&this.camera.mode!==u&&V.info(`camera mode: %s → %s%s`,u??`none`,this.camera.mode,this.camera.mode===`third-person`?` orbit=${this.camera.orbitTargetId??`?`} dist=${this.camera.orbitDistance??`?`}`:``),this.tickCount<=5&&this.camera){let[e,t,n]=this.camera.position;V.debug(`camera: mode=%s pos=(%s, %s, %s) fov=%s`,this.camera.mode,e.toFixed(1),t.toFixed(1),n.toFixed(1),this.camera.fov)}}catch(t){let n={tickCount:this.tickCount,entityCount:this.entities.size,dataLength:e.length,controlGhost:this.latestControl.ghostIndex,connectSynced:this.connectSynced};V.error(`Failed to process live packet: %o %o`,t,n)}}buildSnapshot(){let e=this.buildEntityList(),t=this.currentTimeSec,{chatMessages:n,audioEvents:r}=this.buildTimeFilteredEvents(t),i=this._cachedHud,a,o,s,c,l;i&&i.weaponsHudGen===this._weaponsHudGen&&i.inventoryHudGen===this._inventoryHudGen&&i.teamScoresGen===this._teamScoresGen&&i.rosterGen===this._rosterGen&&i.backpackPackIndex===this.backpackHud.packIndex&&i.backpackActive===this.backpackHud.active?(a=i.weaponsHud,o=i.inventoryHud,s=i.backpackHud,c=i.teamScores,l=i.playerRoster):({weaponsHud:a,inventoryHud:o,backpackHud:s,teamScores:c,playerRoster:l}=this.buildHudState(),this._cachedHud={weaponsHudGen:this._weaponsHudGen,inventoryHudGen:this._inventoryHudGen,teamScoresGen:this._teamScoresGen,rosterGen:this._rosterGen,backpackPackIndex:this.backpackHud.packIndex,backpackActive:this.backpackHud.active,weaponsHud:a,inventoryHud:o,backpackHud:s,teamScores:c,playerRoster:l}),this.camera||={time:t,position:[0,0,200],rotation:[0,0,0,1],fov:90,mode:`observer`};let u={timeSec:t,exhausted:!1,camera:this.camera,entities:e,controlPlayerGhostId:this.controlPlayerGhostId,playerSensorGroup:this.playerSensorGroup,status:this.lastStatus,chatMessages:n,audioEvents:r,weaponsHud:a,backpackHud:s,inventoryHud:o,teamScores:c,playerRoster:l,connectedClientId:this.connectedClientId,matchClockMs:this.computeMatchClockMs(t)};return this._snapshot=u,this._snapshotTick=this.tickCount,u}},En=j()(e=>({missionEntities:new Map,streamEntities:new Map,isStreaming:!1,dataSource:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:0,setEntity(t){e(e=>{let n=new Map(e.missionEntities);return n.set(t.id,t),{missionEntities:n,version:e.version+1}})},deleteEntity(t){e(e=>{if(!e.missionEntities.has(t))return e;let n=new Map(e.missionEntities);return n.delete(t),{missionEntities:n,version:e.version+1}})},setEntities(t){e(e=>{let n=new Map(e.missionEntities);for(let e of t)n.set(e.id,e);return{missionEntities:n,version:e.version+1}})},setAllEntities(t){e(e=>{let n=new Map;for(let e of t)n.set(e.id,e);return{missionEntities:n,dataSource:e.isStreaming?e.dataSource:`map`}})},clearEntities(){e(e=>e.missionEntities.size===0?e:e.isStreaming?{missionEntities:new Map,version:e.version+1}:{missionEntities:new Map,dataSource:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:e.version+1})},setMissionInfo(t){let n={};if(t.missionName!==void 0&&(n.missionName=t.missionName),t.missionType!==void 0&&(n.missionType=t.missionType),t.missionTypeDisplayName!==void 0&&(n.missionTypeDisplayName=t.missionTypeDisplayName),t.missionDisplayName!==void 0&&(n.missionDisplayName=t.missionDisplayName),t.gameClassName!==void 0&&(n.gameClassName=t.gameClassName,t.missionType===void 0))if(t.gameClassName){let e=t.gameClassName.replace(/Game$/i,``);n.missionType=Ee[e.toLowerCase()]??e}else n.missionType=null;t.serverDisplayName!==void 0&&(n.serverDisplayName=t.serverDisplayName),t.recorderName!==void 0&&(n.recorderName=t.recorderName),t.recordingDate!==void 0&&(n.recordingDate=t.recordingDate),e(e=>({...n,version:e.version+1}))},beginStreaming(t){e(e=>({isStreaming:!0,dataSource:t,streamEntities:new Map,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:e.version+1}))},endStreaming(){e(e=>e.isStreaming?{isStreaming:!1,dataSource:e.missionEntities.size>0?`map`:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,streamEntities:new Map,version:e.version+1}:e)},setStreamEntity(t){e(e=>{let n=new Map(e.streamEntities);return n.set(t.id,t),{streamEntities:n,version:e.version+1}})},deleteStreamEntity(t){e(e=>{if(!e.streamEntities.has(t))return e;let n=new Map(e.streamEntities);return n.delete(t),{streamEntities:n,version:e.version+1}})},setStreamEntities(t){e(e=>{let n=new Map(e.streamEntities);for(let e of t)n.set(e.id,e);return{streamEntities:n,version:e.version+1}})},setAllStreamEntities(t){e(e=>{let n=new Map;for(let e of t)n.set(e.id,e);let r=e.streamEntities;return n.size===r.size&&[...n.keys()].every(e=>r.has(e))?e:{streamEntities:n,version:e.version+1}})},clearStreamEntities(){e(e=>e.streamEntities.size===0?e:{streamEntities:new Map,version:e.version+1})}}));function Dn(e){return e.isStreaming?e.streamEntities:e.missionEntities}function On(e){return e.version}function kn(){return M(En,On),M(En,Dn)}function An(){return kn()}function jn(e){let t=e.isStreaming?e.streamEntities:e.missionEntities,n=[];for(let e of t.values())e.renderType!==`None`&&n.push(e);return n}function Mn(e,t){if(e.length!==t.length)return!1;for(let n=0;n({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,servers:[],serversLoading:!1,adapter:null,liveReady:!1,_relay:null,_adapter:null,_pending:[],_listInFlight:!1,connectRelay(n=tr){let r=t();r._relay&&r._relay.close();let i=new Sn(n,{onOpen(){e({relayConnected:!0});let n=t();for(let e of n._pending)e();n._pending=[]},onStatus(t,n,r,i){er.info(`game status: %s%s%s`,t,n?` — ${n}`:``,i?` map=${i}`:``),e({gameStatus:t,gameStatusMessage:n,...i?{mapName:i}:{}})},onServerList(n){t()._listInFlight=!1,e({servers:n,serversLoading:!1})},onGamePacket(e){let n=t()._adapter;n||er.warn(`received game packet but no adapter is active`),n?.feedPacket(e)},onPing(t){e({relayToGameServerPing:t})},onWsPing(t){e({browserToRelayPing:t})},onError(n){er.error(`error: %s`,n),t()._listInFlight=!1,e({serversLoading:!1})},onClose(){let n=t();n._relay===i&&(n._relay=null,n._adapter=null,n._pending=[],n._listInFlight=!1,e({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,adapter:null,liveReady:!1}))}});i.connect(),t()._relay=i},disconnectRelay(){let n=t();n._relay?.close(),n._relay=null,n._adapter=null,n._pending=[],n._listInFlight=!1,e({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,adapter:null,liveReady:!1})},listServers(){let n=t();if(n._listInFlight)return;n._listInFlight=!0;let r=()=>{let e=t();e._relay?.sendWsPing(),e._relay?.listServers()};e({serversLoading:!0}),n._relay?.connected?r():(n._pending.push(r),n._relay||t().connectRelay())},joinServer(n,r){let i=t();if(!i._relay)return;let a=i.servers.find(e=>e.address===n),o=new Tn(i._relay);o.onReady=()=>e({liveReady:!0}),o.onMissionChange=t=>{er.info(`mission changed: %s`,t),e({mapName:t,liveReady:!1}),En.getState().setMissionInfo({missionName:t,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null})},o.onMissionInfoChange=()=>{En.getState().setMissionInfo({missionDisplayName:o.missionDisplayName??void 0,missionTypeDisplayName:o.missionTypeDisplayName??void 0,gameClassName:o.gameClassName??void 0,serverDisplayName:o.serverDisplayName??void 0,recorderName:o.connectedPlayerName??void 0})},i._adapter=o,e({mapName:a?.mapName??i.mapName,serverName:a?.name,warriorName:r,liveReady:!1,gameStatus:null,adapter:o}),En.getState().setMissionInfo({missionName:a?.mapName??void 0,missionTypeDisplayName:a?.gameType??void 0,serverDisplayName:a?.name??void 0,recorderName:r??void 0}),i._relay.joinServer(n,r)},disconnectServer(){t().disconnectRelay()},sendMoves(e,n){t()._relay?.sendMoves(e,n)},sendCommand(e,...n){t()._relay?.sendCommand(e,n)}}));function rr(e,t){return M(nr,e,t)}function ir(e){return e.relayToGameServerPing!=null&&e.browserToRelayPing!=null?e.relayToGameServerPing+e.browserToRelayPing:e.relayToGameServerPing??null}function ar(e){let t=(0,Fe.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,B.jsx)(B.Fragment,{children:n}),t[0]=n,t[1]=r),r}function or(){return De(sr)}function sr(e){return e.playback.recording}function cr(){return De(lr)}function lr(e){return e.playback.status===`playing`}function ur(){return De(dr)}function dr(e){return e.playback.timeMs/1e3}function fr(){return De(pr)}function pr(e){return e.playback.durationMs/1e3}function mr(){return De(hr)}function hr(e){return e.playback.rate}function gr(){let e=(0,Fe.c)(17),t=or(),n=De(br),r=De(yr),i=De(vr),a=De(_r),o;e[0]===n?o=e[1]:(o=e=>{n(e)},e[0]=n,e[1]=o);let s=o,c;e[2]!==t||e[3]!==r?(c=()=>{t&&r(`playing`)},e[2]=t,e[3]=r,e[4]=c):c=e[4];let l=c,u;e[5]===r?u=e[6]:(u=()=>{r(`paused`)},e[5]=r,e[6]=u);let d=u,f;e[7]===i?f=e[8]:(f=e=>{i(e*1e3)},e[7]=i,e[8]=f);let p=f,m;e[9]===a?m=e[10]:(m=e=>{a(e)},e[9]=a,e[10]=m);let h=m,g;return e[11]!==d||e[12]!==l||e[13]!==p||e[14]!==s||e[15]!==h?(g={setRecording:s,play:l,pause:d,seek:p,setSpeed:h},e[11]=d,e[12]=l,e[13]=p,e[14]=s,e[15]=h,e[16]=g):g=e[16],g}function _r(e){return e.setPlaybackRate}function vr(e){return e.setPlaybackTime}function yr(e){return e.setPlaybackStatus}function br(e){return e.setRecording}var xr={Root:`_Root_bhobl_1 _IconButton_4wify_23 _LabelledButton_4wify_68`,ButtonLabel:`_ButtonLabel_bhobl_6 _ButtonLabel_4wify_241`,ButtonHint:`_ButtonHint_bhobl_10 _ButtonHint_4wify_245`,DemoIcon:`_DemoIcon_bhobl_14`},Sr=`modulepreload`,Cr=function(e){return`/t2-mapper/`+e},wr={},Tr=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Cr(t,n),t in wr)return;wr[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Sr,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Er=A(`LoadDemoButton`);function Dr({isActive:e=!1,choosingMap:t=!1,onCancelChoosingMap:n}){let r=or()?.source===`demo`,{setRecording:i}=gr(),a=(0,z.useRef)(null),o=(0,z.useRef)(0),s=(0,z.useRef)(null),c=(0,z.useCallback)(()=>{if(_n.getState().cancel(),t&&r){n?.();return}if(r){o.current+=1,s.current?.abort(),s.current=null,i(null),yn.getState().reset();return}a.current?.click()},[r,t,n,i]);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`input`,{ref:a,type:`file`,accept:`.rec`,style:{display:`none`},onChange:(0,z.useCallback)(async e=>{let t=e.target.files?.[0];if(t){e.target.value=``;try{let e=await t.arrayBuffer(),n=o.current+1;o.current=n;let{createDemoStreamingRecording:r}=await Tr(async()=>{let{createDemoStreamingRecording:e}=await import(`./demoStreaming-ZopkbEeD.js`);return{createDemoStreamingRecording:e}},__vite__mapDeps([0,1,2,3,4,5])),a=await r(e);if(o.current!==n)return;nr.getState().disconnectServer(),i(a),s.current?.abort();let c=new AbortController;s.current=c;let l=yn.getState();l.reset(),l.setScanProgress(0),Tr(async()=>{let{scanDemoTimeline:e}=await import(`./demoTimelineScanner-NuKBiLD0.js`);return{scanDemoTimeline:e}},__vite__mapDeps([6,1,2,3,4])).then(({scanDemoTimeline:t})=>t(e,a.recorderName,e=>{o.current===n&&yn.getState().setScanProgress(e)},c.signal)).then(e=>{if(o.current!==n)return;let t=yn.getState();t.setEvents(e),t.setScanProgress(null)}).catch(e=>{o.current===n&&(e instanceof Error&&e.name===`AbortError`||(Er.error(`Timeline scan failed: %o`,e),yn.getState().setScanProgress(null)))})}catch(e){Er.error(`Failed to load demo: %o`,e)}}},[i])}),(0,B.jsxs)(`button`,{type:`button`,className:xr.Root,"aria-label":r?`Unload demo`:`Load demo (.rec)`,title:r?`Unload demo`:`Load demo (.rec)`,onClick:c,"data-active":e,children:[(0,B.jsx)(hn,{className:xr.DemoIcon}),(0,B.jsx)(`span`,{className:xr.ButtonLabel,children:`Demo`}),(0,B.jsx)(`span`,{className:xr.ButtonHint,children:t&&r?`Return to demo`:r?`Click to unload`:`Load a .rec file`})]})]})}function Or(e){return S({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z`},child:[]}]})(e)}function kr(e){return S({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393`},child:[]}]})(e)}var Ar={Root:`_Root_1qu11_1 _IconButton_4wify_23 _LabelledButton_4wify_68`,TextLabel:`_TextLabel_1qu11_6 _ButtonLabel_4wify_241`,PingLabel:`_PingLabel_1qu11_10 _ButtonLabel_4wify_241`,LiveIcon:`_LiveIcon_1qu11_15`,Pulsing:`_Pulsing_1qu11_18`,blink:`_blink_1qu11_1`,ButtonHint:`_ButtonHint_1qu11_30 _ButtonHint_4wify_245`};function jr(e){let t=(0,Fe.c)(16),{isActive:n,onOpenServerBrowser:r}=e,i=rr(Nr),a=rr(Mr),o=i===`connected`,s=i===`connecting`||i===`challenging`||i===`authenticating`,c=o?`Connected –\xA0click to disconnect`:`Join server`,l=o?`Connected –\xA0click to disconnect`:`Join server`,u;t[0]!==a||t[1]!==o||t[2]!==r?(u=()=>{_n.getState().cancel(),o?a():r()},t[0]=a,t[1]=o,t[2]=r,t[3]=u):u=t[3];let d=`${Ar.LiveIcon} ${o?Ar.Pulsing:``}`,f;t[4]===d?f=t[5]:(f=(0,B.jsx)(Or,{className:d}),t[4]=d,t[5]=f);let p;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,B.jsx)(`span`,{className:Ar.TextLabel,children:`Live`}),t[6]=p):p=t[6];let m=s?`Connecting…`:o?`Connected`:`Join a game`,h;t[7]===m?h=t[8]:(h=(0,B.jsxs)(B.Fragment,{children:[p,(0,B.jsx)(`span`,{className:Ar.ButtonHint,children:m})]}),t[7]=m,t[8]=h);let g;return t[9]!==n||t[10]!==c||t[11]!==l||t[12]!==u||t[13]!==f||t[14]!==h?(g=(0,B.jsxs)(`button`,{type:`button`,className:Ar.Root,"aria-label":c,title:l,onClick:u,"data-active":n,children:[f,h]}),t[9]=n,t[10]=c,t[11]=l,t[12]=u,t[13]=f,t[14]=h,t[15]=g):g=t[15],g}function Mr(e){return e.disconnectServer}function Nr(e){return e.gameStatus}function Pr(e,t=[]){let n=[];function r(t,r){let i=z.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=z.useMemo(()=>o,Object.values(o));return(0,B.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=z.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>z.createContext(e));return function(n){let r=n?.[e]||t;return z.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Fr(i,...t)]}function Fr(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return z.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function Ir(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Lr(...e){return t=>{let n=!1,r=e.map(e=>{let r=Ir(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{children:r,...i}=e,a=z.Children.toArray(r),o=a.find(Hr);if(o){let e=o.props.children,r=a.map(t=>t===o?z.Children.count(e)>1?z.Children.only(null):z.isValidElement(e)?e.props.children:null:t);return(0,B.jsx)(t,{...i,ref:n,children:z.isValidElement(e)?z.cloneElement(e,void 0,r):null})}return(0,B.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Br(e){let t=z.forwardRef((e,t)=>{let{children:n,...r}=e;if(z.isValidElement(n)){let e=Wr(n),i=Ur(r,n.props);return n.type!==z.Fragment&&(i.ref=t?Lr(t,e):e),z.cloneElement(n,i)}return z.Children.count(n)>1?z.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Vr=Symbol(`radix.slottable`);function Hr(e){return z.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Vr}function Ur(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Wr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Gr(e){let t=e+`CollectionProvider`,[n,r]=Pr(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=z.useRef(null),a=z.useRef(new Map).current;return(0,B.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=zr(s),l=z.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,B.jsx)(c,{ref:Rr(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=zr(u),p=z.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=z.useRef(null),s=Rr(t,o),c=a(u,n);return z.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,B.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return z.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}typeof window<`u`&&window.document&&window.document.createElement;function Kr(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var qr=globalThis?.document?z.useLayoutEffect:()=>{},Jr=z.useInsertionEffect||qr;function Yr({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=Xr({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=z.useRef(e!==void 0);z.useEffect(()=>{let e=t.current;if(e!==s){let t=e?`controlled`:`uncontrolled`,n=s?`controlled`:`uncontrolled`;console.warn(`${r} is changing from ${t} to ${n}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=s},[s,r])}return[c,z.useCallback(t=>{if(s){let n=Zr(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function Xr({defaultProp:e,onChange:t}){let[n,r]=z.useState(e),i=z.useRef(n),a=z.useRef(t);return Jr(()=>{a.current=t},[t]),z.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Zr(e){return typeof e==`function`}var Qr=e(je(),1),$r=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=zr(`Primitive.${t}`),r=z.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,B.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function ei(e,t){return z.useReducer((e,n)=>t[e][n]??e,e)}var ti=e=>{let{present:t,children:n}=e,r=ni(t),i=typeof n==`function`?n({present:r.isPresent}):z.Children.only(n),a=Rr(r.ref,ii(i));return typeof n==`function`||r.isPresent?z.cloneElement(i,{ref:a}):null};ti.displayName=`Presence`;function ni(e){let[t,n]=z.useState(),r=z.useRef(null),i=z.useRef(e),a=z.useRef(`none`),[o,s]=ei(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return z.useEffect(()=>{let e=ri(r.current);a.current=o===`mounted`?e:`none`},[o]),qr(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=ri(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),qr(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=ri(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=ri(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:z.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function ri(e){return e?.animationName||`none`}function ii(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ai=z.useId||(()=>void 0),oi=0;function si(e){let[t,n]=z.useState(ai());return qr(()=>{e||n(e=>e??String(oi++))},[e]),e||(t?`radix-${t}`:``)}var ci=`Collapsible`,[li,ui]=Pr(ci),[di,fi]=li(ci),pi=z.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=Yr({prop:r,defaultProp:i??!1,onChange:o,caller:ci});return(0,B.jsx)(di,{scope:n,disabled:a,contentId:si(),open:c,onOpenToggle:z.useCallback(()=>l(e=>!e),[l]),children:(0,B.jsx)($r.div,{"data-state":yi(c),"data-disabled":a?``:void 0,...s,ref:t})})});pi.displayName=ci;var mi=`CollapsibleTrigger`,hi=z.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=fi(mi,n);return(0,B.jsx)($r.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":yi(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:Kr(e.onClick,i.onOpenToggle)})});hi.displayName=mi;var gi=`CollapsibleContent`,_i=z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=fi(gi,e.__scopeCollapsible);return(0,B.jsx)(ti,{present:n||i.open,children:({present:e})=>(0,B.jsx)(vi,{...r,ref:t,present:e})})});_i.displayName=gi;var vi=z.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=fi(gi,n),[s,c]=z.useState(r),l=z.useRef(null),u=Rr(t,l),d=z.useRef(0),f=d.current,p=z.useRef(0),m=p.current,h=o.open||s,g=z.useRef(h),_=z.useRef(void 0);return z.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),qr(()=>{let e=l.current;if(e){_.current=_.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,g.current||(e.style.transitionDuration=_.current.transitionDuration,e.style.animationName=_.current.animationName),c(r)}},[o.open,r]),(0,B.jsx)($r.div,{"data-state":yi(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!h,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&i})});function yi(e){return e?`open`:`closed`}var bi=pi,xi=hi,Si=_i,Ci=z.createContext(void 0);function wi(e){let t=z.useContext(Ci);return e||t||`ltr`}var Ti=`Accordion`,Ei=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[Di,Oi,ki]=Gr(Ti),[Ai,ji]=Pr(Ti,[ki,ui]),H=ui(),Mi=z.forwardRef((e,t)=>{let{type:n,...r}=e,i=r,a=r;return(0,B.jsx)(Di.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,B.jsx)(Ri,{...a,ref:t}):(0,B.jsx)(Li,{...i,ref:t})})});Mi.displayName=Ti;var[Ni,Pi]=Ai(Ti),[Fi,Ii]=Ai(Ti,{collapsible:!1}),Li=z.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},collapsible:a=!1,...o}=e,[s,c]=Yr({prop:n,defaultProp:r??``,onChange:i,caller:Ti});return(0,B.jsx)(Ni,{scope:e.__scopeAccordion,value:z.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:z.useCallback(()=>a&&c(``),[a,c]),children:(0,B.jsx)(Fi,{scope:e.__scopeAccordion,collapsible:a,children:(0,B.jsx)(Vi,{...o,ref:t})})})}),Ri=z.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=Yr({prop:n,defaultProp:r??[],onChange:i,caller:Ti}),c=z.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=z.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,B.jsx)(Ni,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,B.jsx)(Fi,{scope:e.__scopeAccordion,collapsible:!0,children:(0,B.jsx)(Vi,{...a,ref:t})})})}),[zi,Bi]=Ai(Ti),Vi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...o}=e,s=Rr(z.useRef(null),t),c=Oi(n),l=wi(i)===`ltr`,u=Kr(e.onKeyDown,e=>{if(!Ei.includes(e.key))return;let t=e.target,n=c().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,u=()=>{o=r+1,o>s&&(o=0)},d=()=>{o=r-1,o<0&&(o=s)};switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(l?u():d());break;case`ArrowDown`:a===`vertical`&&u();break;case`ArrowLeft`:a===`horizontal`&&(l?d():u());break;case`ArrowUp`:a===`vertical`&&d();break}n[o%i].ref.current?.focus()});return(0,B.jsx)(zi,{scope:n,disabled:r,direction:i,orientation:a,children:(0,B.jsx)(Di.Slot,{scope:n,children:(0,B.jsx)($r.div,{...o,"data-orientation":a,ref:s,onKeyDown:r?void 0:u})})})}),Hi=`AccordionItem`,[Ui,Wi]=Ai(Hi),Gi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,value:r,...i}=e,a=Bi(Hi,n),o=Pi(Hi,n),s=H(n),c=si(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,B.jsx)(Ui,{scope:n,open:l,disabled:u,triggerId:c,children:(0,B.jsx)(bi,{"data-orientation":a.orientation,"data-state":Qi(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})});Gi.displayName=Hi;var Ki=`AccordionHeader`,qi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Bi(Ti,n),a=Wi(Ki,n);return(0,B.jsx)($r.h3,{"data-orientation":i.orientation,"data-state":Qi(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})});qi.displayName=Ki;var Ji=`AccordionTrigger`,Yi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Bi(Ti,n),a=Wi(Ji,n),o=Ii(Ji,n),s=H(n);return(0,B.jsx)(Di.ItemSlot,{scope:n,children:(0,B.jsx)(xi,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})});Yi.displayName=Ji;var Xi=`AccordionContent`,Zi=z.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Bi(Ti,n),a=Wi(Xi,n),o=H(n);return(0,B.jsx)(Si,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})});Zi.displayName=Xi;function Qi(e){return e?`open`:`closed`}var $i=Mi,ea=Gi,ta=Yi,na=Zi;function ra(e){return S({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 16C141.31 16 48 109.31 48 224v154.83l82 32.81L146.88 496H192v-64h32v64h16v-64h32v64h16v-64h32v64h45.12L382 411.64l82-32.81V224c0-114.69-93.31-208-208-208zm-88 320a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm51.51 64L244 320h24l24.49 80zM344 336a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm104 32z`},child:[]}]})(e)}function ia(e){return S({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`m190.06 414 163.12-139.78a24 24 0 0 0 0-36.44L190.06 98c-15.57-13.34-39.62-2.28-39.62 18.22v279.6c0 20.5 24.05 31.56 39.62 18.18z`},child:[]}]})(e)}var aa={AccordionGroup:`_AccordionGroup_1ysdj_1`,Trigger:`_Trigger_1ysdj_7`,TriggerIcon:`_TriggerIcon_1ysdj_24`,Content:`_Content_1ysdj_35`,slideDown:`_slideDown_1ysdj_1`,slideUp:`_slideUp_1ysdj_1`,Body:`_Body_1ysdj_47`,BodyNoPadding:`_BodyNoPadding_1ysdj_51`};function oa(e){let t=(0,Fe.c)(2),n;return t[0]===e?n=t[1]:(n=(0,B.jsx)($i,{className:aa.AccordionGroup,...e}),t[0]=e,t[1]=n),n}function sa(e){let t=(0,Fe.c)(10),{value:n,label:r,children:i,noPadding:a}=e,o=a===void 0?!1:a,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,B.jsx)(ia,{className:aa.TriggerIcon}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,B.jsxs)(ta,{className:aa.Trigger,children:[s,` `,r]}),t[1]=r,t[2]=c);let l=o?aa.BodyNoPadding:aa.Body,u;t[3]!==i||t[4]!==l?(u=(0,B.jsx)(na,{className:aa.Content,children:(0,B.jsx)(`div`,{className:l,children:i})}),t[3]=i,t[4]=l,t[5]=u):u=t[5];let d;return t[6]!==c||t[7]!==u||t[8]!==n?(d=(0,B.jsxs)(ea,{value:n,children:[c,u]}),t[6]=c,t[7]=u,t[8]=n,t[9]=d):d=t[9],d}var U={InspectorControls:`_InspectorControls_4wify_1`,Dropdown:`_Dropdown_4wify_8`,ButtonGroup:`_ButtonGroup_4wify_16`,IconButton:`_IconButton_4wify_23`,Group:`_Group_4wify_60`,LabelledButton:`_LabelledButton_4wify_68`,CheckboxField:`_CheckboxField_4wify_74`,Label:`_Label_4wify_68`,Description:`_Description_4wify_97`,Control:`_Control_4wify_110`,Field:`_Field_4wify_117`,Tools:`_Tools_4wify_141`,ButtonLabel:`_ButtonLabel_4wify_241`,ButtonHint:`_ButtonHint_4wify_245`,Toggle:`_Toggle_4wify_250 _IconButton_4wify_23`,MapInfoButton:`_MapInfoButton_4wify_255 _IconButton_4wify_23 _LabelledButton_4wify_68`,ForceRenderButton:`_ForceRenderButton_4wify_260`};function ca(e){return S({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M239.22,59.44l-45.63,95.82a3.54,3.54,0,0,1-.16.34l-34.21,71.84a8,8,0,1,1-14.44-6.88L173.62,160H40a8,8,0,0,1-5.66-13.66L76.69,104,34.34,61.66A8,8,0,0,1,40,48H232a8,8,0,0,1,7.22,11.44Z`},child:[]}]})(e)}function la(e){return S({tag:`svg`,attr:{viewBox:`0 0 1024 1024`},child:[{tag:`path`,attr:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z`},child:[]}]})(e)}var ua={Root:`_Root_ur1is_1`,ProgressWrap:`_ProgressWrap_ur1is_6`,ProgressLabel:`_ProgressLabel_ur1is_13`,ProgressBar:`_ProgressBar_ur1is_19`,ProgressFill:`_ProgressFill_ur1is_27`,Filters:`_Filters_ur1is_33`,FilterButton:`_FilterButton_ur1is_40`,EventList:`_EventList_ur1is_57`,EventRow:`_EventRow_ur1is_63`,EventTime:`_EventTime_ur1is_120`,EventIcon:`_EventIcon_ur1is_129`,EventDescription:`_EventDescription_ur1is_165`,Killer:`_Killer_ur1is_170`,Victim:`_Victim_ur1is_173`,DamageType:`_DamageType_ur1is_176`,Empty:`_Empty_ur1is_179`};function da(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}var fa={kill:(0,B.jsx)(ra,{}),"flag-cap":(0,B.jsx)(ca,{}),"match-start":(0,B.jsx)(kr,{}),"match-end":(0,B.jsx)(la,{})},pa={chaingun:`chaingunned`};function ma(e){if(e.type===`kill`&&e.killer&&e.victim)return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{className:ua.Killer,title:e.killer,children:`You`}),` `,(0,B.jsx)(`span`,{className:ua.DamageType,children:e.weapon?pa[e.weapon]??`${e.weapon}${e.weapon.endsWith(`e`)?`d`:`ed`}`:`killed`}),` `,(0,B.jsx)(`span`,{className:ua.Victim,children:e.victim})]});if(e.type===`flag-cap`&&e.capturer){let t=e.teamAffinity===`friendly`?`the enemy flag`:e.teamAffinity===`enemy`?`your flag`:e.flagTeamName?`the ${e.flagTeamName} flag`:`a flag`;return(0,B.jsxs)(B.Fragment,{children:[e.capturer,` captured `,t]})}return e.type===`match-start`?`Match started`:e.type===`match-end`?`Match ended`:e.description}function ha(){let e=(0,Fe.c)(37),t=bn(ya),n=bn(va),{seek:r}=gr(),[i,a]=(0,z.useState)(`all`),o,s;if(e[0]!==t||e[1]!==i||e[2]!==n||e[3]!==r){s=Symbol.for(`react.early_return_sentinel`);bb0:{let c=t?.filter(e=>i===`all`||e.type===i)??[],l;e[6]===r?l=e[7]:(l=e=>{r(Math.max(0,e-3))},e[6]=r,e[7]=l);let u=l;if(n!=null&&t==null){let t;e[8]===n?t=e[9]:(t=Math.round(n*100),e[8]=n,e[9]=t);let r;e[10]===t?r=e[11]:(r=(0,B.jsxs)(`span`,{className:ua.ProgressLabel,children:[`Scanning… `,t,`%`]}),e[10]=t,e[11]=r);let i=`${n*100}%`,a;e[12]===i?a=e[13]:(a=(0,B.jsx)(`div`,{className:ua.ProgressBar,children:(0,B.jsx)(`div`,{className:ua.ProgressFill,style:{width:i}})}),e[12]=i,e[13]=a);let o;e[14]!==r||e[15]!==a?(o=(0,B.jsx)(`div`,{className:ua.Root,children:(0,B.jsxs)(`div`,{className:ua.ProgressWrap,children:[r,a]})}),e[14]=r,e[15]=a,e[16]=o):o=e[16],s=o;break bb0}if(!t){s=null;break bb0}let d;e[17]===t?d=e[18]:(d=t.filter(_a),e[17]=t,e[18]=d);let f=d.length,p;e[19]===t?p=e[20]:(p=t.filter(ga),e[19]=t,e[20]=p);let m=p.length,h=i===`all`,g;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(`all`),e[21]=g):g=e[21];let _;e[22]!==t.length||e[23]!==h?(_=(0,B.jsxs)(`button`,{type:`button`,className:ua.FilterButton,"data-active":h,onClick:g,children:[`All (`,t.length,`)`]}),e[22]=t.length,e[23]=h,e[24]=_):_=e[24];let v=i===`kill`,y;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>a(`kill`),e[25]=y):y=e[25];let b;e[26]!==f||e[27]!==v?(b=(0,B.jsxs)(`button`,{type:`button`,className:ua.FilterButton,"data-active":v,onClick:y,children:[`Kills (`,f,`)`]}),e[26]=f,e[27]=v,e[28]=b):b=e[28];let x=i===`flag-cap`,S;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>a(`flag-cap`),e[29]=S):S=e[29];let C;e[30]!==m||e[31]!==x?(C=(0,B.jsxs)(`button`,{type:`button`,className:ua.FilterButton,"data-active":x,onClick:S,children:[`Flags (`,m,`)`]}),e[30]=m,e[31]=x,e[32]=C):C=e[32];let w;e[33]!==b||e[34]!==C||e[35]!==_?(w=(0,B.jsxs)(`div`,{className:ua.Filters,children:[_,b,C]}),e[33]=b,e[34]=C,e[35]=_,e[36]=w):w=e[36],o=(0,B.jsxs)(`div`,{className:ua.Root,children:[w,c.length===0?(0,B.jsx)(`div`,{className:ua.Empty,children:`No events found.`}):(0,B.jsx)(`div`,{className:ua.EventList,children:c.map((e,t)=>(0,B.jsxs)(`button`,{type:`button`,className:ua.EventRow,onClick:()=>u(e.timeSec),children:[(0,B.jsx)(`span`,{className:ua.EventTime,children:da(e.timeSec)}),(0,B.jsx)(`span`,{className:ua.EventIcon,"data-type":e.type,"data-affinity":e.teamAffinity,children:fa[e.type]}),(0,B.jsx)(`span`,{className:ua.EventDescription,children:ma(e)})]},`${e.timeSec}-${e.type}-${t}`))})]})}e[0]=t,e[1]=i,e[2]=n,e[3]=r,e[4]=o,e[5]=s}else o=e[4],s=e[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function ga(e){return e.type===`flag-cap`}function _a(e){return e.type===`kill`}function va(e){return e.scanProgress}function ya(e){return e.events}var ba=new Map([[`flag`,`Flags`],[`huntersflag1`,`Flags`],[`huntersflag2`,`Flags`],[`huntersflag4`,`Flags`],[`huntersflag8`,`Flags`],[`stationinventory`,`Inventory Stations`],[`stationammo`,`Inventory Stations`],[`mobileinvstation`,`Inventory Stations`],[`stationvehiclepad`,`Vehicle Pads`],[`stationvehicle`,`Vehicle Pads`],[`generatorlarge`,`Generators`],[`solarpanel`,`Generators`],[`sensorlargepulse`,`Sensors`],[`sensormediumpulse`,`Sensors`],[`turretbaselarge`,`Turrets`],[`sentryturret`,`Turrets`],[`repairpatch`,`Health`],[`repairkit`,`Health`],[`ammopack`,`Packs`],[`energypack`,`Packs`],[`shieldpack`,`Packs`],[`repairpack`,`Packs`],[`cloakingpack`,`Packs`],[`sensorjammerpack`,`Packs`],[`aabarrelpack`,`Packs`],[`elfbarrelpack`,`Packs`],[`missilebarrelpack`,`Packs`],[`mortarbarrelpack`,`Packs`],[`plasmabarrelpack`,`Packs`],[`inventorydeployable`,`Packs`],[`motionsensordeployable`,`Packs`],[`pulsesensordeployable`,`Packs`],[`turretoutdoordeployable`,`Packs`],[`turretindoordeployable`,`Packs`],[`satchelcharge`,`Weapons`],[`blaster`,`Weapons`],[`chaingun`,`Weapons`],[`disc`,`Weapons`],[`grenadelauncher`,`Weapons`],[`elfgun`,`Weapons`],[`missilelauncher`,`Weapons`],[`mortar`,`Weapons`],[`plasma`,`Weapons`],[`shocklance`,`Weapons`],[`sniperrifle`,`Weapons`],[`targetinglaser`,`Weapons`],[`chaingunammo`,`Ammo`],[`discammo`,`Ammo`],[`grenadelauncherammo`,`Ammo`],[`missilelauncherammo`,`Ammo`],[`mortarammo`,`Ammo`],[`plasmaammo`,`Ammo`],[`bombammo`,`Ammo`],[`assaultmortarammo`,`Ammo`],[`grenade`,`Ammo`],[`concussiongrenade`,`Ammo`],[`flashgrenade`,`Ammo`],[`flaregrenade`,`Ammo`],[`cameragrenade`,`Ammo`],[`mine`,`Ammo`],[`beacon`,`Ammo`],[`flipflop`,`Switches`],[`nexus`,`Nexus`],[`nexusbase`,`Nexus`],[`nexuscap`,`Nexus`]]),xa=[`Flags`,`Inventory Stations`,`Generators`,`Vehicle Pads`,`Turrets`,`Sensors`,`Nexus`,`Switches`,`Packs`,`Health`,`Weapons`,`Ammo`];function Sa(e){return e.renderType===`Shape`&&typeof e.dataBlock==`string`&&e.dataBlock!==``&&Array.isArray(e.position)}function Ca(e,t){let n=new Map;for(let r of e.values()){if(!Sa(r))continue;let e=ba.get(r.dataBlock.toLowerCase());if(!e)continue;let i=r.dataBlock;if(t&&r.runtimeObject){let e=O(r.runtimeObject,t);e&&(i=e)}let a=n.get(e);a||(a=[],n.set(e,a)),a.push({entityId:r.id,label:i,position:r.position,teamId:r.teamId})}let r=[];for(let e of xa){let t=n.get(e);t&&t.length>0&&(t.sort((e,t)=>{let n=(e.teamId??0)-(t.teamId??0);return n===0?e.label.localeCompare(t.label):n}),r.push({name:e,targets:t}))}return r}var wa={Root:`_Root_1is6z_1`,Empty:`_Empty_1is6z_6`,CategoryHeader:`_CategoryHeader_1is6z_13`,CategoryCount:`_CategoryCount_1is6z_31`,TourButton:`_TourButton_1is6z_36`,PlayIcon:`_PlayIcon_1is6z_56`,ExitIcon:`_ExitIcon_1is6z_60`,ItemList:`_ItemList_1is6z_73`,ItemRow:`_ItemRow_1is6z_79`,ItemLabel:`_ItemLabel_1is6z_124`,TeamBadge:`_TeamBadge_1is6z_129`};function Ta(e){return S({tag:`svg`,attr:{viewBox:`0 0 20 20`,fill:`currentColor`,"aria-hidden":`true`},child:[{tag:`path`,attr:{fillRule:`evenodd`,d:`M3 4.25A2.25 2.25 0 0 1 5.25 2h5.5A2.25 2.25 0 0 1 13 4.25v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 0-.75-.75h-5.5a.75.75 0 0 0-.75.75v11.5c0 .414.336.75.75.75h5.5a.75.75 0 0 0 .75-.75v-2a.75.75 0 0 1 1.5 0v2A2.25 2.25 0 0 1 10.75 18h-5.5A2.25 2.25 0 0 1 3 15.75V4.25Z`,clipRule:`evenodd`},child:[]},{tag:`path`,attr:{fillRule:`evenodd`,d:`M19 10a.75.75 0 0 0-.75-.75H8.704l1.048-.943a.75.75 0 1 0-1.004-1.114l-2.5 2.25a.75.75 0 0 0 0 1.114l2.5 2.25a.75.75 0 1 0 1.004-1.114l-1.048-.943h9.546A.75.75 0 0 0 19 10Z`,clipRule:`evenodd`},child:[]}]})(e)}function Ea(e){return e.animation?{targets:e.animation.targets,categoryName:e.animation.categoryName,currentIndex:e.animation.currentIndex}:null}function Da(e,t){return e===t?!0:!e||!t?!1:e.categoryName===t.categoryName&&e.currentIndex===t.currentIndex&&e.targets===t.targets}function Oa(){let e=(0,Fe.c)(11),t=An(),n=De(ka),r;e[0]!==n||e[1]!==t?(r=Ca(t,n),e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a=vn(Ea,Da);if(i.length===0){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,B.jsx)(`div`,{className:wa.Root,children:(0,B.jsx)(`p`,{className:wa.Empty,children:`No map features found`})}),e[3]=t):t=e[3],t}let o;if(e[4]!==i||e[5]!==a){let t;e[7]===a?t=e[8]:(t=e=>(0,B.jsx)(Aa,{category:e,tourState:a},e.name),e[7]=a,e[8]=t),o=i.map(t),e[4]=i,e[5]=a,e[6]=o}else o=e[6];let s;return e[9]===o?s=e[10]:(s=(0,B.jsx)(`div`,{className:wa.Root,children:o}),e[9]=o,e[10]=s),s}function ka(e){return e.runtime.runtime?.state.datablocks}function Aa(e){let t=(0,Fe.c)(30),{category:n,tourState:r}=e,i=r!==null&&r.categoryName===n.name,a;t[0]!==n.name||t[1]!==n.targets||t[2]!==i?(a=()=>{i?_n.getState().cancel():_n.getState().startTour(n.targets,n.name)},t[0]=n.name,t[1]=n.targets,t[2]=i,t[3]=a):a=t[3];let o=a,s;t[4]===n.name?s=t[5]:(s=(0,B.jsx)(`span`,{children:n.name}),t[4]=n.name,t[5]=s);let c;t[6]===n.targets.length?c=t[7]:(c=(0,B.jsxs)(`span`,{className:wa.CategoryCount,children:[`(`,n.targets.length,`)`]}),t[6]=n.targets.length,t[7]=c);let l;t[8]===i?l=t[9]:(l=i?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Ta,{className:wa.ExitIcon}),` Exit tour`]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(kr,{className:wa.PlayIcon}),` Tour all`]}),t[8]=i,t[9]=l);let u;t[10]!==o||t[11]!==i||t[12]!==l?(u=(0,B.jsx)(`button`,{type:`button`,className:wa.TourButton,"data-active":i,onClick:o,children:l}),t[10]=o,t[11]=i,t[12]=l,t[13]=u):u=t[13];let d;t[14]!==s||t[15]!==c||t[16]!==u?(d=(0,B.jsxs)(`div`,{className:wa.CategoryHeader,children:[s,c,u]}),t[14]=s,t[15]=c,t[16]=u,t[17]=d):d=t[17];let f;if(t[18]!==n.targets||t[19]!==i||t[20]!==r){let e;t[22]!==i||t[23]!==r?(e=(e,t)=>{let n=i&&r.currentIndex===t||r!==null&&r.targets.length===1&&r.targets[0].entityId===e.entityId;return(0,B.jsxs)(`button`,{type:`button`,className:wa.ItemRow,"data-active":n,onClick:()=>_n.getState().flyTo(e),children:[(0,B.jsx)(kr,{className:wa.PlayIcon}),` `,(0,B.jsx)(`span`,{className:wa.ItemLabel,children:e.label}),e.teamId!=null&&e.teamId>0&&(0,B.jsx)(`span`,{className:wa.TeamBadge,"data-team":e.teamId,children:k[e.teamId]??`Team ${e.teamId}`})]},e.entityId)},t[22]=i,t[23]=r,t[24]=e):e=t[24],f=n.targets.map(e),t[18]=n.targets,t[19]=i,t[20]=r,t[21]=f}else f=t[21];let p;t[25]===f?p=t[26]:(p=(0,B.jsx)(`div`,{className:wa.ItemList,children:f}),t[25]=f,t[26]=p);let m;return t[27]!==d||t[28]!==p?(m=(0,B.jsxs)(B.Fragment,{children:[d,p]}),t[27]=d,t[28]=p,t[29]=m):m=t[29],m}var ja=[`controls`,`preferences`,`audio`,`timeline`],Ma=(0,z.memo)(function(e){let t=(0,Fe.c)(199),{missionName:n,missionType:r,onOpenMapInfo:i,onOpenScoreScreen:a,onOpenServerBrowser:o,onChooseMap:s,onCancelChoosingMap:l,choosingMap:u,cameraRef:d,invalidateRef:p}=e,m=g(),h=Rn(),_=or(),y=Bn(),b=h===`demo`||h===`live`?y:n,x;t[0]===b?x=t[1]:(x=b?C(b):!1,t[0]=b,t[1]=x);let S=x,w=rr(Na),{fogEnabled:T,setFogEnabled:E,fov:D,setFov:O,audioEnabled:k,setAudioEnabled:A,audioVolume:j,setAudioVolume:M,animationEnabled:ee,setAnimationEnabled:te,fpsLimit:N,setFpsLimit:P}=c(),{speedMultiplier:ne,setSpeedMultiplier:re,mouseSensitivity:ie,setMouseSensitivity:F,touchMode:I,setTouchMode:L,invertScroll:ae,setInvertScroll:R,invertDrag:oe,setInvertDrag:se,invertJoystick:ce,setInvertJoystick:le}=v(),{debugMode:ue,setDebugMode:de,renderOnDemand:fe,setRenderOnDemand:pe}=f(),[me,he]=(0,z.useState)(!1),ge=(0,z.useRef)(null),_e=(0,z.useRef)(null),ve=(0,z.useRef)(null),ye,be;t[2]===me?(ye=t[3],be=t[4]):(ye=()=>{me&&ge.current?.focus()},be=[me],t[2]=me,t[3]=ye,t[4]=be),(0,z.useEffect)(ye,be);let xe;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>{let t=e.relatedTarget;t&&ve.current?.contains(t)||he(!1)},t[5]=xe):xe=t[5];let Se=xe,Ce;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=e=>{e.key===`Escape`&&(he(!1),_e.current?.focus())},t[6]=Ce):Ce=t[6];let we=Ce,Te=h===`map`&&!_||u,Ee,De,Oe;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,B.jsx)(Qt,{}),De=(0,B.jsx)(`span`,{className:U.ButtonLabel,children:`Explore`}),Oe=(0,B.jsx)(`span`,{className:U.ButtonHint,children:`Browse maps`}),t[7]=Ee,t[8]=De,t[9]=Oe):(Ee=t[7],De=t[8],Oe=t[9]);let ke;t[10]!==s||t[11]!==Te?(ke=(0,B.jsxs)(`button`,{type:`button`,className:U.IconButton,"data-active":Te,onClick:s,children:[Ee,De,Oe]}),t[10]=s,t[11]=Te,t[12]=ke):ke=t[12];let Ae=!u&&_?.source===`demo`,je;t[13]!==u||t[14]!==l||t[15]!==Ae?(je=(0,B.jsx)(Dr,{isActive:Ae,choosingMap:u,onCancelChoosingMap:l}),t[13]=u,t[14]=l,t[15]=Ae,t[16]=je):je=t[16];let Me;t[17]!==u||t[18]!==w||t[19]!==o?(Me=o&&(0,B.jsx)(jr,{isActive:!u&&w,onOpenServerBrowser:o}),t[17]=u,t[18]=w,t[19]=o,t[20]=Me):Me=t[20];let Ne;t[21]!==ke||t[22]!==je||t[23]!==Me?(Ne=(0,B.jsxs)(`div`,{className:U.ButtonGroup,children:[ke,je,Me]}),t[21]=ke,t[22]=je,t[23]=Me,t[24]=Ne):Ne=t[24];let Pe=!S,Ie;t[25]!==d||t[26]!==n||t[27]!==r||t[28]!==Pe?(Ie=(0,B.jsx)(mn,{missionName:n,missionType:r,cameraRef:d,disabled:Pe}),t[25]=d,t[26]=n,t[27]=r,t[28]=Pe,t[29]=Ie):Ie=t[29];let Le=!S,Re,ze;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,B.jsx)(sn,{}),ze=(0,B.jsx)(`span`,{className:U.ButtonLabel,children:`Show map info`}),t[30]=Re,t[31]=ze):(Re=t[30],ze=t[31]);let Be;t[32]!==i||t[33]!==Le?(Be=(0,B.jsxs)(`button`,{type:`button`,className:U.MapInfoButton,"aria-label":`Show map info`,onClick:i,disabled:Le,children:[Re,ze]}),t[32]=i,t[33]=Le,t[34]=Be):Be=t[34];let Ve;t[35]===a?Ve=t[36]:(Ve=a&&(0,B.jsxs)(`button`,{type:`button`,className:U.MapInfoButton,"aria-label":`Show scores`,onClick:a,children:[(0,B.jsx)(tn,{}),(0,B.jsx)(`span`,{className:U.ButtonLabel,children:`Show scores`})]}),t[35]=a,t[36]=Ve);let He;t[37]!==Ne||t[38]!==Ie||t[39]!==Be||t[40]!==Ve?(He=(0,B.jsxs)(`div`,{className:U.Tools,children:[Ne,Ie,Be,Ve]}),t[37]=Ne,t[38]=Ie,t[39]=Be,t[40]=Ve,t[41]=He):He=t[41];let Ue;t[42]===_?.source?Ue=t[43]:(Ue=_?.source===`demo`&&(0,B.jsx)(sa,{value:`timeline`,label:`Timeline`,noPadding:!0,children:(0,B.jsx)(ha,{})}),t[42]=_?.source,t[43]=Ue);let We;t[44]!==h||t[45]!==_?(We=h===`map`&&!_&&(0,B.jsx)(sa,{value:`mapFeatures`,label:`Map Features`,noPadding:!0,children:(0,B.jsx)(Oa,{})}),t[44]=h,t[45]=_,t[46]=We):We=t[46];let Ge;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,B.jsx)(`label`,{htmlFor:`speedInput`,children:`Fly speed`}),t[47]=Ge):Ge=t[47];let Ke;t[48]===ne?Ke=t[49]:(Ke=Math.round(ne*100),t[48]=ne,t[49]=Ke);let qe;t[50]===re?qe=t[51]:(qe=e=>re(parseFloat(e.target.value)/100),t[50]=re,t[51]=qe);let Je;t[52]!==Ke||t[53]!==qe?(Je=(0,B.jsx)(`div`,{className:U.Control,children:(0,B.jsx)(`input`,{id:`speedInput`,type:`range`,min:1,max:100,step:1,value:Ke,onChange:qe})}),t[52]=Ke,t[53]=qe,t[54]=Je):Je=t[54];let Ye=m===!1?` Use your scroll wheel or trackpad to adjust while flying.`:``,Xe;t[55]===Ye?Xe=t[56]:(Xe=(0,B.jsxs)(`p`,{className:U.Description,children:[`How fast you move in free-flying mode.`,Ye]}),t[55]=Ye,t[56]=Xe);let Ze;t[57]!==Je||t[58]!==Xe?(Ze=(0,B.jsxs)(`div`,{className:U.Field,children:[Ge,Je,Xe]}),t[57]=Je,t[58]=Xe,t[59]=Ze):Ze=t[59];let Qe;t[60]!==m||t[61]!==L||t[62]!==I?(Qe=m?(0,B.jsxs)(`div`,{className:U.Field,children:[(0,B.jsx)(`label`,{htmlFor:`touchModeInput`,children:`Joystick`}),` `,(0,B.jsx)(`div`,{className:U.Control,children:(0,B.jsxs)(`select`,{id:`touchModeInput`,value:I,onChange:e=>L(e.target.value),children:[(0,B.jsx)(`option`,{value:`dualStick`,children:`Dual stick`}),(0,B.jsx)(`option`,{value:`moveLookStick`,children:`Single stick`})]})}),(0,B.jsx)(`p`,{className:U.Description,children:`Single stick has a unified move + look control. Dual stick has independent move + look.`})]}):null,t[60]=m,t[61]=L,t[62]=I,t[63]=Qe):Qe=t[63];let $e;t[64]!==ae||t[65]!==m||t[66]!==R?($e=m===!1?(0,B.jsxs)(`div`,{className:U.CheckboxField,children:[(0,B.jsx)(`input`,{id:`invertScroll`,type:`checkbox`,checked:ae,onChange:e=>{R(e.target.checked)}}),(0,B.jsx)(`label`,{className:U.Label,htmlFor:`invertScroll`,children:`Invert scroll direction`}),(0,B.jsx)(`p`,{className:U.Description,children:`Reverse which scroll direction increases and decreases fly speed.`})]}):null,t[64]=ae,t[65]=m,t[66]=R,t[67]=$e):$e=t[67];let et;t[68]!==ce||t[69]!==m||t[70]!==le?(et=m?(0,B.jsxs)(`div`,{className:U.CheckboxField,children:[(0,B.jsx)(`input`,{id:`invertJoystick`,type:`checkbox`,checked:ce,onChange:e=>{le(e.target.checked)}}),(0,B.jsx)(`label`,{className:U.Label,htmlFor:`invertJoystick`,children:`Invert joystick direction`}),(0,B.jsx)(`p`,{className:U.Description,children:`Reverse joystick look direction.`})]}):null,t[68]=ce,t[69]=m,t[70]=le,t[71]=et):et=t[71];let tt;t[72]===se?tt=t[73]:(tt=e=>{se(e.target.checked)},t[72]=se,t[73]=tt);let nt;t[74]!==oe||t[75]!==tt?(nt=(0,B.jsx)(`input`,{id:`invertDrag`,type:`checkbox`,checked:oe,onChange:tt}),t[74]=oe,t[75]=tt,t[76]=nt):nt=t[76];let rt,it;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(rt=(0,B.jsx)(`label`,{className:U.Label,htmlFor:`invertDrag`,children:`Invert drag direction`}),it=(0,B.jsx)(`p`,{className:U.Description,children:`Reverse how dragging the viewport aims the camera.`}),t[77]=rt,t[78]=it):(rt=t[77],it=t[78]);let at;t[79]===nt?at=t[80]:(at=(0,B.jsxs)(`div`,{className:U.CheckboxField,children:[nt,rt,it]}),t[79]=nt,t[80]=at);let ot;t[81]!==m||t[82]!==ie||t[83]!==F?(ot=m===!1&&(0,B.jsxs)(`div`,{className:U.Field,children:[(0,B.jsx)(`label`,{htmlFor:`mouseSensitivityInput`,children:`Mouse sensitivity`}),(0,B.jsx)(`div`,{className:U.Control,children:(0,B.jsx)(`input`,{id:`mouseSensitivityInput`,type:`range`,min:1,max:256,step:2,value:Math.round(ie*16e3),onChange:e=>{F(parseInt(e.target.value)/16e3)}})})]}),t[81]=m,t[82]=ie,t[83]=F,t[84]=ot):ot=t[84];let st;t[85]!==Ze||t[86]!==Qe||t[87]!==$e||t[88]!==et||t[89]!==at||t[90]!==ot?(st=(0,B.jsxs)(sa,{value:`controls`,label:`Controls`,children:[Ze,Qe,$e,et,at,ot]}),t[85]=Ze,t[86]=Qe,t[87]=$e,t[88]=et,t[89]=at,t[90]=ot,t[91]=st):st=t[91];let ct;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,B.jsx)(`label`,{htmlFor:`fovInput`,children:`FOV`}),t[92]=ct):ct=t[92];let lt;t[93]===D?lt=t[94]:(lt=(0,B.jsxs)(`output`,{htmlFor:`fovInput`,children:[D,`°`]}),t[93]=D,t[94]=lt);let ut;t[95]===O?ut=t[96]:(ut=e=>O(parseInt(e.target.value)),t[95]=O,t[96]=ut);let dt;t[97]!==D||t[98]!==ut?(dt=(0,B.jsx)(`input`,{id:`fovInput`,type:`range`,min:75,max:120,step:5,value:D,onChange:ut}),t[97]=D,t[98]=ut,t[99]=dt):dt=t[99];let ft;t[100]!==lt||t[101]!==dt?(ft=(0,B.jsx)(sa,{value:`preferences`,label:`Preferences`,children:(0,B.jsxs)(`div`,{className:U.Field,children:[ct,(0,B.jsxs)(`div`,{className:U.Control,children:[lt,dt]})]})}),t[100]=lt,t[101]=dt,t[102]=ft):ft=t[102];let pt;t[103]===A?pt=t[104]:(pt=e=>{A(e.target.checked)},t[103]=A,t[104]=pt);let mt;t[105]!==k||t[106]!==pt?(mt=(0,B.jsx)(`input`,{id:`audioInput`,type:`checkbox`,checked:k,onChange:pt}),t[105]=k,t[106]=pt,t[107]=mt):mt=t[107];let ht;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(ht=(0,B.jsx)(`label`,{className:U.Label,htmlFor:`audioInput`,children:`Enable audio`}),t[108]=ht):ht=t[108];let gt;t[109]===mt?gt=t[110]:(gt=(0,B.jsxs)(`div`,{className:U.CheckboxField,children:[mt,ht]}),t[109]=mt,t[110]=gt);let _t;t[111]===Symbol.for(`react.memo_cache_sentinel`)?(_t=(0,B.jsx)(`label`,{htmlFor:`volumeInput`,children:`Master volume`}),t[111]=_t):_t=t[111];let vt;t[112]===j?vt=t[113]:(vt=Math.round(j*100),t[112]=j,t[113]=vt);let yt;t[114]===vt?yt=t[115]:(yt=(0,B.jsxs)(`output`,{htmlFor:`volumeInput`,children:[vt,`%`]}),t[114]=vt,t[115]=yt);let bt;t[116]===M?bt=t[117]:(bt=e=>M(parseFloat(e.target.value)),t[116]=M,t[117]=bt);let xt;t[118]!==j||t[119]!==bt?(xt=(0,B.jsx)(`input`,{id:`volumeInput`,type:`range`,min:0,max:1,step:.05,value:j,onChange:bt}),t[118]=j,t[119]=bt,t[120]=xt):xt=t[120];let St;t[121]!==yt||t[122]!==xt?(St=(0,B.jsxs)(`div`,{className:U.Field,children:[_t,(0,B.jsxs)(`div`,{className:U.Control,children:[yt,xt]})]}),t[121]=yt,t[122]=xt,t[123]=St):St=t[123];let Ct;t[124]!==gt||t[125]!==St?(Ct=(0,B.jsxs)(sa,{value:`audio`,label:`Audio`,children:[gt,St]}),t[124]=gt,t[125]=St,t[126]=Ct):Ct=t[126];let wt;t[127]===E?wt=t[128]:(wt=e=>{E(e.target.checked)},t[127]=E,t[128]=wt);let Tt;t[129]!==T||t[130]!==wt?(Tt=(0,B.jsx)(`input`,{id:`fogInput`,type:`checkbox`,checked:T,onChange:wt}),t[129]=T,t[130]=wt,t[131]=Tt):Tt=t[131];let Et;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(Et=(0,B.jsx)(`label`,{className:U.Label,htmlFor:`fogInput`,children:`Enable fog`}),t[132]=Et):Et=t[132];let Dt;t[133]===Tt?Dt=t[134]:(Dt=(0,B.jsxs)(`div`,{className:U.CheckboxField,children:[Tt,Et]}),t[133]=Tt,t[134]=Dt);let Ot;t[135]===te?Ot=t[136]:(Ot=e=>{te(e.target.checked)},t[135]=te,t[136]=Ot);let kt;t[137]!==ee||t[138]!==Ot?(kt=(0,B.jsx)(`input`,{id:`animationInput`,type:`checkbox`,checked:ee,onChange:Ot}),t[137]=ee,t[138]=Ot,t[139]=kt):kt=t[139];let At;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(At=(0,B.jsx)(`label`,{className:U.Label,htmlFor:`animationInput`,children:`Enable animations`}),t[140]=At):At=t[140];let jt;t[141]===kt?jt=t[142]:(jt=(0,B.jsxs)(`div`,{className:U.CheckboxField,children:[kt,At]}),t[141]=kt,t[142]=jt);let Mt;t[143]===Symbol.for(`react.memo_cache_sentinel`)?(Mt=(0,B.jsx)(`label`,{htmlFor:`fpsLimitInput`,children:`FPS limit`}),t[143]=Mt):Mt=t[143];let Nt=N??``,Pt;t[144]===P?Pt=t[145]:(Pt=e=>{let t=e.target.value;P(t===``?null:parseInt(t))},t[144]=P,t[145]=Pt);let Ft,It,Lt,Rt,zt;t[146]===Symbol.for(`react.memo_cache_sentinel`)?(Ft=(0,B.jsx)(`option`,{value:`30`,children:`30`}),It=(0,B.jsx)(`option`,{value:`60`,children:`60`}),Lt=(0,B.jsx)(`option`,{value:`120`,children:`120`}),Rt=(0,B.jsx)(`option`,{value:`144`,children:`144`}),zt=(0,B.jsx)(`option`,{value:``,children:`No limit`}),t[146]=Ft,t[147]=It,t[148]=Lt,t[149]=Rt,t[150]=zt):(Ft=t[146],It=t[147],Lt=t[148],Rt=t[149],zt=t[150]);let Bt;t[151]!==Nt||t[152]!==Pt?(Bt=(0,B.jsx)(`div`,{className:U.Control,children:(0,B.jsxs)(`select`,{id:`fpsLimitInput`,value:Nt,onChange:Pt,children:[Ft,It,Lt,Rt,zt]})}),t[151]=Nt,t[152]=Pt,t[153]=Bt):Bt=t[153];let Vt;t[154]===Symbol.for(`react.memo_cache_sentinel`)?(Vt=(0,B.jsx)(`p`,{className:U.Description,children:`Give your device a break by capping the framerate.`}),t[154]=Vt):Vt=t[154];let Ht;t[155]===Bt?Ht=t[156]:(Ht=(0,B.jsxs)(`div`,{className:U.Field,children:[Mt,Bt,Vt]}),t[155]=Bt,t[156]=Ht);let Ut;t[157]!==Dt||t[158]!==jt||t[159]!==Ht?(Ut=(0,B.jsxs)(sa,{value:`graphics`,label:`Graphics`,children:[Dt,jt,Ht]}),t[157]=Dt,t[158]=jt,t[159]=Ht,t[160]=Ut):Ut=t[160];let Wt;t[161]===de?Wt=t[162]:(Wt=e=>{de(e.target.checked)},t[161]=de,t[162]=Wt);let Gt;t[163]!==ue||t[164]!==Wt?(Gt=(0,B.jsx)(`input`,{id:`debugInput`,type:`checkbox`,checked:ue,onChange:Wt}),t[163]=ue,t[164]=Wt,t[165]=Gt):Gt=t[165];let Kt;t[166]===Symbol.for(`react.memo_cache_sentinel`)?(Kt=(0,B.jsx)(`label`,{className:U.Label,htmlFor:`debugInput`,children:`Render debug visuals`}),t[166]=Kt):Kt=t[166];let qt;t[167]===Gt?qt=t[168]:(qt=(0,B.jsxs)(`div`,{className:U.CheckboxField,children:[Gt,Kt]}),t[167]=Gt,t[168]=qt);let Jt;t[169]===pe?Jt=t[170]:(Jt=e=>{pe(e.target.checked)},t[169]=pe,t[170]=Jt);let Yt;t[171]!==fe||t[172]!==Jt?(Yt=(0,B.jsx)(`input`,{id:`onDemandInput`,type:`checkbox`,checked:fe,onChange:Jt}),t[171]=fe,t[172]=Jt,t[173]=Yt):Yt=t[173];let Xt;t[174]===Symbol.for(`react.memo_cache_sentinel`)?(Xt=(0,B.jsx)(`label`,{htmlFor:`onDemandInput`,children:`Render on demand `}),t[174]=Xt):Xt=t[174];let Zt;t[175]===p?Zt=t[176]:(Zt=()=>p.current?.(),t[175]=p,t[176]=Zt);let en;t[177]===Symbol.for(`react.memo_cache_sentinel`)?(en=(0,B.jsx)($t,{}),t[177]=en):en=t[177];let nn;t[178]===Zt?nn=t[179]:(nn=(0,B.jsxs)(`div`,{className:U.Label,children:[Xt,(0,B.jsx)(`button`,{type:`button`,className:U.ForceRenderButton,title:`Force render`,"aria-label":`Force render`,onClick:Zt,children:en})]}),t[178]=Zt,t[179]=nn);let rn;t[180]===Symbol.for(`react.memo_cache_sentinel`)?(rn=(0,B.jsx)(`p`,{className:U.Description,children:`Significantly decreases CPU and GPU usage by only rendering frames when requested. Helpful when developing parts of the app unrelated to rendering.`}),t[180]=rn):rn=t[180];let an;t[181]!==Yt||t[182]!==nn?(an=(0,B.jsxs)(`div`,{className:U.CheckboxField,children:[Yt,nn,rn]}),t[181]=Yt,t[182]=nn,t[183]=an):an=t[183];let on;t[184]!==qt||t[185]!==an?(on=(0,B.jsxs)(sa,{value:`debug`,label:`Debug`,children:[qt,an]}),t[184]=qt,t[185]=an,t[186]=on):on=t[186];let cn;t[187]!==Ue||t[188]!==We||t[189]!==st||t[190]!==ft||t[191]!==Ct||t[192]!==Ut||t[193]!==on?(cn=(0,B.jsx)(`div`,{className:U.Accordions,children:(0,B.jsxs)(oa,{type:`multiple`,defaultValue:ja,children:[Ue,We,st,ft,Ct,Ut,on]})}),t[187]=Ue,t[188]=We,t[189]=st,t[190]=ft,t[191]=Ct,t[192]=Ut,t[193]=on,t[194]=cn):cn=t[194];let ln;return t[195]!==me||t[196]!==He||t[197]!==cn?(ln=(0,B.jsx)(`div`,{className:U.InspectorControls,children:(0,B.jsx)(`div`,{ref:ve,children:(0,B.jsxs)(`div`,{className:U.Dropdown,ref:ge,id:`settingsPanel`,tabIndex:-1,onKeyDown:we,onBlur:Se,"data-open":me,children:[He,cn]})})}),t[195]=me,t[196]=He,t[197]=cn,t[198]=ln):ln=t[198],ln});function Na(e){return e.gameStatus===`connected`||e.gameStatus===`authenticating`}function Pa(...e){}function Fa(e,t){return Ia(e)?e(La(t)?t():t):e}function Ia(e){return typeof e==`function`}function La(e){return typeof e==`function`}function Ra(e,t){return typeof Object.hasOwn==`function`?Object.hasOwn(e,t):Object.prototype.hasOwnProperty.call(e,t)}function za(...e){return(...t)=>{for(let n of e)typeof n==`function`&&n(...t)}}function Ba(e){return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}function Va(e,t){let n={...e};for(let e of t)Ra(n,e)&&delete n[e];return n}function Ha(e,t){let n={};for(let r of t)Ra(e,r)&&(n[r]=e[r]);return n}function Ua(e){return e}function Wa(e,t){if(!e)throw typeof t==`string`?Error(t):Error(`Invariant failed`)}function Ga(e){return Object.keys(e)}function Ka(e,...t){let n=typeof e==`function`?e(...t):e;return n==null?!1:!n}function qa(e){return e.disabled||e[`aria-disabled`]===!0||e[`aria-disabled`]===`true`}function Ja(e){let t={};for(let n in e)e[n]!==void 0&&(t[n]=e[n]);return t}function W(...e){for(let t of e)if(t!==void 0)return t}function Ya(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function Xa(e){return!e||!(0,z.isValidElement)(e)?!1:`ref`in e.props||`ref`in e}function Za(e){return Xa(e)?{...e.props}.ref||e.ref:null}function Qa(e,t){let n={...e};for(let r in t){if(!Ra(t,r))continue;if(r===`className`){let r=`className`;n[r]=e[r]?`${e[r]} ${t[r]}`:t[r];continue}if(r===`style`){let r=`style`;n[r]=e[r]?{...e[r],...t[r]}:t[r];continue}let i=t[r];if(typeof i==`function`&&r.startsWith(`on`)){let t=e[r];if(typeof t==`function`){n[r]=(...e)=>{i(...e),t(...e)};continue}}n[r]=i}return n}var $a=eo();function eo(){return typeof window<`u`&&!!window.document?.createElement}function to(e){return e?`self`in e?e.document:e.ownerDocument||document:document}function no(e){return e?`self`in e?e.self:to(e).defaultView||window:self}function ro(e,t=!1){let{activeElement:n}=to(e);if(!n?.nodeName)return null;if(ao(n)&&n.contentDocument?.body)return ro(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=to(n).getElementById(e);if(t)return t}}return n}function io(e,t){return e===t||e.contains(t)}function ao(e){return e.tagName===`IFRAME`}function oo(e){let t=e.tagName.toLowerCase();return t===`button`?!0:t===`input`&&e.type?so.indexOf(e.type)!==-1:!1}var so=[`button`,`color`,`file`,`image`,`reset`,`submit`];function G(e){if(typeof e.checkVisibility==`function`)return e.checkVisibility();let t=e;return t.offsetWidth>0||t.offsetHeight>0||e.getClientRects().length>0}function K(e){try{let t=e instanceof HTMLInputElement&&e.selectionStart!==null,n=e.tagName===`TEXTAREA`;return t||n||!1}catch{return!1}}function co(e){return e.isContentEditable||K(e)}function lo(e){if(K(e))return e.value;if(e.isContentEditable){let t=to(e).createRange();return t.selectNodeContents(e),t.toString()}return``}function uo(e){let t=0,n=0;if(K(e))t=e.selectionStart||0,n=e.selectionEnd||0;else if(e.isContentEditable){let r=to(e).getSelection();if(r?.rangeCount&&r.anchorNode&&io(e,r.anchorNode)&&r.focusNode&&io(e,r.focusNode)){let i=r.getRangeAt(0),a=i.cloneRange();a.selectNodeContents(e),a.setEnd(i.startContainer,i.startOffset),t=a.toString().length,a.setEnd(i.endContainer,i.endOffset),n=a.toString().length}}return{start:t,end:n}}function fo(e,t){let n=[`dialog`,`menu`,`listbox`,`tree`,`grid`],r=e?.getAttribute(`role`);return r&&n.indexOf(r)!==-1?r:t}function po(e){if(!e)return null;let t=e=>e===`auto`||e===`scroll`;if(e.clientHeight&&e.scrollHeight>e.clientHeight){let{overflowY:n}=getComputedStyle(e);if(t(n))return e}else if(e.clientWidth&&e.scrollWidth>e.clientWidth){let{overflowX:n}=getComputedStyle(e);if(t(n))return e}return po(e.parentElement)||document.scrollingElement||document.body}function mo(e,...t){/text|search|password|tel|url/i.test(e.type)&&e.setSelectionRange(...t)}function ho(e,t){let n=e.map((e,t)=>[t,e]),r=!1;return n.sort(([e,n],[i,a])=>{let o=t(n),s=t(a);return o===s||!o||!s?0:go(o,s)?(e>i&&(r=!0),-1):(et):e}function go(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}function _o(){return $a&&!!navigator.maxTouchPoints}function vo(){return $a?/mac|iphone|ipad|ipod/i.test(navigator.platform):!1}function yo(){return $a&&vo()&&/apple/i.test(navigator.vendor)}function bo(){return $a&&/firefox\//i.test(navigator.userAgent)}function xo(){return $a&&navigator.platform.startsWith(`Mac`)&&!_o()}function So(e){return!!(e.currentTarget&&!io(e.currentTarget,e.target))}function Co(e){return e.target===e.currentTarget}function wo(e){let t=e.currentTarget;if(!t)return!1;let n=vo();if(n&&!e.metaKey||!n&&!e.ctrlKey)return!1;let r=t.tagName.toLowerCase();return r===`a`||r===`button`&&t.type===`submit`||r===`input`&&t.type===`submit`}function To(e){let t=e.currentTarget;if(!t)return!1;let n=t.tagName.toLowerCase();return e.altKey?n===`a`||n===`button`&&t.type===`submit`||n===`input`&&t.type===`submit`:!1}function Eo(e,t){let n=new FocusEvent(`blur`,t),r=e.dispatchEvent(n),i={...t,bubbles:!0};return e.dispatchEvent(new FocusEvent(`focusout`,i)),r}function Do(e,t,n){let r=new KeyboardEvent(t,n);return e.dispatchEvent(r)}function Oo(e,t){let n=new MouseEvent(`click`,t);return e.dispatchEvent(n)}function ko(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!io(n,r)}function Ao(e,t,n,r){let i=(e=>{if(r){let t=setTimeout(e,r);return()=>clearTimeout(t)}let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)})(()=>{e.removeEventListener(t,a,!0),n()}),a=()=>{i(),n()};return e.addEventListener(t,a,{once:!0,capture:!0}),i}function jo(e,t,n,r=window){let i=[];try{r.document.addEventListener(e,t,n);for(let a of Array.from(r.frames))i.push(jo(e,t,n,a))}catch{}return()=>{try{r.document.removeEventListener(e,t,n)}catch{}for(let e of i)e()}}var Mo={...z},No=Mo.useId;Mo.useDeferredValue;var Po=Mo.useInsertionEffect,q=$a?z.useLayoutEffect:z.useEffect;function Fo(e){let[t]=(0,z.useState)(e);return t}function Io(e){let t=(0,z.useRef)(e);return q(()=>{t.current=e}),t}function J(e){let t=(0,z.useRef)(()=>{throw Error(`Cannot call an event handler while rendering.`)});return Po?Po(()=>{t.current=e}):t.current=e,(0,z.useCallback)((...e)=>t.current?.call(t,...e),[])}function Lo(e){let[t,n]=(0,z.useState)(null);return q(()=>{if(t==null||!e)return;let n=null;return e(e=>(n=e,t)),()=>{e(n)}},[t,e]),[t,n]}function Ro(...e){return(0,z.useMemo)(()=>{if(e.some(Boolean))return t=>{for(let n of e)Ya(n,t)}},e)}function zo(e){if(No){let t=No();return e||t}let[t,n]=(0,z.useState)(e);return q(()=>{e||t||n(`id-${Math.random().toString(36).slice(2,8)}`)},[e,t]),e||t}function Bo(e,t){let n=e=>{if(typeof e==`string`)return e},[r,i]=(0,z.useState)(()=>n(t));return q(()=>{i((e&&`current`in e?e.current:e)?.tagName.toLowerCase()||n(t))},[e,t]),r}function Vo(e,t,n){let r=Fo(n),[i,a]=(0,z.useState)(r);return(0,z.useEffect)(()=>{let n=e&&`current`in e?e.current:e;if(!n)return;let i=()=>{a(n.getAttribute(t)??r)},o=new MutationObserver(i);return o.observe(n,{attributeFilter:[t]}),i(),()=>o.disconnect()},[e,t,r]),i}function Ho(e,t){let n=(0,z.useRef)(!1);(0,z.useEffect)(()=>{if(n.current)return e();n.current=!0},t),(0,z.useEffect)(()=>()=>{n.current=!1},[])}function Uo(e,t){let n=(0,z.useRef)(!1);q(()=>{if(n.current)return e();n.current=!0},t),q(()=>()=>{n.current=!1},[])}function Wo(){return(0,z.useReducer)(()=>[],[])}function Go(e){return J(typeof e==`function`?e:()=>e)}function Ko(e,t,n=[]){let r=(0,z.useCallback)(n=>(e.wrapElement&&(n=e.wrapElement(n)),t(n)),[...n,e.wrapElement]);return{...e,wrapElement:r}}function qo(e=!1,t){let[n,r]=(0,z.useState)(null);return{portalRef:Ro(r,t),portalNode:n,domReady:!e||n}}function Jo(e,t,n){let r=e.onLoadedMetadataCapture,i=(0,z.useMemo)(()=>Object.assign(()=>{},{...r,[t]:n}),[r,t,n]);return[r?.[t],{onLoadedMetadataCapture:i}]}var Yo=!1;function Xo(){return(0,z.useEffect)(()=>{Yo||=(jo(`mousemove`,ts,!0),jo(`mousedown`,ns,!0),jo(`mouseup`,ns,!0),jo(`keydown`,ns,!0),jo(`scroll`,ns,!0),!0)},[]),J(()=>Zo)}var Zo=!1,Qo=0,$o=0;function es(e){let t=e.movementX||e.screenX-Qo,n=e.movementY||e.screenY-$o;return Qo=e.screenX,$o=e.screenY,t||n||!1}function ts(e){es(e)&&(Zo=!0)}function ns(){Zo=!1}function Y(e){let t=z.forwardRef((t,n)=>e({...t,ref:n}));return t.displayName=e.displayName||e.name,t}function rs(e,t){return z.memo(e,t)}function is(e,t){let{wrapElement:n,render:r,...i}=t,a=Ro(t.ref,Za(r)),o;if(z.isValidElement(r)){let e={...r.props,ref:a};o=z.cloneElement(r,Qa(i,e))}else o=r?r(i):(0,B.jsx)(e,{...i});return n?n(o):o}function as(e){let t=(t={})=>e(t);return t.displayName=e.name,t}function os(e=[],t=[]){let n=z.createContext(void 0),r=z.createContext(void 0),i=()=>z.useContext(n),a=(e=!1)=>{let t=z.useContext(r),n=i();return e?t:t||n},o=()=>{let e=z.useContext(r),t=i();if(!(e&&e===t))return t},s=t=>e.reduceRight((e,n)=>(0,B.jsx)(n,{...t,children:e}),(0,B.jsx)(n.Provider,{...t}));return{context:n,scopedContext:r,useContext:i,useScopedContext:a,useProviderContext:o,ContextProvider:s,ScopedContextProvider:e=>(0,B.jsx)(s,{...e,children:t.reduceRight((t,n)=>(0,B.jsx)(n,{...e,children:t}),(0,B.jsx)(r.Provider,{...e}))})}}var ss=os(),cs=ss.useContext;ss.useScopedContext,ss.useProviderContext;var ls=ss.ContextProvider,us=ss.ScopedContextProvider,ds=os([ls],[us]),fs=ds.useContext;ds.useScopedContext;var ps=ds.useProviderContext,ms=ds.ContextProvider,hs=ds.ScopedContextProvider,gs=(0,z.createContext)(void 0),_s=(0,z.createContext)(void 0);function vs(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function ys(e,t){return t&&e.item(t)||null}function bs(e){let t=[];for(let n of e){let e=t.find(e=>e[0]?.rowId===n.rowId);e?e.push(n):t.push([n])}return t}function xs(e,t=!1){if(K(e))e.setSelectionRange(t?e.value.length:0,e.value.length);else if(e.isContentEditable){let n=to(e).getSelection();n?.selectAllChildren(e),t&&n?.collapseToEnd()}}var Ss=Symbol(`FOCUS_SILENTLY`);function Cs(e){e[Ss]=!0,e.focus({preventScroll:!0})}function ws(e){let t=e[Ss];return delete e[Ss],t}function Ts(e,t,n){if(!t||t===n)return!1;let r=e.item(t.id);return!(!r||n&&r.element===n)}var Es=`div`,Ds=as(function({store:e,shouldRegisterItem:t=!0,getItem:n=Ua,element:r,...i}){let a=cs();e||=a;let o=zo(i.id),s=(0,z.useRef)(r);return(0,z.useEffect)(()=>{let r=s.current;if(!o||!r||!t)return;let i=n({id:o,element:r});return e?.renderItem(i)},[o,t,n,e]),i={...i,ref:Ro(s,i.ref)},Ja(i)});Y(function(e){return is(Es,Ds(e))});var Os=(0,z.createContext)(!0),ks=`input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])`;function As(e){return Number.parseInt(e.getAttribute(`tabindex`)||`0`,10)<0}function js(e){return!(!e.matches(ks)||!G(e)||e.closest(`[inert]`))}function Ms(e){if(!js(e)||As(e))return!1;if(!(`form`in e)||!e.form||e.checked||e.type!==`radio`)return!0;let t=e.form.elements.namedItem(e.name);if(!t||!(`length`in t))return!0;let n=ro(e);return!n||n===e||!(`form`in n)||n.form!==e.form||n.name!==e.name}function Ns(e,t){let n=Array.from(e.querySelectorAll(ks));t&&n.unshift(e);let r=n.filter(js);return r.forEach((e,t)=>{if(!ao(e))return;let n=e.contentDocument?.body;n&&r.splice(t,1,...Ns(n))}),r}function Ps(e,t,n){let r=Array.from(e.querySelectorAll(ks)),i=r.filter(Ms);return t&&Ms(e)&&i.unshift(e),i.forEach((e,t)=>{if(!ao(e))return;let r=e.contentDocument?.body;if(!r)return;let a=Ps(r,!1,n);i.splice(t,1,...a)}),!i.length&&n?r:i}function Fs(e,t,n){let[r]=Ps(e,t,n);return r||null}function Is(e,t,n,r){let i=ro(e),a=Ns(e,t),o=a.indexOf(i),s=a.slice(o+1);return s.find(Ms)||(n?a.find(Ms):null)||(r?s[0]:null)||null}function Ls(e,t){return Is(document.body,!1,e,t)}function Rs(e,t,n,r){let i=ro(e),a=Ns(e,t).reverse(),o=a.indexOf(i),s=a.slice(o+1);return s.find(Ms)||(n?a.find(Ms):null)||(r?s[0]:null)||null}function zs(e,t){return Rs(document.body,!1,e,t)}function Bs(e){for(;e&&!js(e);)e=e.closest(ks);return e||null}function Vs(e){let t=ro(e);if(!t)return!1;if(t===e)return!0;let n=t.getAttribute(`aria-activedescendant`);return n?n===e.id:!1}function Hs(e){let t=ro(e);if(!t)return!1;if(io(e,t))return!0;let n=t.getAttribute(`aria-activedescendant`);return!n||!(`id`in e)?!1:n===e.id?!0:!!e.querySelector(`#${CSS.escape(n)}`)}function Us(e){!Hs(e)&&js(e)&&e.focus()}function Ws(e){let t=e.getAttribute(`tabindex`)??``;e.setAttribute(`data-tabindex`,t),e.setAttribute(`tabindex`,`-1`)}function Gs(e,t){let n=Ps(e,t);for(let e of n)Ws(e)}function Ks(e){let t=e.querySelectorAll(`[data-tabindex]`),n=e=>{let t=e.getAttribute(`data-tabindex`);e.removeAttribute(`data-tabindex`),t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)};e.hasAttribute(`data-tabindex`)&&n(e);for(let e of t)n(e)}function qs(e,t){`scrollIntoView`in e?(e.focus({preventScroll:!0}),e.scrollIntoView({block:`nearest`,inline:`nearest`,...t})):e.focus()}var Js=`div`,Ys=yo(),Xs=[`text`,`search`,`url`,`tel`,`email`,`password`,`number`,`date`,`month`,`week`,`time`,`datetime`,`datetime-local`],Zs=Symbol(`safariFocusAncestor`);function Qs(e){return e?!!e[Zs]:!1}function $s(e,t){e&&(e[Zs]=t)}function ec(e){let{tagName:t,readOnly:n,type:r}=e;return t===`TEXTAREA`&&!n||t===`SELECT`&&!n?!0:t===`INPUT`&&!n?Xs.includes(r):!!(e.isContentEditable||e.getAttribute(`role`)===`combobox`&&e.dataset.name)}function tc(e){return`labels`in e?e.labels:null}function nc(e){return e.tagName.toLowerCase()===`input`&&e.type?e.type===`radio`||e.type===`checkbox`:!1}function rc(e){return e?e===`button`||e===`summary`||e===`input`||e===`select`||e===`textarea`||e===`a`:!0}function ic(e){return e?e===`button`||e===`input`||e===`select`||e===`textarea`:!0}function ac(e,t,n,r,i){return e?t?n&&!r?-1:void 0:n?i:i||0:i}function oc(e,t){return J(n=>{e?.(n),!n.defaultPrevented&&t&&(n.stopPropagation(),n.preventDefault())})}var sc=!1,cc=!0;function lc(e){let t=e.target;t&&`hasAttribute`in t&&(t.hasAttribute(`data-focus-visible`)||(cc=!1))}function uc(e){e.metaKey||e.ctrlKey||e.altKey||(cc=!0)}var dc=as(function({focusable:e=!0,accessibleWhenDisabled:t,autoFocus:n,onFocusVisible:r,...i}){let a=(0,z.useRef)(null);(0,z.useEffect)(()=>{e&&(sc||=(jo(`mousedown`,lc,!0),jo(`keydown`,uc,!0),!0))},[e]),Ys&&(0,z.useEffect)(()=>{if(!e)return;let t=a.current;if(!t||!nc(t))return;let n=tc(t);if(!n)return;let r=()=>queueMicrotask(()=>t.focus());for(let e of n)e.addEventListener(`mouseup`,r);return()=>{for(let e of n)e.removeEventListener(`mouseup`,r)}},[e]);let o=e&&qa(i),s=!!o&&!t,[c,l]=(0,z.useState)(!1);(0,z.useEffect)(()=>{e&&s&&c&&l(!1)},[e,s,c]),(0,z.useEffect)(()=>{if(!e||!c)return;let t=a.current;if(!t||typeof IntersectionObserver>`u`)return;let n=new IntersectionObserver(()=>{js(t)||l(!1)});return n.observe(t),()=>n.disconnect()},[e,c]);let u=oc(i.onKeyPressCapture,o),d=oc(i.onMouseDownCapture,o),f=oc(i.onClickCapture,o),p=i.onMouseDown,m=J(t=>{if(p?.(t),t.defaultPrevented||!e)return;let n=t.currentTarget;if(!Ys||So(t)||!oo(n)&&!nc(n))return;let r=!1,i=()=>{r=!0};n.addEventListener(`focusin`,i,{capture:!0,once:!0});let a=Bs(n.parentElement);$s(a,!0),Ao(n,`mouseup`,()=>{n.removeEventListener(`focusin`,i,!0),$s(a,!1),!r&&Us(n)})}),h=(t,n)=>{if(n&&(t.currentTarget=n),!e)return;let i=t.currentTarget;i&&Vs(i)&&(r?.(t),!t.defaultPrevented&&(i.dataset.focusVisible=`true`,l(!0)))},g=i.onKeyDownCapture,_=J(t=>{if(g?.(t),t.defaultPrevented||!e||c||t.metaKey||t.altKey||t.ctrlKey||!Co(t))return;let n=t.currentTarget;Ao(n,`focusout`,()=>h(t,n))}),v=i.onFocusCapture,y=J(t=>{if(v?.(t),t.defaultPrevented||!e)return;if(!Co(t)){l(!1);return}let n=t.currentTarget;cc||ec(t.target)?Ao(t.target,`focusout`,()=>h(t,n)):l(!1)}),b=i.onBlur,x=J(t=>{b?.(t),e&&ko(t)&&(t.currentTarget.removeAttribute(`data-focus-visible`),l(!1))}),S=(0,z.useContext)(Os),C=J(t=>{e&&n&&t&&S&&queueMicrotask(()=>{Vs(t)||js(t)&&t.focus()})}),w=Bo(a),T=e&&rc(w),E=e&&ic(w),D=i.style,O=(0,z.useMemo)(()=>s?{pointerEvents:`none`,...D}:D,[s,D]);return i={"data-focus-visible":e&&c||void 0,"data-autofocus":n||void 0,"aria-disabled":o||void 0,...i,ref:Ro(a,C,i.ref),style:O,tabIndex:ac(e,s,T,E,i.tabIndex),disabled:E&&s?!0:void 0,contentEditable:o?void 0:i.contentEditable,onKeyPressCapture:u,onClickCapture:f,onMouseDownCapture:d,onMouseDown:m,onKeyDownCapture:_,onFocusCapture:y,onBlur:x},Ja(i)});Y(function(e){return is(Js,dc(e))});var fc=`button`;function pc(e){if(!e.isTrusted)return!1;let t=e.currentTarget;return e.key===`Enter`?oo(t)||t.tagName===`SUMMARY`||t.tagName===`A`:e.key===` `?oo(t)||t.tagName===`SUMMARY`||t.tagName===`INPUT`||t.tagName===`SELECT`:!1}var mc=Symbol(`command`),hc=as(function({clickOnEnter:e=!0,clickOnSpace:t=!0,...n}){let r=(0,z.useRef)(null),[i,a]=(0,z.useState)(!1);(0,z.useEffect)(()=>{r.current&&a(oo(r.current))},[]);let[o,s]=(0,z.useState)(!1),c=(0,z.useRef)(!1),l=qa(n),[u,d]=Jo(n,mc,!0),f=n.onKeyDown,p=J(n=>{f?.(n);let r=n.currentTarget;if(n.defaultPrevented||u||l||!Co(n)||K(r)||r.isContentEditable)return;let i=e&&n.key===`Enter`,a=t&&n.key===` `,o=n.key===`Enter`&&!e,d=n.key===` `&&!t;if(o||d){n.preventDefault();return}if(i||a){let e=pc(n);if(i){if(!e){n.preventDefault();let{view:e,...t}=n,i=()=>Oo(r,t);bo()?Ao(r,`keyup`,i):queueMicrotask(i)}}else a&&(c.current=!0,e||(n.preventDefault(),s(!0)))}}),m=n.onKeyUp,h=J(e=>{if(m?.(e),e.defaultPrevented||u||l||e.metaKey)return;let n=t&&e.key===` `;if(c.current&&n&&(c.current=!1,!pc(e))){e.preventDefault(),s(!1);let t=e.currentTarget,{view:n,...r}=e;queueMicrotask(()=>Oo(t,r))}});return n={"data-active":o||void 0,type:i?`button`:void 0,...d,...n,ref:Ro(r,n.ref),onKeyDown:p,onKeyUp:h},n=dc(n),n});Y(function(e){return is(fc,hc(e))});function gc(e,t){let n=e.__unstableInternals;return Wa(n,`Invalid store`),n[t]}function _c(e,...t){let n=e,r=n,i=Symbol(),a=Pa,o=new Set,s=new Set,c=new Set,l=new Set,u=new Set,d=new WeakMap,f=new WeakMap,p=e=>(c.add(e),()=>c.delete(e)),m=()=>{let e=o.size,r=Symbol();o.add(r);let i=()=>{o.delete(r),!o.size&&a()};if(e)return i;let s=Ga(n).map(e=>za(...t.map(t=>{let n=(t?.getState)?.call(t);if(n&&Ra(n,e))return xc(t,[e],t=>{S(e,t[e],!0)})}))),l=[];for(let e of c)l.push(e());let u=t.map(yc);return a=za(...s,...l,...u),i},h=(e,t,n=l)=>(n.add(t),f.set(t,e),()=>{var e;(e=d.get(t))==null||e(),d.delete(t),f.delete(t),n.delete(t)}),g=(e,t)=>h(e,t),_=(e,t)=>(d.set(t,t(n,n)),h(e,t)),v=(e,t)=>(d.set(t,t(n,r)),h(e,t,u)),y=e=>_c(Ha(n,e),C),b=e=>_c(Va(n,e),C),x=()=>n,S=(e,a,o=!1)=>{var c;if(!Ra(n,e))return;let p=Fa(a,n[e]);if(p===n[e])return;if(!o)for(let n of t)(c=n?.setState)==null||c.call(n,e,p);let m=n;n={...n,[e]:p};let h=Symbol();i=h,s.add(e);let g=(t,r,i)=>{var a;let o=f.get(t);(!o||o.some(t=>i?i.has(t):t===e))&&((a=d.get(t))==null||a(),d.set(t,t(n,r)))};for(let e of l)g(e,m);queueMicrotask(()=>{if(i!==h)return;let e=n;for(let e of u)g(e,r,s);r=e,s.clear()})},C={getState:x,setState:S,__unstableInternals:{setup:p,init:m,subscribe:g,sync:_,batch:v,pick:y,omit:b}};return C}function vc(e,...t){if(e)return gc(e,`setup`)(...t)}function yc(e,...t){if(e)return gc(e,`init`)(...t)}function bc(e,...t){if(e)return gc(e,`subscribe`)(...t)}function xc(e,...t){if(e)return gc(e,`sync`)(...t)}function Sc(e,...t){if(e)return gc(e,`batch`)(...t)}function Cc(e,...t){if(e)return gc(e,`omit`)(...t)}function wc(e,...t){if(e)return gc(e,`pick`)(...t)}function Tc(...e){let t={};for(let n of e){let e=(n?.getState)?.call(n);e&&Object.assign(t,e)}let n=_c(t,...e);return Object.assign({},...e,n)}var{useSyncExternalStore:Ec}=e(ee(),1).default,Dc=()=>()=>{};function Oc(e,t=Ua){let n=z.useCallback(t=>e?bc(e,null,t):Dc(),[e]),r=()=>{let n=typeof t==`string`?t:null,r=typeof t==`function`?t:null,i=e?.getState();if(r)return r(i);if(i&&n&&Ra(i,n))return i[n]};return Ec(n,r,r)}function kc(e,t){let n=z.useRef({}),r=z.useCallback(t=>e?bc(e,null,t):Dc(),[e]),i=()=>{let r=e?.getState(),i=!1,a=n.current;for(let e in t){let n=t[e];if(typeof n==`function`){let t=n(r);t!==a[e]&&(a[e]=t,i=!0)}if(typeof n==`string`){if(!r||!Ra(r,n))continue;let t=r[n];t!==a[e]&&(a[e]=t,i=!0)}}return i&&(n.current={...a}),n.current};return Ec(r,i,i)}function Ac(e,t,n,r){let i=Ra(t,n)?t[n]:void 0,a=Io({value:i,setValue:r?t[r]:void 0});q(()=>xc(e,[n],(e,t)=>{let{value:r,setValue:i}=a.current;i&&e[n]!==t[n]&&e[n]!==r&&i(e[n])}),[e,n]),q(()=>{if(i!==void 0)return e.setState(n,i),Sc(e,[n],()=>{i!==void 0&&e.setState(n,i)})})}function jc(e,t){let[n,r]=z.useState(()=>e(t));q(()=>yc(n),[n]);let i=z.useCallback(e=>Oc(n,e),[n]);return[z.useMemo(()=>({...n,useState:i}),[n,i]),J(()=>{r(n=>e({...t,...n.getState()}))})]}var Mc=`button`;function Nc(e){return co(e)?!0:e.tagName===`INPUT`&&!oo(e)}function Pc(e,t=!1){let n=e.clientHeight,{top:r}=e.getBoundingClientRect(),i=Math.max(n*.875,n-40)*1.5,a=t?n-i+r:i+r;return e.tagName===`HTML`?a+e.scrollTop:a}function Fc(e,t=!1){let{top:n}=e.getBoundingClientRect();return t?n+e.clientHeight:n}function Ic(e,t,n,r=!1){if(!t||!n)return;let{renderedItems:i}=t.getState(),a=po(e);if(!a)return;let o=Pc(a,r),s,c;for(let e=0;e=0){c!==void 0&&ce.rowId===m);return f.ariaPosInSet+t.findIndex(e=>e.id===u)},isTabbable(t){if(!t?.renderedItems.length)return!0;if(t.virtualFocus)return!1;if(i)return!0;if(t.activeId===null)return!1;let n=e?.item(t.activeId);return n?.disabled||!n?.element?!0:t.activeId===u}}),b=(0,z.useCallback)(e=>{let t={...e,id:u||e.id,rowId:m,disabled:!!p,children:e.element?.textContent};return a?a(t):t},[u,m,p,a]),x=c.onFocus,S=(0,z.useRef)(!1),C=J(t=>{if(x?.(t),t.defaultPrevented||So(t)||!u||!e||Lc(t,e))return;let{virtualFocus:n,baseElement:r}=e.getState();e.setActiveId(u),co(t.currentTarget)&&xs(t.currentTarget),n&&Co(t)&&(Nc(t.currentTarget)||r?.isConnected&&(yo()&&t.currentTarget.hasAttribute(`data-autofocus`)&&t.currentTarget.scrollIntoView({block:`nearest`,inline:`nearest`}),S.current=!0,t.relatedTarget===r||Ts(e,t.relatedTarget)?Cs(r):r.focus()))}),w=c.onBlurCapture,T=J(t=>{w?.(t),!t.defaultPrevented&&e?.getState()?.virtualFocus&&S.current&&(S.current=!1,t.preventDefault(),t.stopPropagation())}),E=c.onKeyDown,D=Go(n),O=Go(r),k=J(t=>{if(E?.(t),t.defaultPrevented||!Co(t)||!e)return;let{currentTarget:n}=t,r=e.getState(),i=!!e.item(u)?.rowId,a=r.orientation!==`horizontal`,o=r.orientation!==`vertical`,s=()=>!!(i||o||!r.baseElement||!K(r.baseElement)),c={ArrowUp:(i||a)&&e.up,ArrowRight:(i||o)&&e.next,ArrowDown:(i||a)&&e.down,ArrowLeft:(i||o)&&e.previous,Home:()=>{if(s())return!i||t.ctrlKey?e?.first():e?.previous(-1)},End:()=>{if(s())return!i||t.ctrlKey?e?.last():e?.next(-1)},PageUp:()=>Ic(n,e,e?.up,!0),PageDown:()=>Ic(n,e,e?.down)}[t.key];if(c){if(co(n)){let e=uo(n),r=o&&t.key===`ArrowLeft`,i=o&&t.key===`ArrowRight`,s=a&&t.key===`ArrowUp`,c=a&&t.key===`ArrowDown`;if(i||c){let{length:t}=lo(n);if(e.end!==t)return}else if((r||s)&&e.start!==0)return}let r=c();if(D(t)||r!==void 0){if(!O(t))return;t.preventDefault(),e.move(r)}}}),A=(0,z.useMemo)(()=>({id:u,baseElement:h}),[u,h]);return c=Ko(c,e=>(0,B.jsx)(gs.Provider,{value:A,children:e}),[A]),c={id:u,"data-active-item":g||void 0,...c,ref:Ro(d,c.ref),tabIndex:y?c.tabIndex:-1,onFocus:C,onBlurCapture:T,onKeyDown:k},c=hc(c),c=Ds({store:e,...c,getItem:b,shouldRegisterItem:u?c.shouldRegisterItem:!1}),Ja({...c,"aria-setsize":_,"aria-posinset":v})});rs(Y(function(e){return is(Mc,Rc(e))}));function zc(e){let t=[];for(let n of e)t.push(...n);return t}function Bc(e){return e.slice().reverse()}var Vc=`div`;function Hc(e){return e.some(e=>!!e.rowId)}function Uc(e){let t=e.target;return t&&!K(t)?!1:e.key.length===1&&!e.ctrlKey&&!e.metaKey}function Wc(e){return e.key===`Shift`||e.key===`Control`||e.key===`Alt`||e.key===`Meta`}function Gc(e,t,n){return J(r=>{if(t?.(r),r.defaultPrevented||r.isPropagationStopped()||!Co(r)||Wc(r)||Uc(r))return;let i=ys(e,e.getState().activeId)?.element;if(!i)return;let{view:a,...o}=r;i!==n?.current&&i.focus(),Do(i,r.type,o)||r.preventDefault(),r.currentTarget.contains(i)&&r.stopPropagation()})}function Kc(e){return vs(zc(Bc(bs(e))))}function qc(e){let[t,n]=(0,z.useState)(!1),r=(0,z.useCallback)(()=>n(!0),[]),i=e.useState(t=>ys(e,t.activeId));return(0,z.useEffect)(()=>{let e=i?.element;t&&e&&(n(!1),e.focus({preventScroll:!0}))},[i,t]),r}var Jc=as(function({store:e,composite:t=!0,focusOnMove:n=t,moveOnKeyPress:r=!0,...i}){let a=ps();e||=a,Wa(e,!1);let o=(0,z.useRef)(null),s=(0,z.useRef)(null),c=qc(e),l=e.useState(`moves`),[,u]=Lo(t?e.setBaseElement:null);(0,z.useEffect)(()=>{if(!e||!l||!t||!n)return;let{activeId:r}=e.getState(),i=ys(e,r)?.element;i&&qs(i)},[e,l,t,n]),q(()=>{if(!e||!l||!t)return;let{baseElement:n,activeId:r}=e.getState();if(r!==null||!n)return;let i=s.current;s.current=null,i&&Eo(i,{relatedTarget:n}),Vs(n)||n.focus()},[e,l,t]);let d=e.useState(`activeId`),f=e.useState(`virtualFocus`);q(()=>{if(!e||!t||!f)return;let n=s.current;if(s.current=null,!n)return;let r=ys(e,d)?.element||ro(n);r!==n&&Eo(n,{relatedTarget:r})},[e,d,f,t]);let p=Gc(e,i.onKeyDownCapture,s),m=Gc(e,i.onKeyUpCapture,s),h=i.onFocusCapture,g=J(t=>{if(h?.(t),t.defaultPrevented||!e)return;let{virtualFocus:n}=e.getState();if(!n)return;let r=t.relatedTarget,i=ws(t.currentTarget);Co(t)&&i&&(t.stopPropagation(),s.current=r)}),_=i.onFocus,v=J(n=>{if(_?.(n),n.defaultPrevented||!t||!e)return;let{relatedTarget:r}=n,{virtualFocus:i}=e.getState();i?Co(n)&&!Ts(e,r)&&queueMicrotask(c):Co(n)&&e.setActiveId(null)}),y=i.onBlurCapture,b=J(t=>{if(y?.(t),t.defaultPrevented||!e)return;let{virtualFocus:n,activeId:r}=e.getState();if(!n)return;let i=ys(e,r)?.element,a=t.relatedTarget,o=Ts(e,a),c=s.current;s.current=null,Co(t)&&o?(a===i?c&&c!==a&&Eo(c,t):i?Eo(i,t):c&&Eo(c,t),t.stopPropagation()):!Ts(e,t.target)&&i&&Eo(i,t)}),x=i.onKeyDown,S=Go(r),C=J(t=>{if(x?.(t),t.nativeEvent.isComposing||t.defaultPrevented||!e||!Co(t))return;let{orientation:n,renderedItems:r,activeId:i}=e.getState();if(ys(e,i)?.element?.isConnected)return;let a=n!==`horizontal`,o=n!==`vertical`,s=Hc(r);if((t.key===`ArrowLeft`||t.key===`ArrowRight`||t.key===`Home`||t.key===`End`)&&K(t.currentTarget))return;let c={ArrowUp:(s||a)&&(()=>s?Kc(r)?.id:e?.last()),ArrowRight:(s||o)&&e.first,ArrowDown:(s||a)&&e.first,ArrowLeft:(s||o)&&e.last,Home:e.first,End:e.last,PageUp:e.first,PageDown:e.last}[t.key];if(c){let n=c();if(n!==void 0){if(!S(t))return;t.preventDefault(),e.move(n)}}});i=Ko(i,t=>(0,B.jsx)(ms,{value:e,children:t}),[e]);let w=e.useState(n=>{if(e&&t&&n.virtualFocus)return ys(e,n.activeId)?.id});return i={"aria-activedescendant":w,...i,ref:Ro(o,u,i.ref),onKeyDownCapture:p,onKeyUpCapture:m,onFocusCapture:g,onFocus:v,onBlurCapture:b,onKeyDown:C},i=dc({focusable:e.useState(e=>t&&(e.virtualFocus||e.activeId===null)),...i}),i});Y(function(e){return is(Vc,Jc(e))});var Yc=os();Yc.useContext,Yc.useScopedContext;var Xc=Yc.useProviderContext,Zc=Yc.ContextProvider,Qc=Yc.ScopedContextProvider,$c=os([Zc],[Qc]);$c.useContext,$c.useScopedContext;var el=$c.useProviderContext,tl=$c.ContextProvider,nl=$c.ScopedContextProvider,rl=(0,z.createContext)(void 0),il=(0,z.createContext)(void 0),al=`div`;function ol(e,t){let n=setTimeout(t,e);return()=>clearTimeout(n)}function sl(e){let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)}function cl(...e){return e.join(`, `).split(`, `).reduce((e,t)=>{let n=t.endsWith(`ms`)?1:1e3,r=Number.parseFloat(t||`0s`)*n;return r>e?r:e},0)}function ll(e,t,n){return!n&&t!==!1&&(!e||!!t)}var ul=as(function({store:e,alwaysVisible:t,...n}){let r=Xc();e||=r,Wa(e,!1);let i=(0,z.useRef)(null),a=zo(n.id),[o,s]=(0,z.useState)(null),c=e.useState(`open`),l=e.useState(`mounted`),u=e.useState(`animated`),d=e.useState(`contentElement`),f=Oc(e.disclosure,`contentElement`);q(()=>{i.current&&e?.setContentElement(i.current)},[e]),q(()=>{let t;return e?.setState(`animated`,e=>(t=e,!0)),()=>{t!==void 0&&e?.setState(`animated`,t)}},[e]),q(()=>{if(u){if(!d?.isConnected){s(null);return}return sl(()=>{s(c?`enter`:l?`leave`:null)})}},[u,d,c,l]),q(()=>{if(!e||!u||!o||!d)return;let t=()=>e?.setState(`animating`,!1),n=()=>(0,Qr.flushSync)(t);if(o===`leave`&&c||o===`enter`&&!c)return;if(typeof u==`number`)return ol(u,n);let{transitionDuration:r,animationDuration:i,transitionDelay:a,animationDelay:s}=getComputedStyle(d),{transitionDuration:l=`0`,animationDuration:p=`0`,transitionDelay:m=`0`,animationDelay:h=`0`}=f?getComputedStyle(f):{},g=cl(a,s,m,h)+cl(r,i,l,p);if(!g){o===`enter`&&e.setState(`animated`,!1),t();return}return ol(Math.max(g-1e3/60,0),n)},[e,u,d,f,c,o]),n=Ko(n,t=>(0,B.jsx)(nl,{value:e,children:t}),[e]);let p=ll(l,n.hidden,t),m=n.style,h=(0,z.useMemo)(()=>p?{...m,display:`none`}:m,[p,m]);return n={id:a,"data-open":c||void 0,"data-enter":o===`enter`||void 0,"data-leave":o===`leave`||void 0,hidden:p,...n,ref:Ro(a?e.setContentElement:null,i,n.ref),style:h},Ja(n)}),dl=Y(function(e){return is(al,ul(e))});Y(function({unmountOnHide:e,...t}){let n=Xc();return Oc(t.store||n,t=>!e||t?.mounted)===!1?null:(0,B.jsx)(dl,{...t})});function fl(e={}){let t=Tc(e.store,Cc(e.disclosure,[`contentElement`,`disclosureElement`])),n=t?.getState(),r=W(e.open,n?.open,e.defaultOpen,!1),i=W(e.animated,n?.animated,!1),a=_c({open:r,animated:i,animating:!!i&&r,mounted:r,contentElement:W(n?.contentElement,null),disclosureElement:W(n?.disclosureElement,null)},t);return vc(a,()=>xc(a,[`animated`,`animating`],e=>{e.animated||a.setState(`animating`,!1)})),vc(a,()=>bc(a,[`open`],()=>{a.getState().animated&&a.setState(`animating`,!0)})),vc(a,()=>xc(a,[`open`,`animating`],e=>{a.setState(`mounted`,e.open||e.animating)})),{...a,disclosure:e.disclosure,setOpen:e=>a.setState(`open`,e),show:()=>a.setState(`open`,!0),hide:()=>a.setState(`open`,!1),toggle:()=>a.setState(`open`,e=>!e),stopAnimation:()=>a.setState(`animating`,!1),setContentElement:e=>a.setState(`contentElement`,e),setDisclosureElement:e=>a.setState(`disclosureElement`,e)}}function pl(e,t,n){return Ho(t,[n.store,n.disclosure]),Ac(e,n,`open`,`setOpen`),Ac(e,n,`mounted`,`setMounted`),Ac(e,n,`animated`),Object.assign(e,{disclosure:n.disclosure})}function ml(e={}){let[t,n]=jc(fl,e);return pl(t,n,e)}var hl=os([tl],[nl]);hl.useContext,hl.useScopedContext;var gl=hl.useProviderContext,_l=hl.ContextProvider,vl=hl.ScopedContextProvider;function yl(e){let t=e.find(e=>!!e.element),n=[...e].reverse().find(e=>!!e.element),r=t?.element?.parentElement;for(;r&&n?.element;){if(n&&r.contains(n.element))return r;r=r.parentElement}return to(r).body}function bl(e){return e?.__unstablePrivateStore}function xl(e={}){e.store;let t=e.store?.getState(),n=W(e.items,t?.items,e.defaultItems,[]),r=new Map(n.map(e=>[e.id,e])),i={items:n,renderedItems:W(t?.renderedItems,[])},a=bl(e.store),o=_c({items:n,renderedItems:i.renderedItems},a),s=_c(i,e.store),c=e=>{let t=ho(e,e=>e.element);o.setState(`renderedItems`,t),s.setState(`renderedItems`,t)};vc(s,()=>yc(o)),vc(o,()=>Sc(o,[`items`],e=>{s.setState(`items`,e.items)})),vc(o,()=>Sc(o,[`renderedItems`],e=>{let t=!0,n=requestAnimationFrame(()=>{let{renderedItems:t}=s.getState();e.renderedItems!==t&&c(e.renderedItems)});if(typeof IntersectionObserver!=`function`)return()=>cancelAnimationFrame(n);let r=()=>{if(t){t=!1;return}cancelAnimationFrame(n),n=requestAnimationFrame(()=>c(e.renderedItems))},i=yl(e.renderedItems),a=new IntersectionObserver(r,{root:i});for(let t of e.renderedItems)t.element&&a.observe(t.element);return()=>{cancelAnimationFrame(n),a.disconnect()}}));let l=(e,t,n=!1)=>{let i;return t(t=>{let n=t.findIndex(({id:t})=>t===e.id),a=t.slice();if(n!==-1){i=t[n];let o={...i,...e};a[n]=o,r.set(e.id,o)}else a.push(e),r.set(e.id,e);return a}),()=>{t(t=>{if(!i)return n&&r.delete(e.id),t.filter(({id:t})=>t!==e.id);let a=t.findIndex(({id:t})=>t===e.id);if(a===-1)return t;let o=t.slice();return o[a]=i,r.set(e.id,i),o})}},u=e=>l(e,e=>o.setState(`items`,e),!0);return{...s,registerItem:u,renderItem:e=>za(u(e),l(e,e=>o.setState(`renderedItems`,e))),item:e=>{if(!e)return null;let t=r.get(e);if(!t){let{items:n}=o.getState();t=n.find(t=>t.id===e),t&&r.set(e,t)}return t||null},__unstablePrivateStore:o}}function Sl(e,t,n){return Ho(t,[n.store]),Ac(e,n,`items`,`setItems`),e}var Cl={id:null};function wl(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function Tl(e,t){return e.filter(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function El(e,t){return e.filter(e=>e.rowId===t)}function Dl(e,t,n=!1){let r=e.findIndex(e=>e.id===t);return[...e.slice(r+1),...n?[Cl]:[],...e.slice(0,r)]}function Ol(e){let t=[];for(let n of e){let e=t.find(e=>e[0]?.rowId===n.rowId);e?e.push(n):t.push([n])}return t}function kl(e){let t=0;for(let{length:n}of e)n>t&&(t=n);return t}function Al(e){return{id:`__EMPTY_ITEM__`,disabled:!0,rowId:e}}function jl(e,t,n){let r=kl(e);for(let i of e)for(let e=0;exc(i,[`renderedItems`,`activeId`],e=>{i.setState(`activeId`,t=>t===void 0?wl(e.renderedItems)?.id:t)}));let a=(e=`next`,t={})=>{let n=i.getState(),{skip:r=0,activeId:a=n.activeId,focusShift:o=n.focusShift,focusLoop:s=n.focusLoop,focusWrap:c=n.focusWrap,includesBaseElement:l=n.includesBaseElement,renderedItems:u=n.renderedItems,rtl:d=n.rtl}=t,f=e===`up`||e===`down`,p=e===`next`||e===`down`,m=p?d&&!f:!d||f,h=o&&!r,g=f?zc(jl(Ol(u),a,h)):u;if(g=m?Bc(g):g,g=f?Ml(g):g,a==null)return wl(g)?.id;let _=g.find(e=>e.id===a);if(!_)return wl(g)?.id;let v=g.some(e=>e.rowId),y=g.indexOf(_),b=g.slice(y+1),x=El(b,_.rowId);if(r){let e=Tl(x,a);return(e.slice(r)[0]||e[e.length-1])?.id}let S=s&&(f?s!==`horizontal`:s!==`vertical`),C=v&&c&&(f?c!==`horizontal`:c!==`vertical`),w=p?(!v||f)&&S&&l:f?l:!1;if(S)return wl(Dl(C&&!w?g:El(g,_.rowId),a,w),a)?.id;if(C){let e=wl(w?x:b,a);return w?e?.id||null:e?.id}let T=wl(x,a);return!T&&w?null:T?.id};return{...n,...i,setBaseElement:e=>i.setState(`baseElement`,e),setActiveId:e=>i.setState(`activeId`,e),move:e=>{e!==void 0&&(i.setState(`activeId`,e),i.setState(`moves`,e=>e+1))},first:()=>wl(i.getState().renderedItems)?.id,last:()=>wl(Bc(i.getState().renderedItems))?.id,next:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`next`,e)),previous:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`previous`,e)),down:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`down`,e)),up:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`up`,e))}}function Pl(e){return{id:zo(e.id),...e}}function X(e,t,n){return e=Sl(e,t,n),Ac(e,n,`activeId`,`setActiveId`),Ac(e,n,`includesBaseElement`),Ac(e,n,`virtualFocus`),Ac(e,n,`orientation`),Ac(e,n,`rtl`),Ac(e,n,`focusLoop`),Ac(e,n,`focusWrap`),Ac(e,n,`focusShift`),e}var Fl=(0,z.createContext)(void 0),Z=os([_l,ms],[vl,hs]),Q=Z.useContext,Il=Z.useScopedContext,Ll=Z.useProviderContext,Rl=Z.ContextProvider,zl=Z.ScopedContextProvider,Bl=(0,z.createContext)(void 0),Vl=(0,z.createContext)(!1),Hl=(0,z.createContext)(null),Ul=`span`,Wl=as(function(e){return e={...e,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`,...e.style}},e});Y(function(e){return is(Ul,Wl(e))});var Gl=`span`,Kl=as(function(e){return e={"data-focus-trap":``,tabIndex:0,"aria-hidden":!0,...e,style:{position:`fixed`,top:0,left:0,...e.style}},e=Wl(e),e}),ql=Y(function(e){return is(Gl,Kl(e))}),Jl=`div`;function Yl(e){return to(e).body}function Xl(e,t){return t?typeof t==`function`?t(e):t:to(e).createElement(`div`)}function Zl(e=`id`){return`${e?`${e}-`:``}${Math.random().toString(36).slice(2,8)}`}function Ql(e){queueMicrotask(()=>{e?.focus()})}var $l=as(function({preserveTabOrder:e,preserveTabOrderAnchor:t,portalElement:n,portalRef:r,portal:i=!0,...a}){let o=(0,z.useRef)(null),s=Ro(o,a.ref),c=(0,z.useContext)(Hl),[l,u]=(0,z.useState)(null),[d,f]=(0,z.useState)(null),p=(0,z.useRef)(null),m=(0,z.useRef)(null),h=(0,z.useRef)(null),g=(0,z.useRef)(null);return q(()=>{let e=o.current;if(!e||!i){u(null);return}let t=Xl(e,n);if(!t){u(null);return}let a=t.isConnected;if(a||(c||Yl(e)).appendChild(t),t.id||=e.id?`portal/${e.id}`:Zl(),u(t),Ya(r,t),!a)return()=>{t.remove(),Ya(r,null)}},[i,n,c,r]),q(()=>{if(!i||!e||!t)return;let n=to(t).createElement(`span`);return n.style.position=`fixed`,t.insertAdjacentElement(`afterend`,n),f(n),()=>{n.remove(),f(null)}},[i,e,t]),(0,z.useEffect)(()=>{if(!l||!e)return;let t=0,n=e=>{if(!ko(e))return;let n=e.type===`focusin`;if(cancelAnimationFrame(t),n)return Ks(l);t=requestAnimationFrame(()=>{Gs(l,!0)})};return l.addEventListener(`focusin`,n,!0),l.addEventListener(`focusout`,n,!0),()=>{cancelAnimationFrame(t),l.removeEventListener(`focusin`,n,!0),l.removeEventListener(`focusout`,n,!0)}},[l,e]),a=Ko(a,t=>{if(t=(0,B.jsx)(Hl.Provider,{value:l||c,children:t}),!i)return t;if(!l)return(0,B.jsx)(`span`,{ref:s,id:a.id,style:{position:`fixed`},hidden:!0});t=(0,B.jsxs)(B.Fragment,{children:[e&&l&&(0,B.jsx)(ql,{ref:m,"data-focus-trap":a.id,className:`__focus-trap-inner-before`,onFocus:e=>{ko(e,l)?Ql(Ls()):Ql(p.current)}}),t,e&&l&&(0,B.jsx)(ql,{ref:h,"data-focus-trap":a.id,className:`__focus-trap-inner-after`,onFocus:e=>{ko(e,l)?Ql(zs()):Ql(g.current)}})]}),l&&(t=(0,Qr.createPortal)(t,l));let n=(0,B.jsxs)(B.Fragment,{children:[e&&l&&(0,B.jsx)(ql,{ref:p,"data-focus-trap":a.id,className:`__focus-trap-outer-before`,onFocus:e=>{e.relatedTarget!==g.current&&ko(e,l)?Ql(m.current):Ql(zs())}}),e&&(0,B.jsx)(`span`,{"aria-owns":l?.id,style:{position:`fixed`}}),e&&l&&(0,B.jsx)(ql,{ref:g,"data-focus-trap":a.id,className:`__focus-trap-outer-after`,onFocus:e=>{if(ko(e,l))Ql(h.current);else{let e=Ls();if(e===m.current){requestAnimationFrame(()=>Ls()?.focus());return}Ql(e)}}})]});return d&&e&&(n=(0,Qr.createPortal)(n,d)),(0,B.jsxs)(B.Fragment,{children:[n,t]})},[l,c,i,a.id,e,d]),a={...a,ref:s},a});Y(function(e){return is(Jl,$l(e))});var eu=(0,z.createContext)(0);function tu({level:e,children:t}){let n=(0,z.useContext)(eu),r=Math.max(Math.min(e||n+1,6),1);return(0,B.jsx)(eu.Provider,{value:r,children:t})}var nu=`div`,ru=as(function({autoFocusOnShow:e=!0,...t}){return t=Ko(t,t=>(0,B.jsx)(Os.Provider,{value:e,children:t}),[e]),t});Y(function(e){return is(nu,ru(e))});function iu(e,t){let n=to(e).createElement(`button`);return n.type=`button`,n.tabIndex=-1,n.textContent=`Dismiss popup`,Object.assign(n.style,{border:`0px`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0px`,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),n.addEventListener(`click`,t),e.prepend(n),()=>{n.removeEventListener(`click`,t),n.remove()}}function au(e){let t=(0,z.useRef)(null);return(0,z.useEffect)(()=>{if(!e){t.current=null;return}return jo(`mousedown`,e=>{t.current=e.target},!0)},[e]),t}var ou=new WeakMap;function su(e,t,n){ou.has(e)||ou.set(e,new Map);let r=ou.get(e),i=r.get(t);if(!i)return r.set(t,n()),()=>{var e;(e=r.get(t))==null||e(),r.delete(t)};let a=n(),o=()=>{a(),i(),r.delete(t)};return r.set(t,o),()=>{r.get(t)===o&&(a(),r.set(t,i))}}function cu(e,t,n){return su(e,t,()=>{let r=e.getAttribute(t);return e.setAttribute(t,n),()=>{r==null?e.removeAttribute(t):e.setAttribute(t,r)}})}function lu(e,t,n){return su(e,t,()=>{let r=t in e,i=e[t];return e[t]=n,()=>{r?e[t]=i:delete e[t]}})}function uu(e,t){return e?su(e,`style`,()=>{let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}):()=>{}}function du(e,t,n){return e?su(e,t,()=>{let r=e.style.getPropertyValue(t);return e.style.setProperty(t,n),()=>{r?e.style.setProperty(t,r):e.style.removeProperty(t)}}):()=>{}}var fu=[`SCRIPT`,`STYLE`];function pu(e){return`__ariakit-dialog-snapshot-${e}`}function mu(e,t){let n=to(t),r=pu(e);if(!n.body[r])return!0;do{if(t===n.body)return!1;if(t[r])return!0;if(!t.parentElement)return!1;t=t.parentElement}while(!0)}function hu(e,t,n){return fu.includes(t.tagName)||!mu(e,t)?!1:!n.some(e=>e&&io(t,e))}function gu(e,t,n,r){for(let i of t){if(!i?.isConnected)continue;let a=t.some(e=>!e||e===i?!1:e.contains(i)),o=to(i),s=i;for(;i.parentElement&&i!==o.body;){if(r?.(i.parentElement,s),!a)for(let r of i.parentElement.children)hu(e,r,t)&&n(r,s);i=i.parentElement}}}function _u(e,t){let{body:n}=to(t[0]),r=[];return gu(e,t,t=>{r.push(lu(t,pu(e),!0))}),za(lu(n,pu(e),!0),()=>{for(let e of r)e()})}function vu(e,...t){if(!e)return!1;let n=e.getAttribute(`data-backdrop`);return n==null?!1:n===``||n===`true`||!t.length?!0:t.some(e=>n===e)}function yu(e=``,t=!1){return`__ariakit-dialog-${t?`ancestor`:`outside`}${e?`-${e}`:``}`}function bu(e,t=``){return za(lu(e,yu(),!0),lu(e,yu(t),!0))}function xu(e,t=``){return za(lu(e,yu(``,!0),!0),lu(e,yu(t,!0),!0))}function Su(e,t){let n=yu(t,!0);if(e[n])return!0;let r=yu(t);do{if(e[r])return!0;if(!e.parentElement)return!1;e=e.parentElement}while(!0)}function Cu(e,t){let n=[],r=t.map(e=>e?.id);return gu(e,t,t=>{vu(t,...r)||n.unshift(bu(t,e))},(t,r)=>{r.hasAttribute(`data-dialog`)&&r.id!==e||n.unshift(xu(t,e))}),()=>{for(let e of n)e()}}function wu(e){return e.tagName===`HTML`?!0:io(to(e).body,e)}function Tu(e,t){if(!e)return!1;if(io(e,t))return!0;let n=t.getAttribute(`aria-activedescendant`);if(n){let t=to(e).getElementById(n);if(t)return io(e,t)}return!1}function Eu(e,t){if(!(`clientY`in e))return!1;let n=t.getBoundingClientRect();return n.width===0||n.height===0?!1:n.top<=e.clientY&&e.clientY<=n.top+n.height&&n.left<=e.clientX&&e.clientX<=n.left+n.width}function Du({store:e,type:t,listener:n,capture:r,domReady:i}){let a=J(n),o=Oc(e,`open`),s=(0,z.useRef)(!1);q(()=>{if(!o||!i)return;let{contentElement:t}=e.getState();if(!t)return;let n=()=>{s.current=!0};return t.addEventListener(`focusin`,n,!0),()=>t.removeEventListener(`focusin`,n,!0)},[e,o,i]),(0,z.useEffect)(()=>o?jo(t,t=>{let{contentElement:n,disclosureElement:r}=e.getState(),i=t.target;n&&i&&wu(i)&&(io(n,i)||Tu(r,i)||i.hasAttribute(`data-focus-trap`)||Eu(t,n)||s.current&&!Su(i,n.id)||Qs(i)||a(t))},r):void 0,[o,r])}function Ou(e,t){return typeof e==`function`?e(t):!!e}function ku(e,t,n){let r=au(Oc(e,`open`)),i={store:e,domReady:n,capture:!0};Du({...i,type:`click`,listener:n=>{let{contentElement:i}=e.getState(),a=r.current;a&&G(a)&&Su(a,i?.id)&&Ou(t,n)&&e.hide()}}),Du({...i,type:`focusin`,listener:n=>{let{contentElement:r}=e.getState();r&&n.target!==to(r)&&Ou(t,n)&&e.hide()}}),Du({...i,type:`contextmenu`,listener:n=>{Ou(t,n)&&e.hide()}})}var Au=(0,z.createContext)({});function ju(e){let t=(0,z.useContext)(Au),[n,r]=(0,z.useState)([]),i=(0,z.useCallback)(e=>(r(t=>[...t,e]),za(t.add?.call(t,e),()=>{r(t=>t.filter(t=>t!==e))})),[t]);q(()=>xc(e,[`open`,`contentElement`],n=>{if(n.open&&n.contentElement)return t.add?.call(t,e)}),[e,t]);let a=(0,z.useMemo)(()=>({store:e,add:i}),[e,i]);return{wrapElement:(0,z.useCallback)(e=>(0,B.jsx)(Au.Provider,{value:a,children:e}),[a]),nestedDialogs:n}}function Mu({attribute:e,contentId:t,contentElement:n,enabled:r}){let[i,a]=Wo(),o=(0,z.useCallback)(()=>{if(!r||!n)return!1;let{body:i}=to(n),a=i.getAttribute(e);return!a||a===t},[i,r,n,e,t]);return(0,z.useEffect)(()=>{if(!r||!t||!n)return;let{body:i}=to(n);if(o())return i.setAttribute(e,t),()=>i.removeAttribute(e);let s=new MutationObserver(()=>(0,Qr.flushSync)(a));return s.observe(i,{attributeFilter:[e]}),()=>s.disconnect()},[i,r,t,n,o,e]),o}function Nu(e){let t=e.getBoundingClientRect().left;return Math.round(t)+e.scrollLeft?`paddingLeft`:`paddingRight`}function Pu(e,t,n){let r=Mu({attribute:`data-dialog-prevent-body-scroll`,contentElement:e,contentId:t,enabled:n});(0,z.useEffect)(()=>{if(!r()||!e)return;let t=to(e),n=no(e),{documentElement:i,body:a}=t,o=i.style.getPropertyValue(`--scrollbar-width`),s=o?Number.parseInt(o,10):n.innerWidth-i.clientWidth,c=()=>du(i,`--scrollbar-width`,`${s}px`),l=Nu(i),u=()=>uu(a,{overflow:`hidden`,[l]:`${s}px`}),d=()=>{let{scrollX:e,scrollY:t,visualViewport:r}=n,i=r?.offsetLeft??0,o=r?.offsetTop??0,c=uu(a,{position:`fixed`,overflow:`hidden`,top:`${-(t-Math.floor(o))}px`,left:`${-(e-Math.floor(i))}px`,right:`0`,[l]:`${s}px`});return()=>{c(),n.scrollTo({left:e,top:t,behavior:`instant`})}},f=vo()&&!xo();return za(c(),f?d():u())},[r,e])}function Fu(e,...t){if(!e)return!1;let n=e.getAttribute(`data-focus-trap`);return n==null?!1:t.length?n===``?!1:t.some(e=>n===e):!0}function Iu(){return`inert`in HTMLElement.prototype}function Lu(e){return cu(e,`aria-hidden`,`true`)}function Ru(e,t){return`style`in e?Iu()?lu(e,`inert`,!0):za(...Ps(e,!0).map(e=>{if(t?.some(t=>t&&io(t,e)))return Pa;let n=su(e,`focus`,()=>(e.focus=Pa,()=>{delete e.focus}));return za(cu(e,`tabindex`,`-1`),n)}),Lu(e),uu(e,{pointerEvents:`none`,userSelect:`none`,cursor:`default`})):Pa}function zu(e,t){let n=[],r=t.map(e=>e?.id);return gu(e,t,e=>{vu(e,...r)||Fu(e,...r)||n.unshift(Ru(e,t))},e=>{e.hasAttribute(`role`)&&(t.some(t=>t&&io(t,e))||n.unshift(cu(e,`role`,`none`)))}),()=>{for(let e of n)e()}}var Bu=`div`,Vu=`a.button.details.dialog.div.form.h1.h2.h3.h4.h5.h6.header.img.input.label.li.nav.ol.p.section.select.span.summary.textarea.ul.svg`.split(`.`);as(function(e){return e});var Hu=Y(function(e){return is(Bu,e)});Object.assign(Hu,Vu.reduce((e,t)=>(e[t]=Y(function(e){return is(t,e)}),e),{}));function Uu({store:e,backdrop:t,alwaysVisible:n,hidden:r}){let i=(0,z.useRef)(null),a=ml({disclosure:e}),o=Oc(e,`contentElement`);(0,z.useEffect)(()=>{let e=i.current,t=o;e&&t&&(e.style.zIndex=getComputedStyle(t).zIndex)},[o]),q(()=>{let e=o?.id;if(!e)return;let t=i.current;if(t)return xu(t,e)},[o]);let s=ul({ref:i,store:a,role:`presentation`,"data-backdrop":o?.id||``,alwaysVisible:n,hidden:r??void 0,style:{position:`fixed`,top:0,right:0,bottom:0,left:0}});if(!t)return null;if((0,z.isValidElement)(t))return(0,B.jsx)(Hu,{...s,render:t});let c=typeof t==`boolean`?`div`:t;return(0,B.jsx)(Hu,{...s,render:(0,B.jsx)(c,{})})}function Wu(e={}){return fl(e)}function Gu(e,t,n){return pl(e,t,n)}function Ku(e={}){let[t,n]=jc(Wu,e);return Gu(t,n,e)}var qu=`div`,Ju=yo();function Yu(e){let t=ro();return!t||e&&io(e,t)?!1:!!js(t)}function Xu(e,t=!1){if(!e)return null;let n=`current`in e?e.current:e;return n?t?js(n)?n:null:n:null}var Zu=as(function({store:e,open:t,onClose:n,focusable:r=!0,modal:i=!0,portal:a=!!i,backdrop:o=!!i,hideOnEscape:s=!0,hideOnInteractOutside:c=!0,getPersistentElements:l,preventBodyScroll:u=!!i,autoFocusOnShow:d=!0,autoFocusOnHide:f=!0,initialFocus:p,finalFocus:m,unmountOnHide:h,unstable_treeSnapshotKey:g,..._}){let v=el(),y=(0,z.useRef)(null),b=Ku({store:e||v,open:t,setOpen(e){if(e)return;let t=y.current;if(!t)return;let r=new Event(`close`,{bubbles:!1,cancelable:!0});n&&t.addEventListener(`close`,n,{once:!0}),t.dispatchEvent(r),r.defaultPrevented&&b.setOpen(!0)}}),{portalRef:x,domReady:S}=qo(a,_.portalRef),C=_.preserveTabOrder,w=Oc(b,e=>C&&!i&&e.mounted),T=zo(_.id),E=Oc(b,`open`),D=Oc(b,`mounted`),O=Oc(b,`contentElement`),k=ll(D,_.hidden,_.alwaysVisible);Pu(O,T,u&&!k),ku(b,c,S);let{wrapElement:A,nestedDialogs:j}=ju(b);_=Ko(_,A,[A]),q(()=>{if(!E)return;let e=y.current,t=ro(e,!0);t&&t.tagName!==`BODY`&&(e&&io(e,t)||b.setDisclosureElement(t))},[b,E]),Ju&&(0,z.useEffect)(()=>{if(!D)return;let{disclosureElement:e}=b.getState();if(!e||!oo(e))return;let t=()=>{let t=!1,n=()=>{t=!0};e.addEventListener(`focusin`,n,{capture:!0,once:!0}),Ao(e,`mouseup`,()=>{e.removeEventListener(`focusin`,n,!0),!t&&Us(e)})};return e.addEventListener(`mousedown`,t),()=>{e.removeEventListener(`mousedown`,t)}},[b,D]),(0,z.useEffect)(()=>{if(!D||!S)return;let e=y.current;if(!e)return;let t=no(e),n=t.visualViewport||t,r=()=>{let n=t.visualViewport?.height??t.innerHeight;e.style.setProperty(`--dialog-viewport-height`,`${n}px`)};return r(),n.addEventListener(`resize`,r),()=>{n.removeEventListener(`resize`,r)}},[D,S]),(0,z.useEffect)(()=>{if(!i||!D||!S)return;let e=y.current;if(e&&!e.querySelector(`[data-dialog-dismiss]`))return iu(e,b.hide)},[b,i,D,S]),q(()=>{if(!Iu()||E||!D||!S)return;let e=y.current;if(e)return Ru(e)},[E,D,S]);let M=E&&S;q(()=>{if(!T||!M)return;let e=y.current;return _u(T,[e])},[T,M,g]);let ee=J(l);q(()=>{if(!T||!M)return;let{disclosureElement:e}=b.getState(),t=[y.current,...ee()||[],...j.map(e=>e.getState().contentElement)];return i?za(Cu(T,t),zu(T,t)):Cu(T,[e,...t])},[T,b,M,ee,j,i,g]);let te=!!d,N=Go(d),[P,ne]=(0,z.useState)(!1);(0,z.useEffect)(()=>{if(!E||!te||!S||!O?.isConnected)return;let e=Xu(p,!0)||O.querySelector(`[data-autofocus=true],[autofocus]`)||Fs(O,!0,a&&w)||O,t=js(e);N(t?e:null)&&(ne(!0),queueMicrotask(()=>{e.focus(),Ju&&t&&e.scrollIntoView({block:`nearest`,inline:`nearest`})}))},[E,te,S,O,p,a,w,N]);let re=!!f,ie=Go(f),[F,I]=(0,z.useState)(!1);(0,z.useEffect)(()=>{if(E)return I(!0),()=>I(!1)},[E]);let L=(0,z.useCallback)((e,t=!0)=>{let{disclosureElement:n}=b.getState();if(Yu(e))return;let r=Xu(m)||n;if(r?.id){let e=to(r),t=`[aria-activedescendant="${r.id}"]`,n=e.querySelector(t);n&&(r=n)}if(r&&!js(r)){let e=r.closest(`[data-dialog]`);if(e?.id){let t=to(e),n=`[aria-controls~="${e.id}"]`,i=t.querySelector(n);i&&(r=i)}}let i=r&&js(r);if(!i&&t){requestAnimationFrame(()=>L(e,!1));return}ie(i?r:null)&&i&&r?.focus({preventScroll:!0})},[b,m,ie]),ae=(0,z.useRef)(!1);q(()=>{if(E||!F||!re)return;let e=y.current;ae.current=!0,L(e)},[E,F,S,re,L]),(0,z.useEffect)(()=>{if(!F||!re)return;let e=y.current;return()=>{if(ae.current){ae.current=!1;return}L(e)}},[F,re,L]);let R=Go(s);(0,z.useEffect)(()=>!S||!D?void 0:jo(`keydown`,e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=y.current;if(!t||Su(t))return;let n=e.target;if(!n)return;let{disclosureElement:r}=b.getState();(n.tagName===`BODY`||io(t,n)||!r||io(r,n))&&R(e)&&b.hide()},!0),[b,S,D,R]),_=Ko(_,e=>(0,B.jsx)(tu,{level:i?1:void 0,children:e}),[i]);let oe=_.hidden,se=_.alwaysVisible;_=Ko(_,e=>o?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Uu,{store:b,backdrop:o,hidden:oe,alwaysVisible:se}),e]}):e,[b,o,oe,se]);let[ce,le]=(0,z.useState)(),[ue,de]=(0,z.useState)();return _=Ko(_,e=>(0,B.jsx)(nl,{value:b,children:(0,B.jsx)(rl.Provider,{value:le,children:(0,B.jsx)(il.Provider,{value:de,children:e})})}),[b]),_={id:T,"data-dialog":``,role:`dialog`,tabIndex:r?-1:void 0,"aria-labelledby":ce,"aria-describedby":ue,..._,ref:Ro(y,_.ref)},_=ru({..._,autoFocusOnShow:P}),_=ul({store:b,..._}),_=dc({..._,focusable:r}),_=$l({portal:a,..._,portalRef:x,preserveTabOrder:w}),_});function Qu(e,t=el){return Y(function(n){let r=t();return Oc(n.store||r,e=>!n.unmountOnHide||e?.mounted||!!n.open)?(0,B.jsx)(e,{...n}):null})}Qu(Y(function(e){return is(qu,Zu(e))}),el);var $u=Math.min,ed=Math.max,td=Math.round,nd=Math.floor,rd=e=>({x:e,y:e}),id={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ad(e,t,n){return ed(e,$u(t,n))}function od(e,t){return typeof e==`function`?e(t):e}function sd(e){return e.split(`-`)[0]}function cd(e){return e.split(`-`)[1]}function ld(e){return e===`x`?`y`:`x`}function ud(e){return e===`y`?`height`:`width`}function dd(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function fd(e){return ld(dd(e))}function pd(e,t,n){n===void 0&&(n=!1);let r=cd(e),i=fd(e),a=ud(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=xd(o)),[o,xd(o)]}function md(e){let t=xd(e);return[hd(e),t,hd(t)]}function hd(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var gd=[`left`,`right`],_d=[`right`,`left`],vd=[`top`,`bottom`],$=[`bottom`,`top`];function yd(e,t,n){switch(e){case`top`:case`bottom`:return n?t?_d:gd:t?gd:_d;case`left`:case`right`:return t?vd:$;default:return[]}}function bd(e,t,n,r){let i=cd(e),a=yd(sd(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(hd)))),a}function xd(e){let t=sd(e);return id[t]+e.slice(t.length)}function Sd(e){return{top:0,right:0,bottom:0,left:0,...e}}function Cd(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Sd(e)}function wd(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Td(e,t,n){let{reference:r,floating:i}=e,a=dd(t),o=fd(t),s=ud(o),c=sd(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(cd(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Ed(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=od(t,e),p=Cd(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=wd(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=wd(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Dd=50,Od=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Ed},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Td(l,r,c),f=r,p=0,m={};for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=od(e,t)||{};if(l==null)return{};let d=Cd(u),f={x:n,y:r},p=fd(i),m=ud(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=$u(d[_],T),D=$u(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=ad(O,A,k),M=!c.arrow&&cd(i)!=null&&A!==j&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==dd(t))||T.every(e=>dd(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=dd(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},jd=new Set([`left`,`top`]);async function Md(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=sd(n),s=cd(n),c=dd(n)===`y`,l=jd.has(o)?-1:1,u=a&&c?-1:1,d=od(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Nd=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Md(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Pd=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=od(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=dd(sd(i)),p=ld(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=ad(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=ad(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Fd=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=od(e,t),u={x:n,y:r},d=dd(i),f=ld(d),p=u[f],m=u[d],h=od(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=jd.has(sd(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},Id=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=od(e,t),u=await o.detectOverflow(t,l),d=sd(i),f=cd(i),p=dd(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=$u(h-u[g],v),x=$u(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=ed(u.left,0),t=ed(u.right,0),n=ed(u.top,0),r=ed(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:ed(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:ed(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Ld(){return typeof window<`u`}function Rd(e){return Vd(e)?(e.nodeName||``).toLowerCase():`#document`}function zd(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Bd(e){return((Vd(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Vd(e){return Ld()?e instanceof Node||e instanceof zd(e).Node:!1}function Hd(e){return Ld()?e instanceof Element||e instanceof zd(e).Element:!1}function Ud(e){return Ld()?e instanceof HTMLElement||e instanceof zd(e).HTMLElement:!1}function Wd(e){return!Ld()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof zd(e).ShadowRoot}function Gd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=nf(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Kd(e){return/^(table|td|th)$/.test(Rd(e))}function qd(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Jd=/transform|translate|scale|rotate|perspective|filter/,Yd=/paint|layout|strict|content/,Xd=e=>!!e&&e!==`none`,Zd;function Qd(e){let t=Hd(e)?nf(e):e;return Xd(t.transform)||Xd(t.translate)||Xd(t.scale)||Xd(t.rotate)||Xd(t.perspective)||!ef()&&(Xd(t.backdropFilter)||Xd(t.filter))||Jd.test(t.willChange||``)||Yd.test(t.contain||``)}function $d(e){let t=af(e);for(;Ud(t)&&!tf(t);){if(Qd(t))return t;if(qd(t))return null;t=af(t)}return null}function ef(){return Zd??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Zd}function tf(e){return/^(html|body|#document)$/.test(Rd(e))}function nf(e){return zd(e).getComputedStyle(e)}function rf(e){return Hd(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function af(e){if(Rd(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Wd(e)&&e.host||Bd(e);return Wd(t)?t.host:t}function of(e){let t=af(e);return tf(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ud(t)&&Gd(t)?t:of(t)}function sf(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=of(e),i=r===e.ownerDocument?.body,a=zd(r);if(i){let e=cf(a);return t.concat(a,a.visualViewport||[],Gd(r)?r:[],e&&n?sf(e):[])}else return t.concat(r,sf(r,[],n))}function cf(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function lf(e){let t=nf(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Ud(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=td(n)!==a||td(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function uf(e){return Hd(e)?e:e.contextElement}function df(e){let t=uf(e);if(!Ud(t))return rd(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=lf(t),o=(a?td(n.width):n.width)/r,s=(a?td(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var ff=rd(0);function pf(e){let t=zd(e);return!ef()||!t.visualViewport?ff:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function mf(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==zd(e)?!1:t}function hf(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=uf(e),o=rd(1);t&&(r?Hd(r)&&(o=df(r)):o=df(e));let s=mf(a,n,r)?pf(a):rd(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=zd(a),t=r&&Hd(r)?zd(r):r,n=e,i=cf(n);for(;i&&r&&t!==n;){let e=df(i),t=i.getBoundingClientRect(),r=nf(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=zd(i),i=cf(n)}}return wd({width:u,height:d,x:c,y:l})}function gf(e,t){let n=rf(e).scrollLeft;return t?t.left+n:hf(Bd(e)).left+n}function _f(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-gf(e,n),y:n.top+t.scrollTop}}function vf(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Bd(r),s=t?qd(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=rd(1),u=rd(0),d=Ud(r);if((d||!d&&!a)&&((Rd(r)!==`body`||Gd(o))&&(c=rf(r)),d)){let e=hf(r);l=df(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?_f(o,c):rd(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function yf(e){return Array.from(e.getClientRects())}function bf(e){let t=Bd(e),n=rf(e),r=e.ownerDocument.body,i=ed(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ed(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+gf(e),s=-n.scrollTop;return nf(r).direction===`rtl`&&(o+=ed(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var xf=25;function Sf(e,t){let n=zd(e),r=Bd(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ef();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=gf(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=xf&&(a-=o)}else l<=xf&&(a+=l);return{width:a,height:o,x:s,y:c}}function Cf(e,t){let n=hf(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Ud(e)?df(e):rd(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function wf(e,t,n){let r;if(t===`viewport`)r=Sf(e,n);else if(t===`document`)r=bf(Bd(e));else if(Hd(t))r=Cf(t,n);else{let n=pf(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return wd(r)}function Tf(e,t){let n=af(e);return n===t||!Hd(n)||tf(n)?!1:nf(n).position===`fixed`||Tf(n,t)}function Ef(e,t){let n=t.get(e);if(n)return n;let r=sf(e,[],!1).filter(e=>Hd(e)&&Rd(e)!==`body`),i=null,a=nf(e).position===`fixed`,o=a?af(e):e;for(;Hd(o)&&!tf(o);){let t=nf(o),n=Qd(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Gd(o)&&!n&&Tf(e,o))?r=r.filter(e=>e!==o):i=t,o=af(o)}return t.set(e,r),r}function Df(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?qd(t)?[]:Ef(t,this._c):[].concat(n),r],o=wf(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!If(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Rf(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=uf(e),u=i||a?[...l?sf(l):[],...t?sf(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Lf(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?hf(e):null;c&&g();function g(){let t=hf(e);h&&!If(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var zf=Nd,Bf=Pd,Vf=Ad,Hf=Id,Uf=kd,Wf=Fd,Gf=(e,t,n)=>{let r=new Map,i={platform:Ff,...n},a={...i.platform,_c:r};return Od(e,t,{...i,platform:a})},Kf=`div`;function qf(e=0,t=0,n=0,r=0){if(typeof DOMRect==`function`)return new DOMRect(e,t,n,r);let i={x:e,y:t,width:n,height:r,top:t,right:e+n,bottom:t+r,left:e};return{...i,toJSON:()=>i}}function Jf(e){if(!e)return qf();let{x:t,y:n,width:r,height:i}=e;return qf(t,n,r,i)}function Yf(e,t){return{contextElement:e||void 0,getBoundingClientRect:()=>{let n=e,r=t?.(n);return r||!n?Jf(r):n.getBoundingClientRect()}}}function Xf(e){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(e)}function Zf(e){let t=window.devicePixelRatio||1;return Math.round(e*t)/t}function Qf(e,t){return zf(({placement:n})=>{let r=(e?.clientHeight||0)/2,i=typeof t.gutter==`number`?t.gutter+r:t.gutter??r;return{crossAxis:n.split(`-`)[1]?void 0:t.shift,mainAxis:i,alignmentAxis:t.shift}})}function $f(e){if(e.flip===!1)return;let t=typeof e.flip==`string`?e.flip.split(` `):void 0;return Wa(!t||t.every(Xf),!1),Vf({padding:e.overflowPadding,fallbackPlacements:t})}function ep(e){if(!(!e.slide&&!e.overlap))return Bf({mainAxis:e.slide,crossAxis:e.overlap,padding:e.overflowPadding,limiter:Wf()})}function tp(e){return Hf({padding:e.overflowPadding,apply({elements:t,availableWidth:n,availableHeight:r,rects:i}){let a=t.floating,o=Math.round(i.reference.width);n=Math.floor(n),r=Math.floor(r),a.style.setProperty(`--popover-anchor-width`,`${o}px`),a.style.setProperty(`--popover-available-width`,`${n}px`),a.style.setProperty(`--popover-available-height`,`${r}px`),e.sameWidth&&(a.style.width=`${o}px`),e.fitViewport&&(a.style.maxWidth=`${n}px`,a.style.maxHeight=`${r}px`)}})}function np(e,t){if(e)return Uf({element:e,padding:t.arrowPadding})}var rp=as(function({store:e,modal:t=!1,portal:n=!!t,preserveTabOrder:r=!0,autoFocusOnShow:i=!0,wrapperProps:a,fixed:o=!1,flip:s=!0,shift:c=0,slide:l=!0,overlap:u=!1,sameWidth:d=!1,fitViewport:f=!1,gutter:p,arrowPadding:m=4,overflowPadding:h=8,getAnchorRect:g,updatePosition:_,...v}){let y=gl();e||=y,Wa(e,!1);let b=e.useState(`arrowElement`),x=e.useState(`anchorElement`),S=e.useState(`disclosureElement`),C=e.useState(`popoverElement`),w=e.useState(`contentElement`),T=e.useState(`placement`),E=e.useState(`mounted`),D=e.useState(`rendered`),O=(0,z.useRef)(null),[k,A]=(0,z.useState)(!1),{portalRef:j,domReady:M}=qo(n,v.portalRef),ee=J(g),te=J(_),N=!!_;q(()=>{if(!C?.isConnected)return;C.style.setProperty(`--popover-overflow-padding`,`${h}px`);let t=Yf(x,ee),n=async()=>{if(!E)return;b||(O.current=O.current||document.createElement(`div`));let n=b||O.current,r=[Qf(n,{gutter:p,shift:c}),$f({flip:s,overflowPadding:h}),ep({slide:l,shift:c,overlap:u,overflowPadding:h}),np(n,{arrowPadding:m}),tp({sameWidth:d,fitViewport:f,overflowPadding:h})],i=await Gf(t,C,{placement:T,strategy:o?`fixed`:`absolute`,middleware:r});e?.setState(`currentPlacement`,i.placement),A(!0);let a=Zf(i.x),g=Zf(i.y);if(Object.assign(C.style,{top:`0`,left:`0`,transform:`translate3d(${a}px,${g}px,0)`}),n&&i.middlewareData.arrow){let{x:e,y:t}=i.middlewareData.arrow,r=i.placement.split(`-`)[0],a=n.clientWidth/2,o=n.clientHeight/2,s=e==null?-a:e+a,c=t==null?-o:t+o;C.style.setProperty(`--popover-transform-origin`,{top:`${s}px calc(100% + ${o}px)`,bottom:`${s}px ${-o}px`,left:`calc(100% + ${a}px) ${c}px`,right:`${-a}px ${c}px`}[r]),Object.assign(n.style,{left:e==null?``:`${e}px`,top:t==null?``:`${t}px`,[r]:`100%`})}},r=Rf(t,C,async()=>{N?(await te({updatePosition:n}),A(!0)):await n()},{elementResize:typeof ResizeObserver==`function`});return()=>{A(!1),r()}},[e,D,C,b,x,C,T,E,M,o,s,c,l,u,d,f,p,m,h,ee,N,te]),q(()=>{if(!E||!M||!C?.isConnected||!w?.isConnected)return;let e=()=>{C.style.zIndex=getComputedStyle(w).zIndex};e();let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)},[E,M,C,w]);let P=o?`fixed`:`absolute`;return v=Ko(v,t=>(0,B.jsx)(`div`,{...a,style:{position:P,top:0,left:0,width:`max-content`,...a?.style},ref:e?.setPopoverElement,children:t}),[e,P,a]),v=Ko(v,t=>(0,B.jsx)(vl,{value:e,children:t}),[e]),v={"data-placing":!k||void 0,...v,style:{position:`relative`,...v.style}},v=Zu({store:e,modal:t,portal:n,preserveTabOrder:r,preserveTabOrderAnchor:S||x,autoFocusOnShow:k&&i,...v,portalRef:j}),v});Qu(Y(function(e){return is(Kf,rp(e))}),gl);function ip({popover:e,...t}={}){let n=Tc(t.store,Cc(e,[`arrowElement`,`anchorElement`,`contentElement`,`popoverElement`,`disclosureElement`])),r=n?.getState(),i=Wu({...t,store:n}),a=W(t.placement,r?.placement,`bottom`),o=_c({...i.getState(),placement:a,currentPlacement:a,anchorElement:W(r?.anchorElement,null),popoverElement:W(r?.popoverElement,null),arrowElement:W(r?.arrowElement,null),rendered:Symbol(`rendered`)},i,n);return{...i,...o,setAnchorElement:e=>o.setState(`anchorElement`,e),setPopoverElement:e=>o.setState(`popoverElement`,e),setArrowElement:e=>o.setState(`arrowElement`,e),render:()=>o.setState(`rendered`,Symbol(`rendered`))}}function ap(e,t,n){return Ho(t,[n.popover]),Ac(e,n,`placement`),Gu(e,t,n)}var op=`div`,sp=as(function({store:e,...t}){let n=gl();return e||=n,t={...t,ref:Ro(e?.setAnchorElement,t.ref)},t});Y(function(e){return is(op,sp(e))});var cp=(0,z.createContext)(void 0),lp=`div`,up=as(function(e){let[t,n]=(0,z.useState)();return e=Ko(e,e=>(0,B.jsx)(cp.Provider,{value:n,children:e}),[]),e={role:`group`,"aria-labelledby":t,...e},Ja(e)});Y(function(e){return is(lp,up(e))});var dp=`div`,fp=as(function({store:e,...t}){return t=up(t),t});Y(function(e){return is(dp,fp(e))});var pp=`div`,mp=as(function(e){let t=(0,z.useContext)(cp),n=zo(e.id);return q(()=>(t?.(n),()=>t?.(void 0)),[t,n]),e={id:n,"aria-hidden":!0,...e},Ja(e)});Y(function(e){return is(pp,mp(e))});var hp=`div`,gp=as(function({store:e,...t}){return t=mp(t),t});Y(function(e){return is(hp,gp(e))});var _p=`div`;function vp(e){let t=e.relatedTarget;return t?.nodeType===Node.ELEMENT_NODE?t:null}function yp(e){let t=vp(e);return t?io(e.currentTarget,t):!1}var bp=Symbol(`composite-hover`);function xp(e){let t=vp(e);if(!t)return!1;do{if(Ra(t,bp)&&t[bp])return!0;t=t.parentElement}while(t);return!1}var Sp=as(function({store:e,focusOnHover:t=!0,blurOnHoverEnd:n=!!t,...r}){let i=fs();e||=i,Wa(e,!1);let a=Xo(),o=r.onMouseMove,s=Go(t),c=J(t=>{if(o?.(t),!t.defaultPrevented&&a()&&s(t)){if(!Hs(t.currentTarget)){let t=e?.getState().baseElement;t&&!Vs(t)&&t.focus()}e?.setActiveId(t.currentTarget.id)}}),l=r.onMouseLeave,u=Go(n),d=J(t=>{var n;l?.(t),!t.defaultPrevented&&a()&&(yp(t)||xp(t)||s(t)&&u(t)&&(e?.setActiveId(null),(n=e?.getState().baseElement)==null||n.focus()))}),f=(0,z.useCallback)(e=>{e&&(e[bp]=!0)},[]);return r={...r,ref:Ro(f,r.ref),onMouseMove:c,onMouseLeave:d},Ja(r)});rs(Y(function(e){return is(_p,Sp(e))}));var Cp=`input`;function wp(e,t,n){return n?e.find(e=>!e.disabled&&e.value)?.value===t:!1}function Tp(e,t){return!t||e==null?!1:(e=Ba(e),t.length>e.length&&t.toLowerCase().indexOf(e.toLowerCase())===0)}function Ep(e){return e.type===`input`}function Dp(e){return e===`inline`||e===`list`||e===`both`||e===`none`}function Op(e){return e.find(e=>e.disabled?!1:e.element?.getAttribute(`role`)!==`tab`)?.id}var kp=as(function({store:e,focusable:t=!0,autoSelect:n=!1,getAutoSelectId:r,setValueOnChange:i,showMinLength:a=0,showOnChange:o,showOnMouseDown:s,showOnClick:c=s,showOnKeyDown:l,showOnKeyPress:u=l,blurActiveItemOnClick:d,setValueOnClick:f=!0,moveOnKeyPress:p=!0,autoComplete:m=`list`,...h}){let g=Ll();e||=g,Wa(e,!1);let _=(0,z.useRef)(null),[v,y]=Wo(),b=(0,z.useRef)(!1),x=(0,z.useRef)(!1),S=e.useState(e=>e.virtualFocus&&n),C=m===`inline`||m===`both`,[w,T]=(0,z.useState)(C);Uo(()=>{C&&T(!0)},[C]);let E=e.useState(`value`),D=(0,z.useRef)(void 0);(0,z.useEffect)(()=>xc(e,[`selectedValue`,`activeId`],(e,t)=>{D.current=t.selectedValue}),[]);let O=e.useState(e=>{if(C&&w&&!(e.activeValue&&Array.isArray(e.selectedValue)&&(e.selectedValue.includes(e.activeValue)||D.current?.includes(e.activeValue))))return e.activeValue}),k=e.useState(`renderedItems`),A=e.useState(`open`),j=e.useState(`contentElement`),M=(0,z.useMemo)(()=>!C||!w?E:wp(k,O,S)?Tp(E,O)?E+(O?.slice(E.length)||``):E:O||E,[C,w,k,O,S,E]);(0,z.useEffect)(()=>{let e=_.current;if(!e)return;let t=()=>T(!0);return e.addEventListener(`combobox-item-move`,t),()=>{e.removeEventListener(`combobox-item-move`,t)}},[]),(0,z.useEffect)(()=>{if(!C||!w||!O||!wp(k,O,S)||!Tp(E,O))return;let e=Pa;return queueMicrotask(()=>{let t=_.current;if(!t)return;let{start:n,end:r}=uo(t),i=E.length,a=O.length;mo(t,i,a),e=()=>{if(!Vs(t))return;let{start:e,end:o}=uo(t);e===i&&o===a&&mo(t,n,r)}}),()=>e()},[v,C,w,O,k,S,E]);let ee=(0,z.useRef)(null),te=J(r),N=(0,z.useRef)(null);(0,z.useEffect)(()=>{if(!A||!j)return;let t=po(j);if(!t)return;ee.current=t;let n=()=>{b.current=!1},r=()=>{if(!e||!b.current)return;let{activeId:t}=e.getState();t!==null&&t!==N.current&&(b.current=!1)},i={passive:!0,capture:!0};return t.addEventListener(`wheel`,n,i),t.addEventListener(`touchmove`,n,i),t.addEventListener(`scroll`,r,i),()=>{t.removeEventListener(`wheel`,n,!0),t.removeEventListener(`touchmove`,n,!0),t.removeEventListener(`scroll`,r,!0)}},[A,j,e]),q(()=>{E&&(x.current||(b.current=!0))},[E]),q(()=>{S!==`always`&&A||(b.current=A)},[S,A]);let P=e.useState(`resetValueOnSelect`);Ho(()=>{let t=b.current;if(!e||!A||!t&&!P)return;let{baseElement:n,contentElement:r,activeId:i}=e.getState();if(!(n&&!Vs(n))){if(r?.hasAttribute(`data-placing`)){let e=new MutationObserver(y);return e.observe(r,{attributeFilter:[`data-placing`]}),()=>e.disconnect()}if(S&&t){let t=te(k),n=t===void 0?Op(k)??e.first():t;N.current=n,e.move(n??null)}else{let t=e.item(i||e.first())?.element;t&&`scrollIntoView`in t&&t.scrollIntoView({block:`nearest`,inline:`nearest`})}}},[e,A,v,E,S,P,te,k]),(0,z.useEffect)(()=>{if(!C)return;let t=_.current;if(!t)return;let n=[t,j].filter(e=>!!e),r=t=>{n.every(e=>ko(t,e))&&e?.setValue(M)};for(let e of n)e.addEventListener(`focusout`,r);return()=>{for(let e of n)e.removeEventListener(`focusout`,r)}},[C,j,e,M]);let ne=e=>e.currentTarget.value.length>=a,re=h.onChange,ie=Go(o??ne),F=Go(i??!e.tag),I=J(t=>{if(re?.(t),t.defaultPrevented||!e)return;let n=t.currentTarget,{value:r,selectionStart:i,selectionEnd:a}=n,o=t.nativeEvent;if(b.current=!0,Ep(o)&&(o.isComposing&&(b.current=!1,x.current=!0),C)){let e=o.inputType===`insertText`||o.inputType===`insertCompositionText`,t=i===r.length;T(e&&t)}if(F(t)){let t=r===e.getState().value;e.setValue(r),queueMicrotask(()=>{mo(n,i,a)}),C&&S&&t&&y()}ie(t)&&e.show(),(!S||!b.current)&&e.setActiveId(null)}),L=h.onCompositionEnd,ae=J(e=>{b.current=!0,x.current=!1,L?.(e),!e.defaultPrevented&&S&&y()}),R=h.onMouseDown,oe=Go(d??(()=>!!e?.getState().includesBaseElement)),se=Go(f),ce=Go(c??ne),le=J(t=>{R?.(t),!t.defaultPrevented&&(t.button||t.ctrlKey||e&&(oe(t)&&e.setActiveId(null),se(t)&&e.setValue(M),ce(t)&&Ao(t.currentTarget,`mouseup`,e.show)))}),ue=h.onKeyDown,de=Go(u??ne),fe=J(t=>{if(ue?.(t),t.repeat||(b.current=!1),t.defaultPrevented||t.ctrlKey||t.altKey||t.shiftKey||t.metaKey||!e)return;let{open:n}=e.getState();n||(t.key===`ArrowUp`||t.key===`ArrowDown`)&&de(t)&&(t.preventDefault(),e.show())}),pe=h.onBlur,me=J(e=>{b.current=!1,pe?.(e),e.defaultPrevented}),he=zo(h.id),ge=Dp(m)?m:void 0,_e=e.useState(e=>e.activeId===null);return h={id:he,role:`combobox`,"aria-autocomplete":ge,"aria-haspopup":fo(j,`listbox`),"aria-expanded":A,"aria-controls":j?.id,"data-active-item":_e||void 0,value:M,...h,ref:Ro(_,h.ref),onChange:I,onCompositionEnd:ae,onMouseDown:le,onKeyDown:fe,onBlur:me},h=Jc({store:e,focusable:t,...h,moveOnKeyPress:e=>Ka(p,e)?!1:(C&&T(!0),!0)}),h=sp({store:e,...h}),{autoComplete:`off`,...h}}),Ap=Y(function(e){return is(Cp,kp(e))}),jp=`div`,Mp=as(function({store:e,...t}){let n=Il();return e||=n,Wa(e,!1),fo(e.useState(`contentElement`))===`grid`&&(t={role:`rowgroup`,...t}),t=fp({store:e,...t}),t}),Np=Y(function(e){return is(jp,Mp(e))}),Pp=`div`,Fp=as(function(e){return e=gp(e),e}),Ip=Y(function(e){return is(Pp,Fp(e))}),Lp=`div`;function Rp(e,t){if(t!=null)return e==null?!1:Array.isArray(e)?e.includes(t):e===t}function zp(e){return{menu:`menuitem`,listbox:`option`,tree:`treeitem`}[e]??`option`}var Bp=as(function({store:e,value:t,hideOnClick:n,setValueOnClick:r,selectValueOnClick:i=!0,resetValueOnSelect:a,focusOnHover:o=!1,moveOnKeyPress:s=!0,getItem:c,...l}){let u=Il();e||=u,Wa(e,!1);let{resetValueOnSelectState:d,multiSelectable:f,selected:p}=kc(e,{resetValueOnSelectState:`resetValueOnSelect`,multiSelectable(e){return Array.isArray(e.selectedValue)},selected(e){return Rp(e.selectedValue,t)}}),m=(0,z.useCallback)(e=>{let n={...e,value:t};return c?c(n):n},[t,c]);r??=!f,n??=t!=null&&!f;let h=l.onClick,g=Go(r),_=Go(i),v=Go(a??d??f),y=Go(n),b=J(n=>{h?.(n),!n.defaultPrevented&&(To(n)||wo(n)||(t!=null&&(_(n)&&(v(n)&&e?.resetValue(),e?.setSelectedValue(e=>Array.isArray(e)?e.includes(t)?e.filter(e=>e!==t):[...e,t]:t)),g(n)&&e?.setValue(t)),y(n)&&e?.hide()))}),x=l.onKeyDown,S=J(t=>{if(x?.(t),t.defaultPrevented)return;let n=e?.getState().baseElement;n&&(Vs(n)||(t.key.length===1||t.key===`Backspace`||t.key===`Delete`)&&(queueMicrotask(()=>n.focus()),K(n)&&e?.setValue(n.value)))});f&&p!=null&&(l={"aria-selected":p,...l}),l=Ko(l,e=>(0,B.jsx)(Bl.Provider,{value:t,children:(0,B.jsx)(Vl.Provider,{value:p??!1,children:e})}),[t,p]),l={role:zp((0,z.useContext)(Fl)),children:t,...l,onClick:b,onKeyDown:S};let C=Go(s);return l=Rc({store:e,...l,getItem:m,moveOnKeyPress:t=>{if(!C(t))return!1;let n=new Event(`combobox-item-move`);return(e?.getState().baseElement)?.dispatchEvent(n),!0}}),l=Sp({store:e,focusOnHover:o,...l}),l}),Vp=rs(Y(function(e){return is(Lp,Bp(e))})),Hp=`div`,Up=as(function({store:e,alwaysVisible:t,...n}){let r=Il(!0),i=Q();e||=i;let a=!!e&&e===r;Wa(e,!1);let o=(0,z.useRef)(null),s=zo(n.id),c=e.useState(`mounted`),l=ll(c,n.hidden,t),u=l?{...n.style,display:`none`}:n.style,d=e.useState(e=>Array.isArray(e.selectedValue)),f=Vo(o,`role`,n.role),p=(f===`listbox`||f===`tree`||f===`grid`)&&d||void 0,[m,h]=(0,z.useState)(!1),g=e.useState(`contentElement`);q(()=>{if(!c)return;let e=o.current;if(!e||g!==e)return;let t=()=>{h(!!e.querySelector(`[role='listbox']`))},n=new MutationObserver(t);return n.observe(e,{subtree:!0,childList:!0,attributeFilter:[`role`]}),t(),()=>n.disconnect()},[c,g]),m||(n={role:`listbox`,"aria-multiselectable":p,...n}),n=Ko(n,t=>(0,B.jsx)(zl,{value:e,children:(0,B.jsx)(Fl.Provider,{value:f,children:t})}),[e,f]);let _=s&&(!r||!a)?e.setContentElement:null;return n={id:s,hidden:l,...n,ref:Ro(_,o,n.ref),style:u},Ja(n)}),Wp=Y(function(e){return is(Hp,Up(e))}),Gp=`div`;function Kp(e,...t){if(!e)return!1;if(`id`in e){let n=t.filter(Boolean).map(e=>`[aria-controls~="${e}"]`).join(`, `);return n?e.matches(n):!1}return!1}var qp=as(function({store:e,modal:t,tabIndex:n,alwaysVisible:r,autoFocusOnHide:i=!0,hideOnInteractOutside:a=!0,...o}){let s=Ll();e||=s,Wa(e,!1);let c=e.useState(`baseElement`),l=(0,z.useRef)(!1),u=Oc(e.tag,e=>e?.renderedItems.length);return o=Up({store:e,alwaysVisible:r,...o}),o=rp({store:e,modal:t,alwaysVisible:r,backdrop:!1,autoFocusOnShow:!1,finalFocus:c,preserveTabOrderAnchor:null,unstable_treeSnapshotKey:u,...o,getPersistentElements(){let n=o.getPersistentElements?.call(o)||[];if(!t||!e)return n;let{contentElement:r,baseElement:i}=e.getState();if(!i)return n;let a=to(i),s=[];if(r?.id&&s.push(`[aria-controls~="${r.id}"]`),i?.id&&s.push(`[aria-controls~="${i.id}"]`),!s.length)return[...n,i];let c=s.join(`,`),l=a.querySelectorAll(c);return[...n,...l]},autoFocusOnHide(e){return Ka(i,e)?!1:l.current?(l.current=!1,!1):!0},hideOnInteractOutside(t){let n=e?.getState(),r=n?.contentElement?.id,i=n?.baseElement?.id;if(Kp(t.target,r,i))return!1;let o=typeof a==`function`?a(t):a;return o&&(l.current=t.type===`click`),o}}),o}),Jp=Qu(Y(function(e){return is(Gp,qp(e))}),Ll);(0,z.createContext)(null),(0,z.createContext)(null);var Yp=os([ms],[hs]),Xp=Yp.useContext;Yp.useScopedContext,Yp.useProviderContext,Yp.ContextProvider,Yp.ScopedContextProvider;var Zp=yo()&&_o();function Qp({tag:e,...t}={}){let n=Tc(t.store,wc(e,[`value`,`rtl`])),r=e?.getState(),i=n?.getState(),a=W(t.activeId,i?.activeId,t.defaultActiveId,null),o=Nl({...t,activeId:a,includesBaseElement:W(t.includesBaseElement,i?.includesBaseElement,!0),orientation:W(t.orientation,i?.orientation,`vertical`),focusLoop:W(t.focusLoop,i?.focusLoop,!0),focusWrap:W(t.focusWrap,i?.focusWrap,!0),virtualFocus:W(t.virtualFocus,i?.virtualFocus,!0)}),s=ip({...t,placement:W(t.placement,i?.placement,`bottom-start`)}),c=W(t.value,i?.value,t.defaultValue,``),l=W(t.selectedValue,i?.selectedValue,r?.values,t.defaultSelectedValue,``),u=Array.isArray(l),d={...o.getState(),...s.getState(),value:c,selectedValue:l,resetValueOnSelect:W(t.resetValueOnSelect,i?.resetValueOnSelect,u),resetValueOnHide:W(t.resetValueOnHide,i?.resetValueOnHide,u&&!e),activeValue:i?.activeValue},f=_c(d,o,s,n);return Zp&&vc(f,()=>xc(f,[`virtualFocus`],()=>{f.setState(`virtualFocus`,!1)})),vc(f,()=>{if(e)return za(xc(f,[`selectedValue`],t=>{Array.isArray(t.selectedValue)&&e.setValues(t.selectedValue)}),xc(e,[`values`],e=>{f.setState(`selectedValue`,e.values)}))}),vc(f,()=>xc(f,[`resetValueOnHide`,`mounted`],e=>{e.resetValueOnHide&&(e.mounted||f.setState(`value`,c))})),vc(f,()=>xc(f,[`open`],e=>{e.open||(f.setState(`activeId`,a),f.setState(`moves`,0))})),vc(f,()=>xc(f,[`moves`,`activeId`],(e,t)=>{e.moves===t.moves&&f.setState(`activeValue`,void 0)})),vc(f,()=>Sc(f,[`moves`,`renderedItems`],(e,t)=>{if(e.moves===t.moves)return;let{activeId:n}=f.getState(),r=o.item(n);f.setState(`activeValue`,r?.value)})),{...s,...o,...f,tag:e,setValue:e=>f.setState(`value`,e),resetValue:()=>f.setState(`value`,d.value),setSelectedValue:e=>f.setState(`selectedValue`,e)}}function $p(e){let t=Xp();return e={...e,tag:e.tag===void 0?t:e.tag},Pl(e)}function em(e,t,n){return Ho(t,[n.tag]),Ac(e,n,`value`,`setValue`),Ac(e,n,`selectedValue`,`setSelectedValue`),Ac(e,n,`resetValueOnHide`),Ac(e,n,`resetValueOnSelect`),Object.assign(X(ap(e,t,n),t,n),{tag:n.tag})}function tm(e={}){e=$p(e);let[t,n]=jc(Qp,e);return em(t,n,e)}function nm(e={}){return(0,B.jsx)(Rl,{value:tm(e),children:e.children})}var rm=e(t(((e,t)=>{var n={À:`A`,Á:`A`,Â:`A`,Ã:`A`,Ä:`A`,Å:`A`,Ấ:`A`,Ắ:`A`,Ẳ:`A`,Ẵ:`A`,Ặ:`A`,Æ:`AE`,Ầ:`A`,Ằ:`A`,Ȃ:`A`,Ả:`A`,Ạ:`A`,Ẩ:`A`,Ẫ:`A`,Ậ:`A`,Ç:`C`,Ḉ:`C`,È:`E`,É:`E`,Ê:`E`,Ë:`E`,Ế:`E`,Ḗ:`E`,Ề:`E`,Ḕ:`E`,Ḝ:`E`,Ȇ:`E`,Ẻ:`E`,Ẽ:`E`,Ẹ:`E`,Ể:`E`,Ễ:`E`,Ệ:`E`,Ì:`I`,Í:`I`,Î:`I`,Ï:`I`,Ḯ:`I`,Ȋ:`I`,Ỉ:`I`,Ị:`I`,Ð:`D`,Ñ:`N`,Ò:`O`,Ó:`O`,Ô:`O`,Õ:`O`,Ö:`O`,Ø:`O`,Ố:`O`,Ṍ:`O`,Ṓ:`O`,Ȏ:`O`,Ỏ:`O`,Ọ:`O`,Ổ:`O`,Ỗ:`O`,Ộ:`O`,Ờ:`O`,Ở:`O`,Ỡ:`O`,Ớ:`O`,Ợ:`O`,Ù:`U`,Ú:`U`,Û:`U`,Ü:`U`,Ủ:`U`,Ụ:`U`,Ử:`U`,Ữ:`U`,Ự:`U`,Ý:`Y`,à:`a`,á:`a`,â:`a`,ã:`a`,ä:`a`,å:`a`,ấ:`a`,ắ:`a`,ẳ:`a`,ẵ:`a`,ặ:`a`,æ:`ae`,ầ:`a`,ằ:`a`,ȃ:`a`,ả:`a`,ạ:`a`,ẩ:`a`,ẫ:`a`,ậ:`a`,ç:`c`,ḉ:`c`,è:`e`,é:`e`,ê:`e`,ë:`e`,ế:`e`,ḗ:`e`,ề:`e`,ḕ:`e`,ḝ:`e`,ȇ:`e`,ẻ:`e`,ẽ:`e`,ẹ:`e`,ể:`e`,ễ:`e`,ệ:`e`,ì:`i`,í:`i`,î:`i`,ï:`i`,ḯ:`i`,ȋ:`i`,ỉ:`i`,ị:`i`,ð:`d`,ñ:`n`,ò:`o`,ó:`o`,ô:`o`,õ:`o`,ö:`o`,ø:`o`,ố:`o`,ṍ:`o`,ṓ:`o`,ȏ:`o`,ỏ:`o`,ọ:`o`,ổ:`o`,ỗ:`o`,ộ:`o`,ờ:`o`,ở:`o`,ỡ:`o`,ớ:`o`,ợ:`o`,ù:`u`,ú:`u`,û:`u`,ü:`u`,ủ:`u`,ụ:`u`,ử:`u`,ữ:`u`,ự:`u`,ý:`y`,ÿ:`y`,Ā:`A`,ā:`a`,Ă:`A`,ă:`a`,Ą:`A`,ą:`a`,Ć:`C`,ć:`c`,Ĉ:`C`,ĉ:`c`,Ċ:`C`,ċ:`c`,Č:`C`,č:`c`,C̆:`C`,c̆:`c`,Ď:`D`,ď:`d`,Đ:`D`,đ:`d`,Ē:`E`,ē:`e`,Ĕ:`E`,ĕ:`e`,Ė:`E`,ė:`e`,Ę:`E`,ę:`e`,Ě:`E`,ě:`e`,Ĝ:`G`,Ǵ:`G`,ĝ:`g`,ǵ:`g`,Ğ:`G`,ğ:`g`,Ġ:`G`,ġ:`g`,Ģ:`G`,ģ:`g`,Ĥ:`H`,ĥ:`h`,Ħ:`H`,ħ:`h`,Ḫ:`H`,ḫ:`h`,Ĩ:`I`,ĩ:`i`,Ī:`I`,ī:`i`,Ĭ:`I`,ĭ:`i`,Į:`I`,į:`i`,İ:`I`,ı:`i`,IJ:`IJ`,ij:`ij`,Ĵ:`J`,ĵ:`j`,Ķ:`K`,ķ:`k`,Ḱ:`K`,ḱ:`k`,K̆:`K`,k̆:`k`,Ĺ:`L`,ĺ:`l`,Ļ:`L`,ļ:`l`,Ľ:`L`,ľ:`l`,Ŀ:`L`,ŀ:`l`,Ł:`l`,ł:`l`,Ḿ:`M`,ḿ:`m`,M̆:`M`,m̆:`m`,Ń:`N`,ń:`n`,Ņ:`N`,ņ:`n`,Ň:`N`,ň:`n`,ʼn:`n`,N̆:`N`,n̆:`n`,Ō:`O`,ō:`o`,Ŏ:`O`,ŏ:`o`,Ő:`O`,ő:`o`,Œ:`OE`,œ:`oe`,P̆:`P`,p̆:`p`,Ŕ:`R`,ŕ:`r`,Ŗ:`R`,ŗ:`r`,Ř:`R`,ř:`r`,R̆:`R`,r̆:`r`,Ȓ:`R`,ȓ:`r`,Ś:`S`,ś:`s`,Ŝ:`S`,ŝ:`s`,Ş:`S`,Ș:`S`,ș:`s`,ş:`s`,Š:`S`,š:`s`,Ţ:`T`,ţ:`t`,ț:`t`,Ț:`T`,Ť:`T`,ť:`t`,Ŧ:`T`,ŧ:`t`,T̆:`T`,t̆:`t`,Ũ:`U`,ũ:`u`,Ū:`U`,ū:`u`,Ŭ:`U`,ŭ:`u`,Ů:`U`,ů:`u`,Ű:`U`,ű:`u`,Ų:`U`,ų:`u`,Ȗ:`U`,ȗ:`u`,V̆:`V`,v̆:`v`,Ŵ:`W`,ŵ:`w`,Ẃ:`W`,ẃ:`w`,X̆:`X`,x̆:`x`,Ŷ:`Y`,ŷ:`y`,Ÿ:`Y`,Y̆:`Y`,y̆:`y`,Ź:`Z`,ź:`z`,Ż:`Z`,ż:`z`,Ž:`Z`,ž:`z`,ſ:`s`,ƒ:`f`,Ơ:`O`,ơ:`o`,Ư:`U`,ư:`u`,Ǎ:`A`,ǎ:`a`,Ǐ:`I`,ǐ:`i`,Ǒ:`O`,ǒ:`o`,Ǔ:`U`,ǔ:`u`,Ǖ:`U`,ǖ:`u`,Ǘ:`U`,ǘ:`u`,Ǚ:`U`,ǚ:`u`,Ǜ:`U`,ǜ:`u`,Ứ:`U`,ứ:`u`,Ṹ:`U`,ṹ:`u`,Ǻ:`A`,ǻ:`a`,Ǽ:`AE`,ǽ:`ae`,Ǿ:`O`,ǿ:`o`,Þ:`TH`,þ:`th`,Ṕ:`P`,ṕ:`p`,Ṥ:`S`,ṥ:`s`,X́:`X`,x́:`x`,Ѓ:`Г`,ѓ:`г`,Ќ:`К`,ќ:`к`,A̋:`A`,a̋:`a`,E̋:`E`,e̋:`e`,I̋:`I`,i̋:`i`,Ǹ:`N`,ǹ:`n`,Ồ:`O`,ồ:`o`,Ṑ:`O`,ṑ:`o`,Ừ:`U`,ừ:`u`,Ẁ:`W`,ẁ:`w`,Ỳ:`Y`,ỳ:`y`,Ȁ:`A`,ȁ:`a`,Ȅ:`E`,ȅ:`e`,Ȉ:`I`,ȉ:`i`,Ȍ:`O`,ȍ:`o`,Ȑ:`R`,ȑ:`r`,Ȕ:`U`,ȕ:`u`,B̌:`B`,b̌:`b`,Č̣:`C`,č̣:`c`,Ê̌:`E`,ê̌:`e`,F̌:`F`,f̌:`f`,Ǧ:`G`,ǧ:`g`,Ȟ:`H`,ȟ:`h`,J̌:`J`,ǰ:`j`,Ǩ:`K`,ǩ:`k`,M̌:`M`,m̌:`m`,P̌:`P`,p̌:`p`,Q̌:`Q`,q̌:`q`,Ř̩:`R`,ř̩:`r`,Ṧ:`S`,ṧ:`s`,V̌:`V`,v̌:`v`,W̌:`W`,w̌:`w`,X̌:`X`,x̌:`x`,Y̌:`Y`,y̌:`y`,A̧:`A`,a̧:`a`,B̧:`B`,b̧:`b`,Ḑ:`D`,ḑ:`d`,Ȩ:`E`,ȩ:`e`,Ɛ̧:`E`,ɛ̧:`e`,Ḩ:`H`,ḩ:`h`,I̧:`I`,i̧:`i`,Ɨ̧:`I`,ɨ̧:`i`,M̧:`M`,m̧:`m`,O̧:`O`,o̧:`o`,Q̧:`Q`,q̧:`q`,U̧:`U`,u̧:`u`,X̧:`X`,x̧:`x`,Z̧:`Z`,z̧:`z`,й:`и`,Й:`И`,ё:`е`,Ё:`Е`},r=Object.keys(n).join(`|`),i=new RegExp(r,`g`),a=new RegExp(r,``);function o(e){return n[e]}var s=function(e){return e.replace(i,o)},c=function(e){return!!e.match(a)};t.exports=s,t.exports.has=c,t.exports.remove=s}))()),im={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},am=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function om(e,t,n={}){let{keys:r,threshold:i=im.MATCHES,baseSort:a=am,sorter:o=e=>e.sort((e,t)=>fm(e,t,a))}=n;return o(e.reduce(s,[])).map(({item:e})=>e);function s(e,a,o){let s=sm(a,r,t,n),{rank:c,keyThreshold:l=i}=s;return c>=l&&e.push({...s,item:a,index:o}),e}}om.rankings=im;function sm(e,t,n,r){if(!t){let t=e;return{rankedValue:t,rank:lm(t,n,r),keyIndex:-1,keyThreshold:r.threshold}}return gm(e,t).reduce(({rank:e,rankedValue:t,keyIndex:i,keyThreshold:a},{itemValue:o,attributes:s},c)=>{let l=lm(o,n,r),u=t,{minRanking:d,maxRanking:f,threshold:p}=s;return l=im.MATCHES?l=d:l>f&&(l=f),l>e&&(e=l,i=c,a=p,u=o),{rankedValue:u,rank:e,keyIndex:i,keyThreshold:a}},{rankedValue:e,rank:im.NO_MATCH,keyIndex:-1,keyThreshold:r.threshold})}function*cm(e,t){let n=-1;for(;(n=e.indexOf(t,n+1))>-1;)yield n;return-1}function lm(e,t,n){if(e=pm(e,n),t=pm(t,n),t.length>e.length)return im.NO_MATCH;if(e===t)return im.CASE_SENSITIVE_EQUAL;e=e.toLowerCase(),t=t.toLowerCase();let r=cm(e,t),i=r.next(),a=i.value;if(e.length===t.length&&a===0)return im.EQUAL;if(a===0)return im.STARTS_WITH;let o=i;for(;!o.done;){if(o.value>0&&e[o.value-1]===` `)return im.WORD_STARTS_WITH;o=r.next()}return a>0?im.CONTAINS:t.length===1?im.NO_MATCH:um(e).includes(t)?im.ACRONYM:dm(e,t)}function um(e){let t=``,n=` `;for(let r=0;r-1))return im.NO_MATCH}return a(r-o)}function fm(e,t,n){let{rank:r,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return r===a?i===o?n(e,t):ia?-1:1}function pm(e,{keepDiacritics:t}){return e=`${e}`,t||(e=(0,rm.default)(e)),e}function mm(e,t){typeof t==`object`&&(t=t.key);let n;if(typeof t==`function`)n=t(e);else if(e==null)n=null;else if(Object.hasOwnProperty.call(e,t))n=e[t];else if(t.includes(`.`))return hm(t,e);else n=null;return n==null?[]:Array.isArray(n)?n:[String(n)]}function hm(e,t){let n=e.split(`.`),r=[t];for(let e=0,t=n.length;e{var n=200,r=`Expected a function`,i=`__lodash_hash_undefined__`,a=1,o=2,s=1/0,c=9007199254740991,l=`[object Arguments]`,u=`[object Array]`,d=`[object Boolean]`,f=`[object Date]`,p=`[object Error]`,m=`[object Function]`,h=`[object GeneratorFunction]`,g=`[object Map]`,_=`[object Number]`,v=`[object Object]`,y=`[object Promise]`,b=`[object RegExp]`,x=`[object Set]`,S=`[object String]`,C=`[object Symbol]`,w=`[object WeakMap]`,T=`[object ArrayBuffer]`,E=`[object DataView]`,D=`[object Float32Array]`,O=`[object Float64Array]`,k=`[object Int8Array]`,A=`[object Int16Array]`,j=`[object Int32Array]`,M=`[object Uint8Array]`,ee=`[object Uint8ClampedArray]`,te=`[object Uint16Array]`,N=`[object Uint32Array]`,P=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ne=/^\w*$/,re=/^\./,ie=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,F=/[\\^$.*+?()[\]{}|]/g,I=/\\(\\)?/g,L=/^\[object .+?Constructor\]$/,ae=/^(?:0|[1-9]\d*)$/,R={};R[D]=R[O]=R[k]=R[A]=R[j]=R[M]=R[ee]=R[te]=R[N]=!0,R[l]=R[u]=R[T]=R[d]=R[E]=R[f]=R[p]=R[m]=R[g]=R[_]=R[v]=R[b]=R[x]=R[S]=R[w]=!1;var oe=typeof global==`object`&&global&&global.Object===Object&&global,se=typeof self==`object`&&self&&self.Object===Object&&self,ce=oe||se||Function(`return this`)(),le=typeof e==`object`&&e&&!e.nodeType&&e,ue=le&&typeof t==`object`&&t&&!t.nodeType&&t,de=ue&&ue.exports===le&&oe.process,fe=function(){try{return de&&de.binding(`util`)}catch{}}(),pe=fe&&fe.isTypedArray;function me(e,t){for(var n=-1,r=e?e.length:0,i=Array(r);++n-1}function lt(e,t){var n=this.__data__,r=Et(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}it.prototype.clear=at,it.prototype.delete=ot,it.prototype.get=st,it.prototype.has=ct,it.prototype.set=lt;function ut(e){var t=-1,n=e?e.length:0;for(this.clear();++tt||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function Jt(e,t){return function(n,r){if(n==null)return n;if(!bn(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++al))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var f=-1,p=!0,m=i&a?new gt:void 0;for(s.set(e,t),s.set(t,e);++f-1&&e%1==0&&e-1&&e%1==0&&e<=c}function wn(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function V(e){return!!e&&typeof e==`object`}function Tn(e){return typeof e==`symbol`||V(e)&&Me.call(e)==C}var En=pe?ye(pe):Lt;function Dn(e){return e==null?``:B(e)}function On(e,t,n){var r=e==null?void 0:At(e,t);return r===void 0?n:r}function kn(e,t){return e!=null&&rn(e,t,Mt)}function An(e){return bn(e)?Tt(e):zt(e)}function jn(e){return e}function Mn(e){return on(e)?ge(pn(e)):Wt(e)}t.exports=hn}))(),1),Sm={InputWrapper:`_InputWrapper_11g9i_1`,Shortcut:`_Shortcut_11g9i_9`,Input:`_Input_11g9i_1`,SelectedValue:`_SelectedValue_11g9i_52`,SelectedName:`_SelectedName_11g9i_67`,ItemType:`_ItemType_11g9i_79`,Popover:`_Popover_11g9i_83`,List:`_List_11g9i_95`,Group:`_Group_11g9i_99`,GroupLabel:`_GroupLabel_11g9i_107`,Item:`_Item_11g9i_79`,ItemHeader:`_ItemHeader_11g9i_147`,ItemName:`_ItemName_11g9i_153`,ItemTypes:`_ItemTypes_11g9i_159`,ItemMissionName:`_ItemMissionName_11g9i_178`,NoResults:`_NoResults_11g9i_183`,Backdrop:`_Backdrop_11g9i_190`,CloseButton:`_CloseButton_11g9i_200`},Cm=new Set([`SkiFree`,`SkiFree_Daily`,`SkiFree_Randomizer`]),wm={"missions.vl2":`Official`,"TR2final105-client.vl2":`Team Rabbit 2`,"z_mappacks/CTF/Classic_maps_v1.vl2":`Classic`,"z_mappacks/CTF/DynamixFinalPack.vl2":`Official`,"z_mappacks/CTF/KryMapPack_b3EDIT.vl2":`KryMapPack`,"z_mappacks/CTF/S5maps.vl2":`S5`,"z_mappacks/CTF/S8maps.vl2":`S8`,"z_mappacks/CTF/TWL-MapPack.vl2":`TWL`,"z_mappacks/CTF/TWL-MapPackEDIT.vl2":`TWL`,"z_mappacks/CTF/TWL2-MapPack.vl2":`TWL2`,"z_mappacks/CTF/TWL2-MapPackEDIT.vl2":`TWL2`,"z_mappacks/TWL_T2arenaOfficialMaps.vl2":`Arena`,"z_mappacks/xPack2.vl2":`xPack2`,"z_mappacks/z_DMP2-V0.6.vl2":`DMP2 (Discord Map Pack)`,"z_mappacks/zDMP-4.7.3DX.vl2":`DMP (Discord Map Pack)`,"z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2":`DMP (Discord Map Pack)`},Tm={"z_mappacks/DM":`DM`,"z_mappacks/LCTF":`LCTF`,"z_mappacks/Lak":`LakRabbit`},Em=e=>{let t=e.match(/^(.*)(\/[^/]+)$/);return t?t[1]:``},Dm=T().filter(e=>!Cm.has(e)).map(e=>{let t=w(e),[n]=E(t.resourcePath),r=Em(n),i=wm[n]??Tm[r]??null;return{resourcePath:t.resourcePath,missionName:e,displayName:t.displayName,sourcePath:n,groupName:i,missionTypes:t.missionTypes}}),Om=new Map(Dm.map(e=>[e.missionName,e]));function km(e){let t=new Map;for(let n of e){let e=t.get(n.groupName)??[];e.push(n),t.set(n.groupName,e)}return t.forEach((e,n)=>{t.set(n,(0,xm.default)(e,[e=>(e.displayName||e.missionName).toLowerCase()],[`asc`]))}),(0,xm.default)(Array.from(t.entries()),[([e])=>e===`Official`?0:e==null?2:1,([e])=>e?e.toLowerCase():``],[`asc`,`asc`])}var Am=km(Dm),jm=typeof navigator<`u`&&/Mac|iPhone|iPad|iPod/.test(navigator.platform);function Mm(e){let t=(0,Fe.c)(12),{mission:n}=e,r=n.displayName||n.missionName,i;t[0]===r?i=t[1]:(i=(0,B.jsx)(`span`,{className:Sm.ItemName,children:r}),t[0]=r,t[1]=i);let a;t[2]===n.missionTypes?a=t[3]:(a=n.missionTypes.length>0&&(0,B.jsx)(`span`,{className:Sm.ItemTypes,children:n.missionTypes.map(Nm)}),t[2]=n.missionTypes,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,B.jsxs)(`span`,{className:Sm.ItemHeader,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let s;t[7]===n.missionName?s=t[8]:(s=(0,B.jsx)(`span`,{className:Sm.ItemMissionName,children:n.missionName}),t[7]=n.missionName,t[8]=s);let c;return t[9]!==o||t[10]!==s?(c=(0,B.jsxs)(B.Fragment,{children:[o,s]}),t[9]=o,t[10]=s,t[11]=c):c=t[11],c}function Nm(e){return(0,B.jsx)(`span`,{className:Sm.ItemType,"data-mission-type":e,children:e},e)}function Pm(e){let t=(0,Fe.c)(60),{value:n,missionType:r,onChange:i,disabled:a,autoFocus:o,onCancel:s}=e,[c,l]=(0,z.useState)(``),u=(0,z.useRef)(null),d=(0,z.useRef)(r),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{(0,z.startTransition)(()=>l(e))},t[0]=f):f=t[0];let p=tm({resetValueOnHide:!0,selectedValue:n,setSelectedValue:e=>{if(e){let t=d.current,n=w(e).missionTypes;(!t||!n.includes(t))&&(t=n[0]),i({missionName:e,missionType:t}),u.current?.blur()}},setValue:f}),m=Oc(p,`open`),h,g;t[1]!==o||t[2]!==p?(h=()=>{o&&(u.current?.focus(),p.show())},g=[o,p],t[1]=o,t[2]=p,t[3]=h,t[4]=g):(h=t[3],g=t[4]),(0,z.useEffect)(h,g);let _,v;t[5]===p?(_=t[6],v=t[7]):(_=()=>{let e=e=>{e.key===`k`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u.current?.focus(),p.show())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},v=[p],t[5]=p,t[6]=_,t[7]=v),(0,z.useEffect)(_,v);let y;t[8]===n?y=t[9]:(y=Om.get(n),t[8]=n,t[9]=y);let b=y,x;bb0:{if(!c){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e={type:`grouped`,groups:Am},t[10]=e):e=t[10],x=e;break bb0}let e;t[11]===c?e=t[12]:(e=om(Dm,c,{keys:[`displayName`,`missionName`,`missionTypes`,`groupName`]}),t[11]=c,t[12]=e);let n=e,r;t[13]===n?r=t[14]:(r={type:`flat`,missions:n},t[13]=n,t[14]=r),x=r}let S=x,C=b?b.displayName||b.missionName:n,T=S.type===`flat`?S.missions.length===0:S.groups.length===0,E=e=>(0,B.jsx)(Vp,{value:e.missionName,className:Sm.Item,focusOnHover:!0,onClick:t=>{if(t.target&&t.target instanceof HTMLElement){let r=t.target.dataset.missionType;r?(d.current=r,e.missionName===n&&i({missionName:e.missionName,missionType:r})):d.current=null}else d.current=null},children:(0,B.jsx)(Mm,{mission:e})},e.missionName),D=nm,O=m?`visible`:`hidden`,k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,B.jsx)(`div`,{className:Sm.Backdrop}),t[15]=k):k=t[15];let A;t[16]===O?A=t[17]:(A=(0,B.jsx)(z.Activity,{mode:O,children:k}),t[16]=O,t[17]=A);let j=b?void 0:`Choose a map…`,M,ee;t[18]===p?(M=t[19],ee=t[20]):(M=()=>{try{document.exitPointerLock()}catch{}p.show()},ee=e=>{e.key===`Escape`&&!p.getState().open&&u.current?.blur()},t[18]=p,t[19]=M,t[20]=ee);let te;t[21]!==o||t[22]!==a||t[23]!==j||t[24]!==M||t[25]!==ee?(te=(0,B.jsx)(Ap,{ref:u,autoSelect:!0,autoFocus:o,disabled:a,placeholder:j,className:Sm.Input,onFocus:M,onKeyDown:ee}),t[21]=o,t[22]=a,t[23]=j,t[24]=M,t[25]=ee,t[26]=te):te=t[26];let N;t[27]!==C||t[28]!==r||t[29]!==b?(N=b&&(0,B.jsxs)(`div`,{className:Sm.SelectedValue,children:[(0,B.jsx)(`span`,{className:Sm.SelectedName,children:C}),r&&(0,B.jsx)(`span`,{className:Sm.ItemType,"data-mission-type":r,children:r})]}),t[27]=C,t[28]=r,t[29]=b,t[30]=N):N=t[30];let P;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,B.jsx)(`kbd`,{className:Sm.Shortcut,children:jm?`⌘K`:`^K`}),t[31]=P):P=t[31];let ne;t[32]!==te||t[33]!==N?(ne=(0,B.jsxs)(`div`,{className:Sm.InputWrapper,children:[te,N,P]}),t[32]=te,t[33]=N,t[34]=ne):ne=t[34];let re=Jp,ie=Sm,F=Wp,I=Sm,L=S.type===`flat`?S.missions.map(E):S.groups.map(e=>{let[t,n]=e;return t?(0,B.jsxs)(Np,{className:Sm.Group,children:[(0,B.jsx)(Ip,{className:Sm.GroupLabel,children:t}),n.map(E)]},t):(0,B.jsx)(z.Fragment,{children:n.map(E)},`ungrouped`)}),ae;t[35]===T?ae=t[36]:(ae=T&&(0,B.jsx)(`div`,{className:Sm.NoResults,children:`No missions found`}),t[35]=T,t[36]=ae);let R;t[37]!==F||t[38]!==I.List||t[39]!==L||t[40]!==ae?(R=(0,B.jsxs)(F,{className:I.List,children:[L,ae]}),t[37]=F,t[38]=I.List,t[39]=L,t[40]=ae,t[41]=R):R=t[41];let oe;t[42]!==re||t[43]!==ie.Popover||t[44]!==R?(oe=(0,B.jsx)(re,{gutter:4,fitViewport:!0,autoFocusOnHide:!1,className:ie.Popover,children:R}),t[42]=re,t[43]=ie.Popover,t[44]=R,t[45]=oe):oe=t[45];let se;t[46]!==p||t[47]!==s?(se=()=>{p.hide(),s?.()},t[46]=p,t[47]=s,t[48]=se):se=t[48];let ce;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,B.jsx)(bm,{}),t[49]=ce):ce=t[49];let le;t[50]!==m||t[51]!==se?(le=(0,B.jsx)(`button`,{type:`button`,className:Sm.CloseButton,"data-open":m,onClick:se,children:ce}),t[50]=m,t[51]=se,t[52]=le):le=t[52];let ue;return t[53]!==D||t[54]!==p||t[55]!==A||t[56]!==ne||t[57]!==oe||t[58]!==le?(ue=(0,B.jsxs)(D,{store:p,children:[A,ne,oe,le]}),t[53]=D,t[54]=p,t[55]=A,t[56]=ne,t[57]=oe,t[58]=le,t[59]=ue):ue=t[59],ue}function Fm(e){return S({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`m12 6-6 8h12zM6 16h12v2H6z`},child:[]}]})(e)}var Im={Header:`_Header_1v31r_1`,MissionInfo:`_MissionInfo_1v31r_9`,MissionName:`_MissionName_1v31r_21 _SelectedName_11g9i_67`,MissionType:`_MissionType_1v31r_25 _ItemType_11g9i_79`,MissionTypeDisplayName:`_MissionTypeDisplayName_1v31r_30`,Metadata:`_Metadata_1v31r_35`,Attribution:`_Attribution_1v31r_46`,ServerInfo:`_ServerInfo_1v31r_47`,PlayerName:`_PlayerName_1v31r_51`,RecordingDate:`_RecordingDate_1v31r_52`,ServerName:`_ServerName_1v31r_53`,ActionButton:`_ActionButton_1v31r_57 _IconButton_4wify_23`,EjectIcon:`_EjectIcon_1v31r_74`,Error:`_Error_1v31r_79`,Pulsing:`_Pulsing_1v31r_93`,blink:`_blink_1v31r_1`,ConnectionPing:`_ConnectionPing_1v31r_97`,PingDot:`_PingDot_1v31r_107 _Pulsing_1v31r_93`};function Lm(){let e=(0,Fe.c)(28),t=Rn(),n=Kn(),r=Hn(),i=Wn(),a=Jn(),o=Xn(),s=Qn(),[c,l]=s?s.split(` `):[null,null],u=t===`live`,d=or(),f=rr(Bm),p=rr(ir),m=zm,h=Rm,g=Im,_;e[0]!==n||e[1]!==r||e[2]!==i?(_=n&&r?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{className:Im.MissionName,children:n}),r&&(0,B.jsxs)(B.Fragment,{children:[` `,(0,B.jsx)(`span`,{className:Im.MissionType,"data-mission-type":r,children:i===`LCTF`?`LCTF`:r})]})]}):null,e[0]=n,e[1]=r,e[2]=i,e[3]=_):_=e[3];let v;e[4]===_?v=e[5]:(v=(0,B.jsx)(`div`,{className:Im.MissionInfo,children:_}),e[4]=_,e[5]=v);let y;e[6]!==f||e[7]!==p?(y=f&&p!=null?(0,B.jsxs)(`span`,{className:Im.ConnectionPing,"data-quality":p<150?`good`:p<300?`fine`:`poor`,children:[(0,B.jsx)(`span`,{className:Im.PingDot}),` `,D(p)]}):null,e[6]=f,e[7]=p,e[8]=y):y=e[8];let b=Im,x=u?f?o?(0,B.jsxs)(`div`,{className:Im.Attribution,children:[`Connected as`,` `,(0,B.jsx)(`span`,{className:Im.PlayerName,children:o})]}):null:(0,B.jsx)(`div`,{className:Im.Error,children:`Disconnected`}):o&&s?(0,B.jsxs)(`div`,{className:Im.Attribution,children:[`Recorded by `,(0,B.jsx)(`span`,{className:Im.PlayerName,children:o}),` `,`on`,` `,(0,B.jsx)(`span`,{className:Im.RecordingDate,children:c.replace(/-/g,` `)}),` `,`at `,(0,B.jsx)(`span`,{className:Im.RecordingDate,children:l})]}):null,S;e[9]===a?S=e[10]:(S=a?(0,B.jsxs)(`div`,{className:Im.ServerInfo,children:[`Server: `,(0,B.jsx)(`span`,{className:Im.ServerName,children:a})]}):null,e[9]=a,e[10]=S);let C;e[11]!==b.Metadata||e[12]!==x||e[13]!==S?(C=(0,B.jsxs)(`div`,{className:b.Metadata,children:[x,S]}),e[11]=b.Metadata,e[12]=x,e[13]=S,e[14]=C):C=e[14];let w;e[15]!==t||e[16]!==h||e[17]!==m||e[18]!==u||e[19]!==f||e[20]!==d?(w=t===`demo`?(0,B.jsx)(`button`,{type:`button`,className:Im.ActionButton,title:`Unload demo`,"aria-label":`Unload demo`,onClick:m,disabled:!d,children:(0,B.jsx)(Fm,{className:Im.EjectIcon})}):u?(0,B.jsx)(`button`,{type:`button`,className:Im.ActionButton,title:`Disconnect`,"aria-label":`Disconnect`,onClick:h,disabled:!f,children:(0,B.jsx)(cn,{})}):null,e[15]=t,e[16]=h,e[17]=m,e[18]=u,e[19]=f,e[20]=d,e[21]=w):w=e[21];let T;return e[22]!==g.Header||e[23]!==v||e[24]!==y||e[25]!==C||e[26]!==w?(T=(0,B.jsxs)(`div`,{className:g.Header,children:[v,y,C,w]}),e[22]=g.Header,e[23]=v,e[24]=y,e[25]=C,e[26]=w,e[27]=T):T=e[27],T}function Rm(){nr.getState().disconnectServer(),Oe.getState().setRecording(null)}function zm(){Oe.getState().setRecording(null)}function Bm(e){return e.gameStatus===`connected`||e.gameStatus===`authenticating`}function Vm(e){let t=(0,Fe.c)(5),{onChangeMission:n}=e,{setRecording:r}=gr(),i=(0,z.useEffectEvent)(n),a;t[0]!==i||t[1]!==r?(a=()=>(window.setMissionName=e=>{let t=w(e).missionTypes;i({missionName:e,missionType:t[0]})},window.getMissionList=T,window.getMissionInfo=w,window.loadDemoRecording=r,Hm),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=[r],t[3]=r,t[4]=o),(0,z.useEffect)(a,o)}function Hm(){delete window.setMissionName,delete window.getMissionList,delete window.getMissionInfo,delete window.loadDemoRecording}var Um=e=>e;function Wm(e,t=Um){let n=z.useSyncExternalStore(e.subscribe,z.useCallback(()=>t(e.getState()),[e,t]),z.useCallback(()=>t(e.getInitialState()),[e,t]));return z.useDebugValue(n),n}var Gm=e=>{let t=j(e),n=e=>Wm(t,e);return Object.assign(n,t),n},Km=(e=>e?Gm(e):Gm),qm=z.createContext(null);function Jm({map:e,children:t,onChange:n,domElement:r}){let i=e.map(e=>e.name+e.keys).join(`-`),a=z.useMemo(()=>Km(ke(()=>e.reduce((e,t)=>({...e,[t.name]:!1}),{}))),[i]),o=z.useMemo(()=>[a.subscribe,a.getState,a],[i]),s=a.setState;return z.useEffect(()=>{let t=e.map(({name:e,keys:t,up:r})=>({keys:t,up:r,fn:t=>{s({[e]:t}),n&&n(e,t,o[1]())}})).reduce((e,{keys:t,fn:n,up:r=!0})=>(t.forEach(t=>e[t]={fn:n,pressed:!1,up:r}),e),{}),i=({key:e,code:n})=>{let r=t[e]||t[n];if(!r)return;let{fn:i,pressed:a,up:o}=r;r.pressed=!0,(o||!a)&&i(!0)},a=({key:e,code:n})=>{let r=t[e]||t[n];if(!r)return;let{fn:i,up:a}=r;r.pressed=!1,a&&i(!1)},c=r||window;return c.addEventListener(`keydown`,i,{passive:!0}),c.addEventListener(`keyup`,a,{passive:!0}),()=>{c.removeEventListener(`keydown`,i),c.removeEventListener(`keyup`,a)}},[r,i]),z.createElement(qm.Provider,{value:o,children:t})}function Ym(e){let[t,n,r]=z.useContext(qm);return e?r(e):[t,n]}var Xm=Object.defineProperty,Zm=(e,t,n)=>t in e?Xm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qm=(e,t,n)=>(Zm(e,typeof t==`symbol`?t:t+``,n),n),$m=class{constructor(){Qm(this,`_listeners`)}addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;let n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;let n=this._listeners[e];if(n!==void 0){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}dispatchEvent(e){if(this._listeners===void 0)return;let t=this._listeners[e.type];if(t!==void 0){e.target=this;let n=t.slice(0);for(let t=0,r=n.length;tt in e?eh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nh=(e,t,n)=>(th(e,typeof t==`symbol`?t:t+``,n),n),rh=new Se(0,0,0,`YXZ`),ih=new we,ah={type:`change`},oh={type:`lock`},sh={type:`unlock`},ch=.002,lh=Math.PI/2,uh=class extends $m{constructor(e,t){super(),nh(this,`camera`),nh(this,`domElement`),nh(this,`isLocked`),nh(this,`minPolarAngle`),nh(this,`maxPolarAngle`),nh(this,`pointerSpeed`),nh(this,`onMouseMove`,e=>{!this.domElement||this.isLocked===!1||(rh.setFromQuaternion(this.camera.quaternion),rh.y-=e.movementX*ch*this.pointerSpeed,rh.x-=e.movementY*ch*this.pointerSpeed,rh.x=Math.max(lh-this.maxPolarAngle,Math.min(lh-this.minPolarAngle,rh.x)),this.camera.quaternion.setFromEuler(rh),this.dispatchEvent(ah))}),nh(this,`onPointerlockChange`,()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent(oh),this.isLocked=!0):(this.dispatchEvent(sh),this.isLocked=!1))}),nh(this,`onPointerlockError`,()=>{console.error(`THREE.PointerLockControls: Unable to use Pointer Lock API`)}),nh(this,`connect`,e=>{this.domElement=e||this.domElement,this.domElement&&(this.domElement.ownerDocument.addEventListener(`mousemove`,this.onMouseMove),this.domElement.ownerDocument.addEventListener(`pointerlockchange`,this.onPointerlockChange),this.domElement.ownerDocument.addEventListener(`pointerlockerror`,this.onPointerlockError))}),nh(this,`disconnect`,()=>{this.domElement&&(this.domElement.ownerDocument.removeEventListener(`mousemove`,this.onMouseMove),this.domElement.ownerDocument.removeEventListener(`pointerlockchange`,this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener(`pointerlockerror`,this.onPointerlockError))}),nh(this,`dispose`,()=>{this.disconnect()}),nh(this,`getObject`,()=>this.camera),nh(this,`direction`,new we(0,0,-1)),nh(this,`getDirection`,e=>e.copy(this.direction).applyQuaternion(this.camera.quaternion)),nh(this,`moveForward`,e=>{ih.setFromMatrixColumn(this.camera.matrix,0),ih.crossVectors(this.camera.up,ih),this.camera.position.addScaledVector(ih,e)}),nh(this,`moveRight`,e=>{ih.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(ih,e)}),nh(this,`lock`,()=>{this.domElement&&this.domElement.requestPointerLock()}),nh(this,`unlock`,()=>{this.domElement&&this.domElement.ownerDocument.exitPointerLock()}),this.camera=e,this.domElement=t,this.isLocked=!1,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.pointerSpeed=1,t&&this.connect(t)}},dh=(0,z.createContext)(null);function fh(){let e=(0,z.useContext)(dh);if(!e)throw Error(`No JoystickContext found. Did you forget to add a ?`);return e}function ph(e){let t=(0,Fe.c)(7),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={angle:0,force:0},t[0]=r):r=t[0];let i=(0,z.useRef)(r),a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a={angle:0,force:0},t[1]=a):a=t[1];let o=(0,z.useRef)(a),s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=e=>{let{angle:t,force:n}=e;t!=null&&(i.current.angle=t),n!=null&&(i.current.force=n)},t[2]=s):s=t[2];let c=s,l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>{let{angle:t,force:n}=e;t!=null&&(o.current.angle=t),n!=null&&(o.current.force=n)},t[3]=l):l=t[3];let u=l,d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d={moveState:i,lookState:o,setMoveState:c,setLookState:u},t[4]=d):d=t[4];let f=d,p;return t[5]===n?p=t[6]:(p=(0,B.jsx)(dh,{value:f,children:n}),t[5]=n,t[6]=p),p}var mh=(0,z.createContext)(null);function hh(){let e=(0,z.useContext)(mh);if(!e)throw Error(`useCameras must be used within CamerasProvider`);return e}function gh({children:e}){let t=o(e=>e.camera),[n,r]=(0,z.useState)(-1),[i,a]=(0,z.useState)({}),[s,c]=(0,z.useState)(()=>({initialized:!1,position:null,quarternion:null})),l=(0,z.useCallback)(e=>{a(t=>({...t,[e.id]:e}))},[]),u=(0,z.useCallback)(e=>{a(t=>{let{[e.id]:n,...r}=t;return r})},[]),d=Object.keys(i).length,f=(0,z.useCallback)(e=>{if(e>=0&&e{f(d?(n+1)%d:-1)},[d,n,f]);(0,z.useEffect)(()=>{let e=()=>{let e=window.location.hash;if(e.startsWith(`#c`)){let[t,n]=e.slice(2).split(`~`),r=t.split(`,`).map(e=>parseFloat(e)),i=n.split(`,`).map(e=>parseFloat(e));c({initialized:!0,position:new we(...r),quarternion:new Ce(...i)})}else c({initialized:!0,position:null,quarternion:null})};return window.addEventListener(`hashchange`,e),e(),()=>{window.removeEventListener(`hashchange`,e)}},[]),(0,z.useEffect)(()=>{s.initialized&&s.position&&(t.position.copy(s.position),s.quarternion&&t.quaternion.copy(s.quarternion))},[t,s]),(0,z.useEffect)(()=>{!s.initialized||s.position||d>0&&n===-1&&f(0)},[d,f,n,s]);let m=(0,z.useMemo)(()=>({registerCamera:l,unregisterCamera:u,nextCamera:p,setCameraIndex:f,cameraCount:d}),[l,u,p,f,d]);return d===0&&n!==-1&&r(-1),(0,B.jsx)(mh.Provider,{value:m,children:e})}var _h=(0,z.createContext)(null);function vh(){let e=(0,z.useContext)(_h);if(!e)throw Error(`useInputContext must be used within an InputProvider`);return e}function yh(){return vh().onInput}var bh={forward:`forward`,backward:`backward`,left:`left`,right:`right`,up:`up`,down:`down`,lookUp:`lookUp`,lookDown:`lookDown`,lookLeft:`lookLeft`,lookRight:`lookRight`,camera1:`camera1`,camera2:`camera2`,camera3:`camera3`,camera4:`camera4`,camera5:`camera5`,camera6:`camera6`,camera7:`camera7`,camera8:`camera8`,camera9:`camera9`},xh=[{name:bh.forward,keys:[`KeyW`]},{name:bh.backward,keys:[`KeyS`]},{name:bh.left,keys:[`KeyA`]},{name:bh.right,keys:[`KeyD`]},{name:bh.up,keys:[`Space`]},{name:bh.down,keys:[`ShiftLeft`,`ShiftRight`]},{name:bh.lookUp,keys:[`ArrowUp`]},{name:bh.lookDown,keys:[`ArrowDown`]},{name:bh.lookLeft,keys:[`ArrowLeft`]},{name:bh.lookRight,keys:[`ArrowRight`]},{name:bh.camera1,keys:[`Digit1`]},{name:bh.camera2,keys:[`Digit2`]},{name:bh.camera3,keys:[`Digit3`]},{name:bh.camera4,keys:[`Digit4`]},{name:bh.camera5,keys:[`Digit5`]},{name:bh.camera6,keys:[`Digit6`]},{name:bh.camera7,keys:[`Digit7`]},{name:bh.camera8,keys:[`Digit8`]},{name:bh.camera9,keys:[`Digit9`]}],Sh=new Set([`KeyW`,`KeyA`,`KeyS`,`KeyD`,`Space`,`ShiftLeft`,`ShiftRight`,`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`]),Ch=2,wh=11,Th=3,Eh=.002;function Dh(e){let t=(e-b)/(1-b);return(Math.round(t*15)+1)/16}function Oh(){let e=(0,Fe.c)(53),t=g(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0],(0,z.useEffect)(Nh,n);let{speedMultiplier:r,setSpeedMultiplier:i,mouseSensitivity:s,invertScroll:c,invertDrag:l}=v(),{onInput:u,mode:d}=vh(),[f,p]=Ym(),m=o(Mh),h=o(jh),{nextCamera:_,setCameraIndex:y,cameraCount:x}=hh(),S=(0,z.useRef)(null),C;e[1]===c?C=e[2]:(C=()=>c,e[1]=c,e[2]=C);let w=(0,z.useEffectEvent)(C),T;e[3]===l?T=e[4]:(T=()=>l,e[3]=l,e[4]=T);let E=(0,z.useEffectEvent)(T),D;e[5]===d?D=e[6]:(D=()=>d,e[5]=d,e[6]=D);let O=(0,z.useEffectEvent)(D),k;e[7]===s?k=e[8]:(k=()=>s,e[7]=s,e[8]=k);let A=(0,z.useEffectEvent)(k),j;e[9]===t?j=e[10]:(j=()=>t,e[9]=t,e[10]=j);let M=(0,z.useEffectEvent)(j),ee=(0,z.useRef)(0),te=(0,z.useRef)(0),N=(0,z.useRef)(!1),P=(0,z.useRef)(!1),ne,re;e[11]!==m||e[12]!==h.domElement?(ne=()=>{let e=new uh(m,h.domElement);return S.current=e,()=>{e.dispose()}},re=[m,h.domElement],e[11]=m,e[12]=h.domElement,e[13]=ne,e[14]=re):(ne=e[13],re=e[14]),(0,z.useEffect)(ne,re);let ie,F;e[15]===t?(ie=e[16],F=e[17]):(ie=()=>{t&&S.current?.isLocked&&S.current.unlock()},F=[t],e[15]=t,e[16]=ie,e[17]=F),(0,z.useEffect)(ie,F);let I,L;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>_n.subscribe(e=>{e.animation&&S.current?.isLocked&&S.current.unlock()}),L=[],e[18]=I,e[19]=L):(I=e[18],L=e[19]),(0,z.useEffect)(I,L);let ae;e[20]!==E||e[21]!==M||e[22]!==O||e[23]!==A||e[24]!==h.domElement||e[25]!==d||e[26]!==_?(ae=()=>{let e=h.domElement,t=!1,n=!1,r=0,i=0,a=a=>{S.current?.isLocked||a.target===e&&(t=!0,n=!1,r=a.clientX,i=a.clientY)},o=e=>{if(S.current?.isLocked){let t=A();ee.current+=e.movementX*t,te.current+=e.movementY*t;return}if(!t||!n&&Math.abs(e.clientX-r){t=!1},c=t=>{let r=S.current;r?.isLocked?d===`follow`?N.current=!0:d===`local`&&_():t.target===e&&!n&&!M()&&!_n.getState().animation&&r?.lock()};return e.addEventListener(`mousedown`,a),document.addEventListener(`mousemove`,o),document.addEventListener(`mouseup`,s),document.addEventListener(`click`,c),()=>{e.removeEventListener(`mousedown`,a),document.removeEventListener(`mousemove`,o),document.removeEventListener(`mouseup`,s),document.removeEventListener(`click`,c)}},e[20]=E,e[21]=M,e[22]=O,e[23]=A,e[24]=h.domElement,e[25]=d,e[26]=_,e[27]=ae):ae=e[27];let R;e[28]!==m||e[29]!==h.domElement||e[30]!==d||e[31]!==_?(R=[m,h.domElement,_,d],e[28]=m,e[29]=h.domElement,e[30]=d,e[31]=_,e[32]=R):R=e[32],(0,z.useEffect)(ae,R);let oe,se;e[33]!==x||e[34]!==y||e[35]!==f?(oe=()=>{let e=[bh.camera1,bh.camera2,bh.camera3,bh.camera4,bh.camera5,bh.camera6,bh.camera7,bh.camera8,bh.camera9];return f(t=>{for(let n=0;n{let e=e=>{e.preventDefault();let t=w()?-1:1,n=(e.deltaY>0?-1:1)*t,r=Math.ceil(Math.log2(Math.abs(e.deltaY)+1)),a=Math.max(Ch,Math.min(wh,r))*n;i(e=>{let t=Math.round(e*100)+a;return Math.max(b,Math.min(1,t/100))})},t=h.domElement;return t.addEventListener(`wheel`,e,{passive:!1}),()=>{t.removeEventListener(`wheel`,e)}},e[38]=w,e[39]=h.domElement,e[40]=i,e[41]=ce):ce=e[41];let le;e[42]!==h.domElement||e[43]!==i?(le=[h.domElement,i],e[42]=h.domElement,e[43]=i,e[44]=le):le=e[44],(0,z.useEffect)(ce,le);let ue;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(ue=[],e[45]=ue):ue=e[45],(0,z.useEffect)(kh,ue);let de,fe;e[46]===d?(de=e[47],fe=e[48]):(de=()=>{if(d===`local`)return;let e=e=>{if(e.code!==`KeyO`||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable||(P.current=!0)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},fe=[d],e[46]=d,e[47]=de,e[48]=fe),(0,z.useEffect)(de,fe);let pe;return e[49]!==p||e[50]!==u||e[51]!==r?(pe=(e,t)=>{if(_n.getState().animation)return;let{forward:n,backward:i,left:a,right:o,up:s,down:c,lookUp:l,lookDown:d,lookLeft:f,lookRight:m}=p(),h=ee.current,g=te.current;ee.current=0,te.current=0,f&&(h-=1*t),m&&(h+=1*t),l&&(g-=1*t),d&&(g+=1*t);let _=0,v=0,y=0;a&&(_=-1),o&&(_+=1),n&&(v=1),i&&--v,s&&(y=1),c&&--y;let b=Dh(r);_=Math.max(-1,Math.min(1,_*b)),v=Math.max(-1,Math.min(1,v*b)),y=Math.max(-1,Math.min(1,y*b));let x=[!1,!1,!1,!1,!1,!1];N.current&&=(x[0]=!0,!1),P.current&&=(x[2]=!0,!1);let S=h!==0||g!==0,C=_!==0||v!==0||y!==0,w=x.some(Boolean);!S&&!C&&!w||u({deltaYaw:h,deltaPitch:g,x:_,y:v,z:y,triggers:x,delta:t})},e[49]=p,e[50]=u,e[51]=r,e[52]=pe):pe=e[52],a(pe),null}function kh(){let e=Ah;return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)}function Ah(e){_n.getState().animation&&(e.code===`Escape`||Sh.has(e.code))&&_n.getState().cancel()}function jh(e){return e.gl}function Mh(e){return e.camera}function Nh(){let e=Ph;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,e,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,e,{capture:!0})}}function Ph(e){(e.metaKey||e.ctrlKey)&&e.key===`k`||e.metaKey&&e.stopImmediatePropagation()}var Fh=(0,z.lazy)(()=>Tr(()=>import(`./TouchHandler-Cn4NqwVM.js`).then(e=>({default:e.TouchHandler})),__vite__mapDeps([7,2,8,9,3,10,11,12,13])));function Ih(e){let t=(0,Fe.c)(9),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0];let i=(0,z.useRef)(r),[a,o]=(0,z.useState)(`local`),s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=e=>{i.current.push(e)},t[1]=s):s=t[1];let c=s,l;t[2]===a?l=t[3]:(l={moveQueue:i,onInput:c,mode:a,setMode:o},t[2]=a,t[3]=l);let u;t[4]===n?u=t[5]:(u=(0,B.jsx)(Jm,{map:xh,children:(0,B.jsx)(ph,{children:n})}),t[4]=n,t[5]=u);let d;return t[6]!==l||t[7]!==u?(d=(0,B.jsx)(_h.Provider,{value:l,children:u}),t[6]=l,t[7]=u,t[8]=d):d=t[8],d}function Lh(){let e=(0,Fe.c)(5),t=g(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,B.jsx)(Oh,{}),e[0]=n):n=e[0];let r;e[1]===t?r=e[2]:(r=t?(0,B.jsx)(z.Suspense,{children:(0,B.jsx)(Fh,{})}):null,e[1]=t,e[2]=r);let i;return e[3]===r?i=e[4]:(i=(0,B.jsxs)(B.Fragment,{children:[n,r]}),e[3]=r,e[4]=i),i}var Rh=(0,z.lazy)(()=>Tr(()=>import(`./TouchJoystick-lIhMSm3I.js`).then(e=>({default:e.TouchJoystick})),__vite__mapDeps([14,2,11,9,12,13,15]))),zh=(0,z.lazy)(()=>Tr(()=>import(`./KeyboardOverlay-KilLZKKK.js`).then(e=>({default:e.KeyboardOverlay})),__vite__mapDeps([16,1,2,3,17,4,9,10,18,5,19])));function Bh(){let e=(0,Fe.c)(7),t=g();if(vn(Vh))return null;let n;e[0]===t?n=e[1]:(n=t?(0,B.jsx)(Rh,{}):null,e[0]=t,e[1]=n);let r;e[2]===t?r=e[3]:(r=t===!1?(0,B.jsx)(zh,{}):null,e[2]=t,e[3]=r);let i;return e[4]!==n||e[5]!==r?(i=(0,B.jsxs)(z.Suspense,{children:[n,r]}),e[4]=n,e[5]=r,e[6]=i):i=e[6],i}function Vh(e){return e.animation!==null}var Hh={LoadingIndicator:`_LoadingIndicator_1gfum_1`,loadingComplete:`_loadingComplete_1gfum_1`,Spinner:`_Spinner_1gfum_19`,spin:`_spin_1gfum_1`,Progress:`_Progress_1gfum_28`,ProgressBar:`_ProgressBar_1gfum_36`,ProgressText:`_ProgressText_1gfum_43`};function Uh(e){let t=(0,Fe.c)(11),{isLoading:n,progress:r}=e,i=!n,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,B.jsx)(`div`,{className:Hh.Spinner}),t[0]=a):a=t[0];let o=`${r*100}%`,s;t[1]===o?s=t[2]:(s=(0,B.jsx)(`div`,{className:Hh.Progress,children:(0,B.jsx)(`div`,{className:Hh.ProgressBar,style:{width:o}})}),t[1]=o,t[2]=s);let c;t[3]===r?c=t[4]:(c=Math.round(r*100),t[3]=r,t[4]=c);let l;t[5]===c?l=t[6]:(l=(0,B.jsxs)(`div`,{className:Hh.ProgressText,children:[c,`%`]}),t[5]=c,t[6]=l);let u;return t[7]!==i||t[8]!==s||t[9]!==l?(u=(0,B.jsxs)(`div`,{className:Hh.LoadingIndicator,"data-complete":i,children:[a,s,l]}),t[7]=i,t[8]=s,t[9]=l,t[10]=u):u=t[10],u}var Wh={Frame:`_Frame_1riak_1`,Toolbar:`_Toolbar_1riak_16`,CancelButton:`_CancelButton_1riak_29`,Sidebar:`_Sidebar_1riak_48`,Content:`_Content_1riak_62`,ThreeView:`_ThreeView_1riak_71`,PlayerBar:`_PlayerBar_1riak_80`,ToggleSidebarButton:`_ToggleSidebarButton_1riak_90`,Backdrop:`_Backdrop_1riak_128`,ExitTourButton:`_ExitTourButton_1riak_189 _ActionButton_1v31r_57 _IconButton_4wify_23`,ButtonLabel:`_ButtonLabel_1riak_197`};function Gh({children:e}){return e}function Kh(e,t){return(0,z.lazy)(()=>t().then(t=>({default:t[e]})))}var qh=Kh(`GameView`,()=>Tr(()=>import(`./GameView-D3reCMOl.js`),__vite__mapDeps([20,2,1,3,17,4,21,22,23,8,9,10,24,11,12,13,18,25,26,27,28,29,30,31,32,33,5,34,35,36]))),Jh=Kh(`DemoPlaybackControls`,()=>Tr(()=>import(`./DemoPlaybackControls-yCGYNQxQ.js`),__vite__mapDeps([37,2,9,10,18,38]))),Yh=Kh(`PlayerHUD`,()=>Tr(()=>import(`./PlayerHUD-HAbQ-tte.js`),__vite__mapDeps([39,2,17,4,9,10,18,29,12,13,40]))),Xh=Kh(`MapInfoDialog`,()=>Tr(()=>import(`./MapInfoDialog-Bg4n8WBg.js`),__vite__mapDeps([41,2,17,4,30,24,9,29,12,13,42]))),Zh=Kh(`ServerBrowser`,()=>Tr(()=>import(`./ServerBrowser-Dp9CuTIh.js`),__vite__mapDeps([43,2,1,3,17,4,11,9,12,13,10,5,44]))),Qh=Kh(`ScoreScreen`,()=>Tr(()=>import(`./ScoreScreen-BQbXUe_V.js`),__vite__mapDeps([45,2,1,3,17,4,9,10,18,5,13,46])));function $h(){let[e,t]=y(),n=Yt(),{clearFogEnabledOverride:r,sidebarOpen:i,setSidebarOpen:a}=c(),{missionName:o,missionType:s}=e,[l,u]=(0,z.useState)(!1),[d,f]=(0,z.useState)(!1),[p,m]=(0,z.useState)(!1),[h,_]=(0,z.useState)(!1),[v,b]=(0,z.useState)(0),[x,S]=(0,z.useState)(!0),C=g(),T=vn(e=>e.animation!==null),E=(0,z.useCallback)(e=>{window.location.hash=``,r(),_(!1),_n.getState().cancel(),nr.getState().disconnectServer(),Oe.getState().setRecording(null),En.getState().endStreaming(),t(e),C&&a(!1)},[r,t,C,a]);Vm({onChangeMission:E});let D=or(),O=Rn(),k=O===`demo`||O===`live`,A=Bn(),j=Hn();(0,z.useEffect)(()=>{if(!(!k||!A))try{let e=w(A);t({missionName:A,missionType:j&&e.missionTypes.includes(j)?j:void 0})}catch{t(null)}},[k,A,j,t]),(0,z.useEffect)(()=>{D&&_(!1)},[D]);let M=rr(e=>e.gameStatus);(0,z.useEffect)(()=>{M===`connected`&&C&&a(!1)},[M,C,a]),(0,z.useEffect)(()=>{D&&C&&a(!1)},[C,D,a]),(0,z.useEffect)(()=>{T&&C&&a(!1)},[C,T,a]);let ee=v,te=ee<1;(0,z.useEffect)(()=>{if(te)S(!0);else{let e=setTimeout(()=>S(!1),500);return()=>clearTimeout(e)}},[te]);let N=(0,z.useCallback)((e,t=0)=>{b(t)},[]),P=(0,z.useRef)(null),ne=(0,z.useRef)(null),re=(0,z.useCallback)(()=>u(!0),[]),ie=(0,z.useCallback)(()=>m(!0),[]),F=(0,z.useCallback)(()=>{f(!0)},[]),I=(0,z.useCallback)(()=>_(!0),[]),L=(0,z.useCallback)(()=>{_(!1)},[]),ae=(0,z.useCallback)(e=>{P.current=e.camera,ne.current=e.invalidate},[]);return(0,B.jsx)(`main`,{className:Wh.Frame,children:(0,B.jsxs)(ar,{children:[(0,B.jsxs)(`header`,{className:Wh.Toolbar,onKeyDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:[(0,B.jsx)(`button`,{type:`button`,className:Wh.ToggleSidebarButton,"data-orientation":`top`,"aria-label":i?`Close sidebar`:`Open sidebar`,title:i?`Close sidebar`:`Open sidebar`,onClick:e=>{a(e=>!e)},children:i?(0,B.jsx)(rn,{}):(0,B.jsx)(nn,{})}),(0,B.jsx)(`button`,{type:`button`,className:Wh.ToggleSidebarButton,"data-orientation":`left`,"aria-label":i?`Close sidebar`:`Open sidebar`,title:i?`Close sidebar`:`Open sidebar`,onClick:e=>{a(e=>!e)},children:i?(0,B.jsx)(on,{}):(0,B.jsx)(an,{})}),(0,B.jsx)(z.Activity,{mode:k&&!h?`visible`:`hidden`,children:(0,B.jsx)(Lm,{})}),(0,B.jsxs)(z.Activity,{mode:!k||h?`visible`:`hidden`,children:[(0,B.jsx)(Pm,{value:h?``:o,missionType:h?``:s??``,onChange:E,autoFocus:h,onCancel:L}),h&&(0,B.jsx)(`button`,{type:`button`,className:Wh.CancelButton,onClick:()=>{_(!1)},children:`Cancel`})]}),T&&(0,B.jsxs)(`button`,{type:`button`,className:Wh.ExitTourButton,onClick:()=>_n.getState().cancel(),children:[(0,B.jsx)(Ta,{}),(0,B.jsx)(`span`,{className:Wh.ButtonLabel,children:`Exit tour`})]})]}),i?(0,B.jsx)(`div`,{className:Wh.Backdrop}):null,(0,B.jsx)(z.Activity,{mode:i?`visible`:`hidden`,children:(0,B.jsx)(`div`,{className:Wh.Sidebar,onKeyDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),"data-open":i,children:(0,B.jsx)(Ma,{missionName:o,missionType:s,choosingMap:h,cameraRef:P,invalidateRef:ne,onOpenMapInfo:re,onOpenScoreScreen:k?ie:void 0,onOpenServerBrowser:n.live?F:void 0,onChooseMap:I,onCancelChoosingMap:L})})}),(0,B.jsx)(Ih,{children:(0,B.jsxs)(`div`,{className:Wh.Content,children:[(0,B.jsx)(`div`,{className:Wh.ThreeView,children:(0,B.jsx)(z.Suspense,{children:(0,B.jsx)(qh,{missionName:o,missionType:s,dpr:l||d||p?.25:void 0,onCreated:ae,onLoadingChange:N})})}),k&&!p?(0,B.jsx)(z.Suspense,{children:(0,B.jsx)(Yh,{})}):null,(0,B.jsx)(Bh,{}),x&&(0,B.jsx)(Uh,{isLoading:te,progress:ee})]})}),(0,B.jsx)(`footer`,{className:Wh.PlayerBar,onKeyDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:D?.source===`demo`?(0,B.jsx)(z.Suspense,{children:(0,B.jsx)(Jh,{})}):null}),l?(0,B.jsx)(Gh,{children:(0,B.jsx)(z.Suspense,{children:(0,B.jsx)(Xh,{onClose:()=>u(!1),missionName:o,missionType:s??``})})}):null,d?(0,B.jsx)(Gh,{children:(0,B.jsx)(z.Suspense,{children:(0,B.jsx)(Zh,{onClose:()=>f(!1)})})}):null,p?(0,B.jsx)(Gh,{children:(0,B.jsx)(z.Suspense,{children:(0,B.jsx)(Qh,{onClose:()=>m(!1)})})}):null]})})}var eg=new Wt;function tg(){let e=(0,Fe.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,B.jsx)(z.Suspense,{children:(0,B.jsx)(We,{children:(0,B.jsx)(Xt,{children:(0,B.jsx)(qt,{client:eg,children:(0,B.jsx)(h,{children:(0,B.jsx)($h,{})})})})})}),e[0]=t):t=e[0],t}(0,Pe.createRoot)(document.getElementById(`root`)).render((0,B.jsx)(z.StrictMode,{children:(0,B.jsx)(tg,{})}));export{Tt as A,yt as B,wn as C,tn as D,ln as E,Xe as F,qe as H,mt as I,tt as L,xt as M,Ye as N,Kt as O,Qe as P,et as R,Ln as S,un as T,Ge as U,$e as V,Ne as W,rr as _,hh as a,Rn as b,ym as c,fr as d,cr as f,nr as g,mr as h,gh as i,St as j,Nt as k,Tr as l,or as m,vh as n,fh as o,gr as p,yh as r,Ym as s,Lh as t,ur as u,En as v,_n as w,In as x,Nn as y,lt as z}; \ No newline at end of file diff --git a/docs/assets/loaders-C_1cX1lR.js b/docs/assets/loaders-BRV0t4WA.js similarity index 100% rename from docs/assets/loaders-C_1cX1lR.js rename to docs/assets/loaders-BRV0t4WA.js diff --git a/docs/assets/nipplejs-l2bgT5Z7.js b/docs/assets/nipplejs-TUj5E3G4.js similarity index 100% rename from docs/assets/nipplejs-l2bgT5Z7.js rename to docs/assets/nipplejs-TUj5E3G4.js diff --git a/docs/assets/preload-helper-BcSNVXZP.js b/docs/assets/preload-helper-BcSNVXZP.js deleted file mode 100644 index 7e10b4d8..00000000 --- a/docs/assets/preload-helper-BcSNVXZP.js +++ /dev/null @@ -1 +0,0 @@ -var e=`modulepreload`,t=function(e){return`/t2-mapper/`+e},n={},r=function(r,i,a){let o=Promise.resolve();if(i&&i.length>0){let r=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}o=l(i.map(i=>{if(i=t(i,a),i in n)return;n[i]=!0;let o=i.endsWith(`.css`),s=o?`[rel="stylesheet"]`:``;if(a)for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.href===i&&(!o||t.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${i}"]${s}`))return;let l=document.createElement(`link`);if(l.rel=o?`stylesheet`:e,o||(l.as=`script`),l.crossOrigin=``,l.href=i,c&&l.setAttribute(`nonce`,c),document.head.appendChild(l),o)return new Promise((e,t)=>{l.addEventListener(`load`,e),l.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${i}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(e=>{for(let t of e||[])t.status===`rejected`&&s(t.reason);return r().catch(s)})};export{r as t}; \ No newline at end of file diff --git a/docs/assets/streamPlaybackStore-CszjeINn.js b/docs/assets/streamPlaybackStore-uClZ1maO.js similarity index 100% rename from docs/assets/streamPlaybackStore-CszjeINn.js rename to docs/assets/streamPlaybackStore-uClZ1maO.js diff --git a/docs/assets/useBaseQuery-CZsAiqUk.js b/docs/assets/useBaseQuery-CXuGTqsm.js similarity index 55% rename from docs/assets/useBaseQuery-CZsAiqUk.js rename to docs/assets/useBaseQuery-CXuGTqsm.js index faf3cd26..7cf8c50a 100644 --- a/docs/assets/useBaseQuery-CZsAiqUk.js +++ b/docs/assets/useBaseQuery-CXuGTqsm.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{A as r,B as i,D as a,F as o,H as s,I as c,L as l,M as u,N as d,O as f,P as p,R as m,V as h,j as g,k as _,z as v}from"./index-B_QKaSWI.js";var y=class extends s{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=r(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof c(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!m(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&C(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||c(this.options.enabled,this.#t)!==c(t.enabled,this.#t)||l(this.options.staleTime,this.#t)!==l(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||c(this.options.enabled,this.#t)!==c(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(p)),t}#g(){this.#b();let e=l(this.options.staleTime,this.#t);if(u||this.#r.isStale||!d(e))return;let t=i(this.#r.dataUpdatedAt,e)+1;this.#d=h.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(u||c(this.options.enabled,this.#t)===!1||!d(this.#p)||this.#p===0)&&(this.#f=h.setInterval(()=>{(this.options.refetchIntervalInBackground||g.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d&&=(h.clearTimeout(this.#d),void 0)}#x(){this.#f&&=(h.clearInterval(this.#f),void 0)}createResult(e,t){let n=this.#t,i=this.options,a=this.#r,s=this.#i,l=this.#a,u=e===n?this.#n:e.state,{state:d}=e,p={...d},m=!1,h;if(t._optimisticResults){let r=this.hasListeners(),a=!r&&x(e,t),o=r&&C(e,n,t,i);(a||o)&&(p={...p,...f(d.data,e.options)}),t._optimisticResults===`isRestoring`&&(p.fetchStatus=`idle`)}let{error:g,errorUpdatedAt:_,status:v}=p;h=p.data;let y=!1;if(t.placeholderData!==void 0&&h===void 0&&v===`pending`){let e;a?.isPlaceholderData&&t.placeholderData===l?.placeholderData?(e=a.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,h=o(a?.data,e,t),m=!0)}if(t.select&&h!==void 0&&!y)if(a&&h===s?.data&&t.select===this.#c)h=this.#l;else try{this.#c=t.select,h=t.select(h),h=o(a?.data,h,t),this.#l=h,this.#s=null}catch(e){this.#s=e}this.#s&&(g=this.#s,h=this.#l,_=Date.now(),v=`error`);let b=p.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=h!==void 0,O={status:v,fetchStatus:p.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:h,dataUpdatedAt:p.dataUpdatedAt,error:g,errorUpdatedAt:_,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:p.dataUpdateCount>0||p.errorUpdateCount>0,isFetchedAfterMount:p.dataUpdateCount>u.dataUpdateCount||p.errorUpdateCount>u.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:p.fetchStatus===`paused`,isPlaceholderData:m,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:c(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,i=O.status===`error`&&!t,a=e=>{i?e.reject(O.error):t&&e.resolve(O.data)},o=()=>{a(this.#o=O.promise=r())},s=this.#o;switch(s.status){case`pending`:e.queryHash===n.queryHash&&a(s);break;case`fulfilled`:(i||O.data!==s.value)&&o();break;case`rejected`:(!i||O.error!==s.reason)&&o();break}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!m(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){_.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return c(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&t.retryOnMount===!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(c(t.enabled,e)!==!1&&l(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||c(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return c(t.enabled,e)!==!1&&e.isStaleByTime(l(t.staleTime,e))}function T(e,t){return!m(e.getCurrentResult(),t)}var E=e(t(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider,n();function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),j=()=>E.useContext(A),M=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?v(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},N=e=>{E.useEffect(()=>{e.clearReset()},[e])},P=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||v(n,[e.error,r])),F=(e,t)=>t.state.data===void 0,I=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},L=(e,t)=>e.isLoading&&e.isFetching&&!t,R=(e,t)=>e?.suspense&&t.isPending,z=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function B(e,t,n){let r=O(),i=j(),o=a(n),s=o.defaultQueryOptions(e);o.getDefaultOptions().queries?._experimental_beforeQuery?.(s);let c=o.getQueryCache().get(s.queryHash);s._optimisticResults=r?`isRestoring`:`optimistic`,I(s),M(s,i,c),N(i);let l=!o.getQueryCache().get(s.queryHash),[d]=E.useState(()=>new t(o,s)),f=d.getOptimisticResult(s),m=!r&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(e=>{let t=m?d.subscribe(_.batchCalls(e)):p;return d.updateResult(),t},[d,m]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),E.useEffect(()=>{d.setOptions(s)},[s,d]),R(s,f))throw z(s,d,i);if(P({result:f,errorResetBoundary:i,throwOnError:s.throwOnError,query:c,suspense:s.suspense}))throw f.error;return o.getDefaultOptions().queries?._experimental_afterQuery?.(s,f),s.experimental_prefetchInRender&&!u&&L(f,r)&&(l?z(s,d,i):c?.promise)?.catch(p).finally(()=>{d.updateResult()}),s.notifyOnChangeProps?f:d.trackResult(f)}export{F as n,y as r,B as t}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{A as r,B as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,U as m,V as h,j as g,k as _,z as v}from"./index-Chmtkuc3.js";var y=class extends m{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=g(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof c(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!v(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&C(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||c(this.options.enabled,this.#t)!==c(t.enabled,this.#t)||p(this.options.staleTime,this.#t)!==p(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||c(this.options.enabled,this.#t)!==c(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(a)),t}#g(){this.#b();let e=p(this.options.staleTime,this.#t);if(u||this.#r.isStale||!f(e))return;let t=h(this.#r.dataUpdatedAt,e)+1;this.#d=o.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(u||c(this.options.enabled,this.#t)===!1||!f(this.#p)||this.#p===0)&&(this.#f=o.setInterval(()=>{(this.options.refetchIntervalInBackground||l.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d&&=(o.clearTimeout(this.#d),void 0)}#x(){this.#f&&=(o.clearInterval(this.#f),void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,l=e===n?this.#n:e.state,{state:u}=e,d={...u},f=!1,p;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&x(e,t),o=i&&C(e,n,t,r);(a||o)&&(d={...d,..._(u.data,e.options)}),t._optimisticResults===`isRestoring`&&(d.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:h,status:v}=d;p=d.data;let y=!1;if(t.placeholderData!==void 0&&p===void 0&&v===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,p=s(i?.data,e,t),f=!0)}if(t.select&&p!==void 0&&!y)if(i&&p===a?.data&&t.select===this.#c)p=this.#l;else try{this.#c=t.select,p=t.select(p),p=s(i?.data,p,t),this.#l=p,this.#s=null}catch(e){this.#s=e}this.#s&&(m=this.#s,p=this.#l,h=Date.now(),v=`error`);let b=d.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=p!==void 0,O={status:v,fetchStatus:d.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:p,dataUpdatedAt:d.dataUpdatedAt,error:m,errorUpdatedAt:h,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:d.fetchStatus===`paused`,isPlaceholderData:f,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:c(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,i=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},a=()=>{i(this.#o=O.promise=g())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||O.data!==o.value)&&a();break;case`rejected`:(!r||O.error!==o.reason)&&a();break}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!v(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){r.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return c(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&t.retryOnMount===!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(c(t.enabled,e)!==!1&&p(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||c(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return c(t.enabled,e)!==!1&&e.isStaleByTime(p(t.staleTime,e))}function T(e,t){return!v(e.getCurrentResult(),t)}var E=e(t(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider,n();function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),j=()=>E.useContext(A),M=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?i(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},N=e=>{E.useEffect(()=>{e.clearReset()},[e])},P=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(a&&e.data===void 0||i(n,[e.error,r])),F=(e,t)=>t.state.data===void 0,I=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},L=(e,t)=>e.isLoading&&e.isFetching&&!t,R=(e,t)=>e?.suspense&&t.isPending,z=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function B(e,t,n){let i=O(),o=j(),s=d(n),c=s.defaultQueryOptions(e);s.getDefaultOptions().queries?._experimental_beforeQuery?.(c);let l=s.getQueryCache().get(c.queryHash);c._optimisticResults=i?`isRestoring`:`optimistic`,I(c),M(c,o,l),N(o);let f=!s.getQueryCache().get(c.queryHash),[p]=E.useState(()=>new t(s,c)),m=p.getOptimisticResult(c),h=!i&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(e=>{let t=h?p.subscribe(r.batchCalls(e)):a;return p.updateResult(),t},[p,h]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),E.useEffect(()=>{p.setOptions(c)},[c,p]),R(c,m))throw z(c,p,o);if(P({result:m,errorResetBoundary:o,throwOnError:c.throwOnError,query:l,suspense:c.suspense}))throw m.error;return s.getDefaultOptions().queries?._experimental_afterQuery?.(c,m),c.experimental_prefetchInRender&&!u&&L(m,i)&&(f?z(c,p,o):l?.promise)?.catch(a).finally(()=>{p.updateResult()}),c.notifyOnChangeProps?m:p.trackResult(m)}export{F as n,y as r,B as t}; \ No newline at end of file diff --git a/docs/assets/useQuery-CwJPnLi6.js b/docs/assets/useQuery-CwJPnLi6.js deleted file mode 100644 index 78650c0d..00000000 --- a/docs/assets/useQuery-CwJPnLi6.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e,t}from"./useBaseQuery-CZsAiqUk.js";function n(n,r){return t(n,e,r)}export{n as t}; \ No newline at end of file diff --git a/docs/assets/useQuery-DTlry7jQ.js b/docs/assets/useQuery-DTlry7jQ.js new file mode 100644 index 00000000..f2cb2e10 --- /dev/null +++ b/docs/assets/useQuery-DTlry7jQ.js @@ -0,0 +1 @@ +import{r as e,t}from"./useBaseQuery-CXuGTqsm.js";function n(n,r){return t(n,e,r)}export{n as t}; \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index a0b6629c..71589071 100644 --- a/docs/index.html +++ b/docs/index.html @@ -19,9 +19,8 @@ - + - diff --git a/src/components/CameraTourConsumer.tsx b/src/components/CameraTourConsumer.tsx index 0ed3f758..645c27e3 100644 --- a/src/components/CameraTourConsumer.tsx +++ b/src/components/CameraTourConsumer.tsx @@ -125,11 +125,23 @@ function buildCurve( const focus = orbitFocus(animation); const entry = orbitPoint(animation, entryAngle, _v.clone()); - // Midpoint: halfway between start and entry, elevated. + const distance = startPos.distanceTo(entry); + + // For short distances, skip the midpoint arc entirely – a direct Catmull-Rom + // between start and end gives a smooth enough transition without flying up. + if (distance < 20) { + return new CatmullRomCurve3( + [startPos.clone(), entry], + false, + "centripetal", + ); + } + + // Midpoint: halfway between start and entry, elevated proportionally. const mid = new Vector3().addVectors(startPos, entry).multiplyScalar(0.5); // Pull midpoint toward the target and elevate. mid.lerp(focus, 0.3); - mid.y += Math.max(20, startPos.distanceTo(entry) * 0.15); + mid.y += distance * 0.15; return new CatmullRomCurve3( [startPos.clone(), mid, entry], diff --git a/src/components/JoinServerButton.tsx b/src/components/JoinServerButton.tsx index a6a03079..d2d32476 100644 --- a/src/components/JoinServerButton.tsx +++ b/src/components/JoinServerButton.tsx @@ -1,4 +1,5 @@ import { BsFillLightningChargeFill } from "react-icons/bs"; +import { cameraTourStore } from "../state/cameraTourStore"; import { useLiveSelector } from "../state/liveConnectionStore"; import styles from "./JoinServerButton.module.css"; @@ -25,6 +26,7 @@ export function JoinServerButton({ aria-label={isLive ? "Connected – click to disconnect" : "Join server"} title={isLive ? "Connected – click to disconnect" : "Join server"} onClick={() => { + cameraTourStore.getState().cancel(); if (isLive) { disconnectServer(); } else { diff --git a/src/components/LoadDemoButton.tsx b/src/components/LoadDemoButton.tsx index 554c2eec..9bc217fa 100644 --- a/src/components/LoadDemoButton.tsx +++ b/src/components/LoadDemoButton.tsx @@ -1,6 +1,7 @@ import { useCallback, useRef } from "react"; import { MdOndemandVideo } from "react-icons/md"; import { createLogger } from "../logger"; +import { cameraTourStore } from "../state/cameraTourStore"; import { demoTimelineStore } from "../state/demoTimelineStore"; import { liveConnectionStore } from "../state/liveConnectionStore"; import { usePlaybackActions, useRecording } from "./RecordingProvider"; @@ -25,6 +26,7 @@ export function LoadDemoButton({ const scanAbortRef = useRef(null); const handleClick = useCallback(() => { + cameraTourStore.getState().cancel(); if (choosingMap && isDemoLoaded) { onCancelChoosingMap?.(); return; diff --git a/src/components/MapInspector.tsx b/src/components/MapInspector.tsx index 054bb5cc..7939f30f 100644 --- a/src/components/MapInspector.tsx +++ b/src/components/MapInspector.tsx @@ -111,6 +111,7 @@ export function MapInspector() { window.location.hash = ""; clearFogEnabledOverride(); setChoosingMap(false); + cameraTourStore.getState().cancel(); // Disconnect from any live server, unload any active recording, and // clear stream state before loading the new mission in map mode. const liveState = liveConnectionStore.getState();