t2-mapper/docs/_next/static/chunks/369-34d0e374bac367b6.js
2025-11-26 06:04:45 -08:00

38 lines
182 KiB
JavaScript

(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[369],{61:(e,t,r)=>{"use strict";r.d(t,{Y:()=>a,z:()=>l});var n=r(2115),i=r(490);let s=e=>{let t=(0,i.y)(e),r=e=>(function(e,t=e=>e){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},o=n.createContext(null);function a({map:e,children:t,onChange:r,domElement:i}){let a=e.map(e=>e.name+e.keys).join("-"),l=n.useMemo(()=>{let t,r;return t=()=>e.reduce((e,t)=>({...e,[t.name]:!1}),{}),(r=(e,r,n)=>{let i=n.subscribe;return n.subscribe=(e,t,r)=>{let s=e;if(t){let i=(null==r?void 0:r.equalityFn)||Object.is,o=e(n.getState());s=r=>{let n=e(r);if(!i(o,n)){let e=o;t(o=n,e)}},(null==r?void 0:r.fireImmediately)&&t(o,o)}return i(s)},t(e,r,n)})?s(r):s},[a]),u=n.useMemo(()=>[l.subscribe,l.getState,l],[a]),c=l.setState;return n.useEffect(()=>{let t=e.map(({name:e,keys:t,up:n})=>({keys:t,up:n,fn:t=>{c({[e]:t}),r&&r(e,t,u[1]())}})).reduce((e,{keys:t,fn:r,up:n=!0})=>(t.forEach(t=>e[t]={fn:r,pressed:!1,up:n}),e),{}),n=({key:e,code:r})=>{let n=t[e]||t[r];if(!n)return;let{fn:i,pressed:s,up:o}=n;n.pressed=!0,(o||!s)&&i(!0)},s=({key:e,code:r})=>{let n=t[e]||t[r];if(!n)return;let{fn:i,up:s}=n;n.pressed=!1,s&&i(!1)},o=i||window;return o.addEventListener("keydown",n,{passive:!0}),o.addEventListener("keyup",s,{passive:!0}),()=>{o.removeEventListener("keydown",n),o.removeEventListener("keyup",s)}},[i,a]),n.createElement(o.Provider,{value:u,children:t})}function l(e){let[t,r,i]=n.useContext(o);return e?i(e):[t,r]}},63:(e,t,r)=>{"use strict";var n=r(7260);r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},99:(e,t,r)=>{"use strict";let n,i,s,o,a;r.d(t,{B:()=>w,C:()=>ee,D:()=>et,E:()=>H,G:()=>ei,a:()=>D,b:()=>G,c:()=>eM,d:()=>eR,e:()=>eu,f:()=>eQ,i:()=>R,j:()=>ew,k:()=>eH,s:()=>X,u:()=>T});var l=r(2115),u=r.t(l,2),c=r(8870),h=r(5339),d=r(7548),f=r(8828),A=r(490);let{useSyncExternalStoreWithSelector:p}=f,B=(e,t)=>{let r=(0,A.y)(e),n=(e,n=t)=>(function(e,t=e=>e,r){let n=p(e.subscribe,e.getState,e.getInitialState,t,r);return l.useDebugValue(n),n})(r,e,n);return Object.assign(n,r),n},m=[];function C(e,t,r=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;let n=e.length;if(t.length!==n)return!1;for(let i=0;i<n;i++)if(!r(e[i],t[i]))return!1;return!0}function y(e,t=null,r=!1,n={}){for(let i of(null===t&&(t=[e]),m))if(C(t,i.keys,i.equal)){if(r)return;if(Object.prototype.hasOwnProperty.call(i,"error"))throw i.error;if(Object.prototype.hasOwnProperty.call(i,"response"))return n.lifespan&&n.lifespan>0&&(i.timeout&&clearTimeout(i.timeout),i.timeout=setTimeout(i.remove,n.lifespan)),i.response;if(!r)throw i.promise}let i={keys:t,equal:n.equal,remove:()=>{let e=m.indexOf(i);-1!==e&&m.splice(e,1)},promise:("object"==typeof e&&"function"==typeof e.then?e:e(...t)).then(e=>{i.response=e,n.lifespan&&n.lifespan>0&&(i.timeout=setTimeout(i.remove,n.lifespan))}).catch(e=>i.error=e)};if(m.push(i),!r)throw i.promise}var v=r(8807),b=r.n(v),g=r(4943),E=r(5155),M=r(4735);function F(e){let t=e.root;for(;t.getState().previousRoot;)t=t.getState().previousRoot;return t}r(5704),u.act;let R=e=>e&&e.hasOwnProperty("current"),I=e=>null!=e&&("string"==typeof e||"number"==typeof e||e.isColor),G=((e,t)=>"undefined"!=typeof window&&((null==(e=window.document)?void 0:e.createElement)||(null==(t=window.navigator)?void 0:t.product)==="ReactNative"))()?l.useLayoutEffect:l.useEffect;function D(e){let t=l.useRef(e);return G(()=>void(t.current=e),[e]),t}function T(){let e=(0,M.u5)(),t=(0,M.y3)();return l.useMemo(()=>({children:r})=>{let n=(0,M.Nz)(e,!0,e=>e.type===l.StrictMode)?l.StrictMode:l.Fragment;return(0,E.jsx)(n,{children:(0,E.jsx)(t,{children:r})})},[e,t])}function w({set:e}){return G(()=>(e(new Promise(()=>null)),()=>e(!1)),[e]),null}let H=(e=>((e=class extends l.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}).getDerivedStateFromError=()=>({error:!0}),e))();function x(e){var t;let r="undefined"!=typeof window?null!=(t=window.devicePixelRatio)?t:2:1;return Array.isArray(e)?Math.min(Math.max(e[0],r),e[1]):e}function S(e){var t;return null==(t=e.__r3f)?void 0:t.root.getState()}let P={obj:e=>e===Object(e)&&!P.arr(e)&&"function"!=typeof e,fun:e=>"function"==typeof e,str:e=>"string"==typeof e,num:e=>"number"==typeof e,boo:e=>"boolean"==typeof e,und:e=>void 0===e,nul:e=>null===e,arr:e=>Array.isArray(e),equ(e,t,{arrays:r="shallow",objects:n="reference",strict:i=!0}={}){let s;if(typeof e!=typeof t||!!e!=!!t)return!1;if(P.str(e)||P.num(e)||P.boo(e))return e===t;let o=P.obj(e);if(o&&"reference"===n)return e===t;let a=P.arr(e);if(a&&"reference"===r)return e===t;if((a||o)&&e===t)return!0;for(s in e)if(!(s in t))return!1;if(o&&"shallow"===r&&"shallow"===n){for(s in i?t:e)if(!P.equ(e[s],t[s],{strict:i,objects:"reference"}))return!1}else for(s in i?t:e)if(e[s]!==t[s])return!1;if(P.und(s)){if(a&&0===e.length&&0===t.length||o&&0===Object.keys(e).length&&0===Object.keys(t).length)return!0;if(e!==t)return!1}return!0}},O=["children","key","ref"];function J(e,t,r,n){let i=null==e?void 0:e.__r3f;return!i&&(i={root:t,type:r,parent:null,children:[],props:function(e){let t={};for(let r in e)O.includes(r)||(t[r]=e[r]);return t}(n),object:e,eventCount:0,handlers:{},isHidden:!1},e&&(e.__r3f=i)),i}function L(e,t){let r=e[t];if(!t.includes("-"))return{root:e,key:t,target:r};for(let i of(r=e,t.split("-"))){var n;t=i,e=r,r=null==(n=r)?void 0:n[t]}return{root:e,key:t,target:r}}let _=/-\d+$/;function j(e,t){if(P.str(t.props.attach)){if(_.test(t.props.attach)){let r=t.props.attach.replace(_,""),{root:n,key:i}=L(e.object,r);Array.isArray(n[i])||(n[i]=[])}let{root:r,key:n}=L(e.object,t.props.attach);t.previousAttach=r[n],r[n]=t.object}else P.fun(t.props.attach)&&(t.previousAttach=t.props.attach(e.object,t.object))}function U(e,t){if(P.str(t.props.attach)){let{root:r,key:n}=L(e.object,t.props.attach),i=t.previousAttach;void 0===i?delete r[n]:r[n]=i}else null==t.previousAttach||t.previousAttach(e.object,t.object);delete t.previousAttach}let Q=[...O,"args","dispose","attach","object","onUpdate","dispose"],k=new Map,K=["map","emissiveMap","sheenColorMap","specularColorMap","envMap"],N=/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/;function X(e,t){var r,n;let i=e.__r3f,s=i&&F(i).getState(),o=null==i?void 0:i.eventCount;for(let r in t){let o=t[r];if(Q.includes(r))continue;if(i&&N.test(r)){"function"==typeof o?i.handlers[r]=o:delete i.handlers[r],i.eventCount=Object.keys(i.handlers).length;continue}if(void 0===o)continue;let{root:a,key:l,target:u}=L(e,r);u instanceof h.zgK&&o instanceof h.zgK?u.mask=o.mask:u instanceof h.Q1f&&I(o)?u.set(o):null!==u&&"object"==typeof u&&"function"==typeof u.set&&"function"==typeof u.copy&&null!=o&&o.constructor&&u.constructor===o.constructor?u.copy(o):null!==u&&"object"==typeof u&&"function"==typeof u.set&&Array.isArray(o)?"function"==typeof u.fromArray?u.fromArray(o):u.set(...o):null!==u&&"object"==typeof u&&"function"==typeof u.set&&"number"==typeof o?"function"==typeof u.setScalar?u.setScalar(o):u.set(o):(a[l]=o,s&&!s.linear&&K.includes(l)&&null!=(n=a[l])&&n.isTexture&&a[l].format===h.GWd&&a[l].type===h.OUM&&(a[l].colorSpace=h.er$))}if(null!=i&&i.parent&&null!=s&&s.internal&&null!=(r=i.object)&&r.isObject3D&&o!==i.eventCount){let e=i.object,t=s.internal.interaction.indexOf(e);t>-1&&s.internal.interaction.splice(t,1),i.eventCount&&null!==e.raycast&&s.internal.interaction.push(e)}return i&&void 0===i.props.attach&&(i.object.isBufferGeometry?i.props.attach="geometry":i.object.isMaterial&&(i.props.attach="material")),i&&Y(i),e}function Y(e){var t;if(!e.parent)return;null==e.props.onUpdate||e.props.onUpdate(e.object);let r=null==(t=e.root)||null==t.getState?void 0:t.getState();r&&0===r.internal.frames&&r.invalidate()}let q=e=>null==e?void 0:e.isObject3D;function W(e){return(e.eventObject||e.object).uuid+"/"+e.index+e.instanceId}function Z(e,t,r,n){let i=r.get(t);i&&(r.delete(t),0===r.size&&(e.delete(n),i.target.releasePointerCapture(n)))}let V=e=>!!(null!=e&&e.render),z=l.createContext(null);function $(){let e=l.useContext(z);if(!e)throw Error("R3F: Hooks can only be used within the Canvas component!");return e}function ee(e=e=>e,t){return $()(e,t)}function et(e,t=0){let r=$(),n=r.getState().internal.subscribe,i=D(e);return G(()=>n(i,t,r),[t,n,r]),null}let er=new WeakMap;function en(e,t){return function(r,...n){var i;let s;return"function"==typeof r&&(null==r||null==(i=r.prototype)?void 0:i.constructor)===r?(s=er.get(r))||(s=new r,er.set(r,s)):s=r,e&&e(s),Promise.all(n.map(e=>new Promise((r,n)=>s.load(e,e=>{q(null==e?void 0:e.scene)&&Object.assign(e,function(e){let t={nodes:{},materials:{},meshes:{}};return e&&e.traverse(e=>{e.name&&(t.nodes[e.name]=e),e.material&&!t.materials[e.material.name]&&(t.materials[e.material.name]=e.material),e.isMesh&&!t.meshes[e.name]&&(t.meshes[e.name]=e)}),t}(e.scene)),r(e)},t,t=>n(Error(`Could not load ${e}: ${null==t?void 0:t.message}`))))))}}function ei(e,t,r,n){let i=Array.isArray(t)?t:[t],s=y(en(r,n),[e,...i],!1,{equal:P.equ});return Array.isArray(t)?s:s[0]}ei.preload=function(e,t,r){let n,i=Array.isArray(t)?t:[t];y(en(r),[e,...i],!0,n)},ei.clear=function(e,t){var r=[e,...Array.isArray(t)?t:[t]];if(void 0===r||0===r.length)m.splice(0,m.length);else{let e=m.find(e=>C(r,e.keys,e.equal));e&&e.remove()}};let es={},eo=/^three(?=[A-Z])/,ea=e=>`${e[0].toUpperCase()}${e.slice(1)}`,el=0;function eu(e){if("function"==typeof e){let t=`${el++}`;return es[t]=e,t}Object.assign(es,e)}function ec(e,t){let r=ea(e),n=es[r];if("primitive"!==e&&!n)throw Error(`R3F: ${r} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if("primitive"===e&&!t.object)throw Error("R3F: Primitives without 'object' are invalid!");if(void 0!==t.args&&!Array.isArray(t.args))throw Error("R3F: The args prop must be an array!")}function eh(e){if(e.isHidden){var t;e.props.attach&&null!=(t=e.parent)&&t.object?j(e.parent,e):q(e.object)&&!1!==e.props.visible&&(e.object.visible=!0),e.isHidden=!1,Y(e)}}function ed(e,t,r){let n=t.root.getState();if(e.parent||e.object===n.scene){if(!t.object){var i,s;let e=es[ea(t.type)];t.object=null!=(i=t.props.object)?i:new e(...null!=(s=t.props.args)?s:[]),t.object.__r3f=t}if(X(t.object,t.props),t.props.attach)j(e,t);else if(q(t.object)&&q(e.object)){let n=e.object.children.indexOf(null==r?void 0:r.object);if(r&&-1!==n){let r=e.object.children.indexOf(t.object);-1!==r?(e.object.children.splice(r,1),e.object.children.splice(r<n?n-1:n,0,t.object)):(t.object.parent=e.object,e.object.children.splice(n,0,t.object),t.object.dispatchEvent({type:"added"}),e.object.dispatchEvent({type:"childadded",child:t.object}))}else e.object.add(t.object)}for(let e of t.children)ed(t,e);Y(t)}}function ef(e,t){t&&(t.parent=e,e.children.push(t),ed(e,t))}function eA(e,t,r){if(!t||!r)return;t.parent=e;let n=e.children.indexOf(r);-1!==n?e.children.splice(n,0,t):e.children.push(t),ed(e,t,r)}function ep(e){if("function"==typeof e.dispose){let t=()=>{try{e.dispose()}catch{}};"undefined"!=typeof IS_REACT_ACT_ENVIRONMENT?t():(0,g.unstable_scheduleCallback)(g.unstable_IdlePriority,t)}}function eB(e,t,r){if(!t)return;t.parent=null;let n=e.children.indexOf(t);-1!==n&&e.children.splice(n,1),t.props.attach?U(e,t):q(t.object)&&q(e.object)&&(e.object.remove(t.object),function(e,t){let{internal:r}=e.getState();r.interaction=r.interaction.filter(e=>e!==t),r.initialHits=r.initialHits.filter(e=>e!==t),r.hovered.forEach((e,n)=>{(e.eventObject===t||e.object===t)&&r.hovered.delete(n)}),r.capturedMap.forEach((e,n)=>{Z(r.capturedMap,t,e,n)})}(F(t),t.object));let i=null!==t.props.dispose&&!1!==r;for(let e=t.children.length-1;e>=0;e--){let r=t.children[e];eB(t,r,i)}t.children.length=0,delete t.object.__r3f,i&&"primitive"!==t.type&&"Scene"!==t.object.type&&ep(t.object),void 0===r&&Y(t)}let em=[],eC=()=>{},ey={},ev=0,eb=function(e){let t=b()(e);return t.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:l.version}),t}({isPrimaryRenderer:!1,warnsIfNotActing:!1,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance:function(e,t,r){var n;return ec(e=ea(e)in es?e:e.replace(eo,""),t),"primitive"===e&&null!=(n=t.object)&&n.__r3f&&delete t.object.__r3f,J(t.object,r,e,t)},removeChild:eB,appendChild:ef,appendInitialChild:ef,insertBefore:eA,appendChildToContainer(e,t){let r=e.getState().scene.__r3f;t&&r&&ef(r,t)},removeChildFromContainer(e,t){let r=e.getState().scene.__r3f;t&&r&&eB(r,t)},insertInContainerBefore(e,t,r){let n=e.getState().scene.__r3f;t&&r&&n&&eA(n,t,r)},getRootHostContext:()=>ey,getChildHostContext:()=>ey,commitUpdate(e,t,r,n,i){var s,o,a;ec(t,n);let l=!1;if("primitive"===e.type&&r.object!==n.object||(null==(s=n.args)?void 0:s.length)!==(null==(o=r.args)?void 0:o.length)?l=!0:null!=(a=n.args)&&a.some((e,t)=>{var n;return e!==(null==(n=r.args)?void 0:n[t])})&&(l=!0),l)em.push([e,{...n},i]);else{let t=function(e,t){let r={};for(let n in t)if(!Q.includes(n)&&!P.equ(t[n],e.props[n]))for(let e in r[n]=t[n],t)e.startsWith(`${n}-`)&&(r[e]=t[e]);for(let n in e.props){if(Q.includes(n)||t.hasOwnProperty(n))continue;let{root:i,key:s}=L(e.object,n);if(i.constructor&&0===i.constructor.length){let e=function(e){let t=k.get(e.constructor);try{t||(t=new e.constructor,k.set(e.constructor,t))}catch(e){}return t}(i);P.und(e)||(r[s]=e[s])}else r[s]=0}return r}(e,n);Object.keys(t).length&&(Object.assign(e.props,t),X(e.object,t))}(null===i.sibling||(4&i.flags)==0)&&function(){for(let[e]of em){let t=e.parent;if(t)for(let r of(e.props.attach?U(t,e):q(e.object)&&q(t.object)&&t.object.remove(e.object),e.children))r.props.attach?U(e,r):q(r.object)&&q(e.object)&&e.object.remove(r.object);e.isHidden&&eh(e),e.object.__r3f&&delete e.object.__r3f,"primitive"!==e.type&&ep(e.object)}for(let[n,i,s]of em){n.props=i;let o=n.parent;if(o){let i=es[ea(n.type)];n.object=null!=(e=n.props.object)?e:new i(...null!=(t=n.props.args)?t:[]),n.object.__r3f=n;var e,t,r=n.object;for(let e of[s,s.alternate])if(null!==e)if("function"==typeof e.ref){null==e.refCleanup||e.refCleanup();let t=e.ref(r);"function"==typeof t&&(e.refCleanup=t)}else e.ref&&(e.ref.current=r);for(let e of(X(n.object,n.props),n.props.attach?j(o,n):q(n.object)&&q(o.object)&&o.object.add(n.object),n.children))e.props.attach?j(n,e):q(e.object)&&q(n.object)&&n.object.add(e.object);Y(n)}}em.length=0}()},finalizeInitialChildren:()=>!1,commitMount(){},getPublicInstance:e=>null==e?void 0:e.object,prepareForCommit:()=>null,preparePortalMount:e=>J(e.getState().scene,e,"",{}),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance:function(e){if(!e.isHidden){var t;e.props.attach&&null!=(t=e.parent)&&t.object?U(e.parent,e):q(e.object)&&(e.object.visible=!1),e.isHidden=!0,Y(e)}},unhideInstance:eh,createTextInstance:eC,hideTextInstance:eC,unhideTextInstance:eC,scheduleTimeout:"function"==typeof setTimeout?setTimeout:void 0,cancelTimeout:"function"==typeof clearTimeout?clearTimeout:void 0,noTimeout:-1,getInstanceFromNode:()=>null,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},prepareScopeUpdate(){},getInstanceFromScope:()=>null,shouldAttemptEagerTransition:()=>!1,trackSchedulerEvent:()=>{},resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,requestPostPaintCallback(){},maySuspendCommit:()=>!1,preloadInstance:()=>!0,startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady:()=>null,NotPendingTransition:null,HostTransitionContext:l.createContext(null),setCurrentUpdatePriority(e){ev=e},getCurrentUpdatePriority:()=>ev,resolveUpdatePriority(){var e;if(0!==ev)return ev;switch("undefined"!=typeof window&&(null==(e=window.event)?void 0:e.type)){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return c.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return c.ContinuousEventPriority;default:return c.DefaultEventPriority}},resetFormInstance(){}}),eg=new Map,eE={objects:"shallow",strict:!1};function eM(e){let t,r,n=eg.get(e),i=null==n?void 0:n.fiber,s=null==n?void 0:n.store;n&&console.warn("R3F.createRoot should only be called once!");let o="function"==typeof reportError?reportError:console.error,a=s||((e,t)=>{let r,n,i=(r=(r,n)=>{let i,s=new h.Pq0,o=new h.Pq0,a=new h.Pq0;function u(e=n().camera,t=o,r=n().size){let{width:i,height:l,top:c,left:h}=r,d=i/l;t.isVector3?a.copy(t):a.set(...t);let f=e.getWorldPosition(s).distanceTo(a);if(e&&e.isOrthographicCamera)return{width:i/e.zoom,height:l/e.zoom,top:c,left:h,factor:1,distance:f,aspect:d};{let t=2*Math.tan(e.fov*Math.PI/180/2)*f,r=i/l*t;return{width:r,height:t,top:c,left:h,factor:i/r,distance:f,aspect:d}}}let c=e=>r(t=>({performance:{...t.performance,current:e}})),d=new h.I9Y;return{set:r,get:n,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},scene:null,xr:null,invalidate:(t=1)=>e(n(),t),advance:(e,r)=>t(e,r,n()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new h.zD7,pointer:d,mouse:d,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{let e=n();i&&clearTimeout(i),e.performance.current!==e.performance.min&&c(e.performance.min),i=setTimeout(()=>c(n().performance.max),e.performance.debounce)}},size:{width:0,height:0,top:0,left:0},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:u},setEvents:e=>r(t=>({...t,events:{...t.events,...e}})),setSize:(e,t,i=0,s=0)=>{let a=n().camera,l={width:e,height:t,top:i,left:s};r(e=>({size:l,viewport:{...e.viewport,...u(a,o,l)}}))},setDpr:e=>r(t=>{let r=x(e);return{viewport:{...t.viewport,dpr:r,initialDpr:t.viewport.initialDpr||r}}}),setFrameloop:(e="always")=>{let t=n().clock;t.stop(),t.elapsedTime=0,"never"!==e&&(t.start(),t.elapsedTime=0),r(()=>({frameloop:e}))},previousRoot:void 0,internal:{interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,lastEvent:l.createRef(),active:!1,frames:0,priority:0,subscribe:(e,t,r)=>{let i=n().internal;return i.priority=i.priority+ +(t>0),i.subscribers.push({ref:e,priority:t,store:r}),i.subscribers=i.subscribers.sort((e,t)=>e.priority-t.priority),()=>{let r=n().internal;null!=r&&r.subscribers&&(r.priority=r.priority-(t>0),r.subscribers=r.subscribers.filter(t=>t.ref!==e))}}}}})?B(r,n):B,s=i.getState(),o=s.size,a=s.viewport.dpr,u=s.camera;return i.subscribe(()=>{let{camera:e,size:t,viewport:r,gl:n,set:s}=i.getState();if(t.width!==o.width||t.height!==o.height||r.dpr!==a){o=t,a=r.dpr,function(e,t){!e.manual&&(e&&e.isOrthographicCamera?(e.left=-(t.width/2),e.right=t.width/2,e.top=t.height/2,e.bottom=-(t.height/2)):e.aspect=t.width/t.height,e.updateProjectionMatrix())}(e,t),r.dpr>0&&n.setPixelRatio(r.dpr);let i="undefined"!=typeof HTMLCanvasElement&&n.domElement instanceof HTMLCanvasElement;n.setSize(t.width,t.height,i)}e!==u&&(u=e,s(t=>({viewport:{...t.viewport,...t.viewport.getCurrentViewport(e)}})))}),i.subscribe(t=>e(t)),i})(e_,ej),u=i||eb.createContainer(a,c.ConcurrentRoot,null,!1,null,"",o,o,o,null);n||eg.set(e,{fiber:u,store:a});let f=!1,A=null;return{async configure(n={}){var i,s;let o;A=new Promise(e=>o=e);let{gl:l,size:u,scene:c,events:p,onCreated:B,shadows:m=!1,linear:C=!1,flat:y=!1,legacy:v=!1,orthographic:b=!1,frameloop:g="always",dpr:E=[1,2],performance:M,raycaster:F,camera:R,onPointerMissed:I}=n,G=a.getState(),D=G.gl;if(!G.gl){let t={canvas:e,powerPreference:"high-performance",antialias:!0,alpha:!0},r="function"==typeof l?await l(t):l;D=V(r)?r:new d.WebGLRenderer({...t,...l}),G.set({gl:D})}let T=G.raycaster;T||G.set({raycaster:T=new h.tBo});let{params:w,...H}=F||{};if(P.equ(H,T,eE)||X(T,{...H}),P.equ(w,T.params,eE)||X(T,{params:{...T.params,...w}}),!G.camera||G.camera===r&&!P.equ(r,R,eE)){r=R;let e=null==R?void 0:R.isCamera,t=e?R:b?new h.qUd(0,0,0,0,.1,1e3):new h.ubm(75,0,.1,1e3);!e&&(t.position.z=5,R&&(X(t,R),!t.manual&&("aspect"in R||"left"in R||"right"in R||"bottom"in R||"top"in R)&&(t.manual=!0,t.updateProjectionMatrix())),G.camera||null!=R&&R.rotation||t.lookAt(0,0,0)),G.set({camera:t}),T.camera=t}if(!G.scene){let e;null!=c&&c.isScene?J(e=c,a,"",{}):(J(e=new h.Z58,a,"",{}),c&&X(e,c)),G.set({scene:e})}p&&!G.events.handlers&&G.set({events:p(a)});let S=function(e,t){if(!t&&"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&e.parentElement){let{width:t,height:r,top:n,left:i}=e.parentElement.getBoundingClientRect();return{width:t,height:r,top:n,left:i}}return!t&&"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas?{width:e.width,height:e.height,top:0,left:0}:{width:0,height:0,top:0,left:0,...t}}(e,u);if(P.equ(S,G.size,eE)||G.setSize(S.width,S.height,S.top,S.left),E&&G.viewport.dpr!==x(E)&&G.setDpr(E),G.frameloop!==g&&G.setFrameloop(g),G.onPointerMissed||G.set({onPointerMissed:I}),M&&!P.equ(M,G.performance,eE)&&G.set(e=>({performance:{...e.performance,...M}})),!G.xr){let e=(e,t)=>{let r=a.getState();"never"!==r.frameloop&&ej(e,!0,r,t)},t=()=>{let t=a.getState();t.gl.xr.enabled=t.gl.xr.isPresenting,t.gl.xr.setAnimationLoop(t.gl.xr.isPresenting?e:null),t.gl.xr.isPresenting||e_(t)},r={connect(){let e=a.getState().gl;e.xr.addEventListener("sessionstart",t),e.xr.addEventListener("sessionend",t)},disconnect(){let e=a.getState().gl;e.xr.removeEventListener("sessionstart",t),e.xr.removeEventListener("sessionend",t)}};"function"==typeof(null==(i=D.xr)?void 0:i.addEventListener)&&r.connect(),G.set({xr:r})}if(D.shadowMap){let e=D.shadowMap.enabled,t=D.shadowMap.type;if(D.shadowMap.enabled=!!m,P.boo(m))D.shadowMap.type=h.Wk7;else if(P.str(m)){let e={basic:h.bTm,percentage:h.QP0,soft:h.Wk7,variance:h.RyA};D.shadowMap.type=null!=(s=e[m])?s:h.Wk7}else P.obj(m)&&Object.assign(D.shadowMap,m);(e!==D.shadowMap.enabled||t!==D.shadowMap.type)&&(D.shadowMap.needsUpdate=!0)}return h.ppV.enabled=!v,f||(D.outputColorSpace=C?h.Zr2:h.er$,D.toneMapping=y?h.y_p:h.FV),G.legacy!==v&&G.set(()=>({legacy:v})),G.linear!==C&&G.set(()=>({linear:C})),G.flat!==y&&G.set(()=>({flat:y})),!l||P.fun(l)||V(l)||P.equ(l,D,eE)||X(D,l),t=B,f=!0,o(),this},render(r){return f||A||this.configure(),A.then(()=>{eb.updateContainer((0,E.jsx)(eF,{store:a,children:r,onCreated:t,rootElement:e}),u,null,()=>void 0)}),a},unmount(){eR(e)}}}function eF({store:e,children:t,onCreated:r,rootElement:n}){return G(()=>{let t=e.getState();t.set(e=>({internal:{...e.internal,active:!0}})),r&&r(t),e.getState().events.connected||null==t.events.connect||t.events.connect(n)},[]),(0,E.jsx)(z.Provider,{value:e,children:t})}function eR(e,t){let r=eg.get(e),n=null==r?void 0:r.fiber;if(n){let i=null==r?void 0:r.store.getState();i&&(i.internal.active=!1),eb.updateContainer(null,n,null,()=>{i&&setTimeout(()=>{try{null==i.events.disconnect||i.events.disconnect(),null==(r=i.gl)||null==(n=r.renderLists)||null==n.dispose||n.dispose(),null==(s=i.gl)||null==s.forceContextLoss||s.forceContextLoss(),null!=(o=i.gl)&&o.xr&&i.xr.disconnect();var r,n,s,o,a=i.scene;for(let e in"Scene"!==a.type&&(null==a.dispose||a.dispose()),a){let t=a[e];(null==t?void 0:t.type)!=="Scene"&&(null==t||null==t.dispose||t.dispose())}eg.delete(e),t&&t(e)}catch(e){}},500)})}}function eI(e,t){let r={callback:e};return t.add(r),()=>void t.delete(r)}let eG=new Set,eD=new Set,eT=new Set,ew=e=>eI(e,eG),eH=e=>eI(e,eD);function ex(e,t){if(e.size)for(let{callback:r}of e.values())r(t)}function eS(e,t){switch(e){case"before":return ex(eG,t);case"after":return ex(eD,t);case"tail":return ex(eT,t)}}function eP(e,t,r){let s=t.clock.getDelta();"never"===t.frameloop&&"number"==typeof e&&(s=e-t.clock.elapsedTime,t.clock.oldTime=t.clock.elapsedTime,t.clock.elapsedTime=e),n=t.internal.subscribers;for(let e=0;e<n.length;e++)(i=n[e]).ref.current(i.store.getState(),s,r);return!t.internal.priority&&t.gl.render&&t.gl.render(t.scene,t.camera),t.internal.frames=Math.max(0,t.internal.frames-1),"always"===t.frameloop?1:t.internal.frames}let eO=!1,eJ=!1;function eL(e){for(let r of(o=requestAnimationFrame(eL),eO=!0,s=0,eS("before",e),eJ=!0,eg.values())){var t;(a=r.store.getState()).internal.active&&("always"===a.frameloop||a.internal.frames>0)&&!(null!=(t=a.gl.xr)&&t.isPresenting)&&(s+=eP(e,a))}if(eJ=!1,eS("after",e),0===s)return eS("tail",e),eO=!1,cancelAnimationFrame(o)}function e_(e,t=1){var r;if(!e)return eg.forEach(e=>e_(e.store.getState(),t));(null==(r=e.gl.xr)||!r.isPresenting)&&e.internal.active&&"never"!==e.frameloop&&(t>1?e.internal.frames=Math.min(60,e.internal.frames+t):eJ?e.internal.frames=2:e.internal.frames=1,eO||(eO=!0,requestAnimationFrame(eL)))}function ej(e,t=!0,r,n){if(t&&eS("before",e),r)eP(e,r,n);else for(let t of eg.values())eP(e,t.store.getState());t&&eS("after",e)}let eU={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function eQ(e){let{handlePointer:t}=function(e){function t(e){return e.filter(e=>["Move","Over","Enter","Out","Leave"].some(t=>{var r;return null==(r=e.__r3f)?void 0:r.handlers["onPointer"+t]}))}function r(t){let{internal:r}=e.getState();for(let e of r.hovered.values())if(!t.length||!t.find(t=>t.object===e.object&&t.index===e.index&&t.instanceId===e.instanceId)){let n=e.eventObject.__r3f;if(r.hovered.delete(W(e)),null!=n&&n.eventCount){let r=n.handlers,i={...e,intersections:t};null==r.onPointerOut||r.onPointerOut(i),null==r.onPointerLeave||r.onPointerLeave(i)}}}function n(e,t){for(let r=0;r<t.length;r++){let n=t[r].__r3f;null==n||null==n.handlers.onPointerMissed||n.handlers.onPointerMissed(e)}}return{handlePointer:function(i){switch(i){case"onPointerLeave":case"onPointerCancel":return()=>r([]);case"onLostPointerCapture":return t=>{let{internal:n}=e.getState();"pointerId"in t&&n.capturedMap.has(t.pointerId)&&requestAnimationFrame(()=>{n.capturedMap.has(t.pointerId)&&(n.capturedMap.delete(t.pointerId),r([]))})}}return function(s){let{onPointerMissed:o,internal:a}=e.getState();a.lastEvent.current=s;let l="onPointerMove"===i,u="onClick"===i||"onContextMenu"===i||"onDoubleClick"===i,c=function(t,r){let n=e.getState(),i=new Set,s=[],o=r?r(n.internal.interaction):n.internal.interaction;for(let e=0;e<o.length;e++){let t=S(o[e]);t&&(t.raycaster.camera=void 0)}n.previousRoot||null==n.events.compute||n.events.compute(t,n);let a=o.flatMap(function(e){let r=S(e);if(!r||!r.events.enabled||null===r.raycaster.camera)return[];if(void 0===r.raycaster.camera){var n;null==r.events.compute||r.events.compute(t,r,null==(n=r.previousRoot)?void 0:n.getState()),void 0===r.raycaster.camera&&(r.raycaster.camera=null)}return r.raycaster.camera?r.raycaster.intersectObject(e,!0):[]}).sort((e,t)=>{let r=S(e.object),n=S(t.object);return r&&n&&n.events.priority-r.events.priority||e.distance-t.distance}).filter(e=>{let t=W(e);return!i.has(t)&&(i.add(t),!0)});for(let e of(n.events.filter&&(a=n.events.filter(a,n)),a)){let t=e.object;for(;t;){var l;null!=(l=t.__r3f)&&l.eventCount&&s.push({...e,eventObject:t}),t=t.parent}}if("pointerId"in t&&n.internal.capturedMap.has(t.pointerId))for(let e of n.internal.capturedMap.get(t.pointerId).values())i.has(W(e.intersection))||s.push(e.intersection);return s}(s,l?t:void 0),d=u?function(t){let{internal:r}=e.getState(),n=t.offsetX-r.initialClick[0],i=t.offsetY-r.initialClick[1];return Math.round(Math.sqrt(n*n+i*i))}(s):0;"onPointerDown"===i&&(a.initialClick=[s.offsetX,s.offsetY],a.initialHits=c.map(e=>e.eventObject)),u&&!c.length&&d<=2&&(n(s,a.interaction),o&&o(s)),l&&r(c),!function(e,t,n,i){if(e.length){let s={stopped:!1};for(let o of e){let a=S(o.object);if(a||o.object.traverseAncestors(e=>{let t=S(e);if(t)return a=t,!1}),a){let{raycaster:l,pointer:u,camera:c,internal:d}=a,f=new h.Pq0(u.x,u.y,0).unproject(c),A=e=>{var t,r;return null!=(t=null==(r=d.capturedMap.get(e))?void 0:r.has(o.eventObject))&&t},p=e=>{let r={intersection:o,target:t.target};d.capturedMap.has(e)?d.capturedMap.get(e).set(o.eventObject,r):d.capturedMap.set(e,new Map([[o.eventObject,r]])),t.target.setPointerCapture(e)},B=e=>{let t=d.capturedMap.get(e);t&&Z(d.capturedMap,o.eventObject,t,e)},m={};for(let e in t){let r=t[e];"function"!=typeof r&&(m[e]=r)}let C={...o,...m,pointer:u,intersections:e,stopped:s.stopped,delta:n,unprojectedPoint:f,ray:l.ray,camera:c,stopPropagation(){let n="pointerId"in t&&d.capturedMap.get(t.pointerId);(!n||n.has(o.eventObject))&&(C.stopped=s.stopped=!0,d.hovered.size&&Array.from(d.hovered.values()).find(e=>e.eventObject===o.eventObject)&&r([...e.slice(0,e.indexOf(o)),o]))},target:{hasPointerCapture:A,setPointerCapture:p,releasePointerCapture:B},currentTarget:{hasPointerCapture:A,setPointerCapture:p,releasePointerCapture:B},nativeEvent:t};if(i(C),!0===s.stopped)break}}}}(c,s,d,function(e){let t=e.eventObject,r=t.__r3f;if(!(null!=r&&r.eventCount))return;let o=r.handlers;if(l){if(o.onPointerOver||o.onPointerEnter||o.onPointerOut||o.onPointerLeave){let t=W(e),r=a.hovered.get(t);r?r.stopped&&e.stopPropagation():(a.hovered.set(t,e),null==o.onPointerOver||o.onPointerOver(e),null==o.onPointerEnter||o.onPointerEnter(e))}null==o.onPointerMove||o.onPointerMove(e)}else{let r=o[i];r?(!u||a.initialHits.includes(t))&&(n(s,a.interaction.filter(e=>!a.initialHits.includes(e))),r(e)):u&&a.initialHits.includes(t)&&n(s,a.interaction.filter(e=>!a.initialHits.includes(e)))}})}}}}(e);return{priority:1,enabled:!0,compute(e,t,r){t.pointer.set(e.offsetX/t.size.width*2-1,-(2*(e.offsetY/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)},connected:void 0,handlers:Object.keys(eU).reduce((e,r)=>({...e,[r]:t(r)}),{}),update:()=>{var t;let{events:r,internal:n}=e.getState();null!=(t=n.lastEvent)&&t.current&&r.handlers&&r.handlers.onPointerMove(n.lastEvent.current)},connect:t=>{let{set:r,events:n}=e.getState();if(null==n.disconnect||n.disconnect(),r(e=>({events:{...e.events,connected:t}})),n.handlers)for(let e in n.handlers){let r=n.handlers[e],[i,s]=eU[e];t.addEventListener(i,r,{passive:s})}},disconnect:()=>{let{set:t,events:r}=e.getState();if(r.connected){if(r.handlers)for(let e in r.handlers){let t=r.handlers[e],[n]=eU[e];r.connected.removeEventListener(n,t)}t(e=>({events:{...e.events,connected:void 0}}))}}}}},125:(e,t,r)=>{"use strict";var n=r(2115),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useState,o=n.useEffect,a=n.useLayoutEffect,l=n.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!i(e,r)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=s({inst:{value:r,getSnapshot:t}}),i=n[0].inst,c=n[1];return a(function(){i.value=r,i.getSnapshot=t,u(i)&&c({inst:i})},[e,r,t]),o(function(){return u(i)&&c({inst:i}),e(function(){u(i)&&c({inst:i})})},[e]),l(r),r};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:c},139:(e,t,r)=>{"use strict";r.d(t,{Z:()=>A});var n=r(5339),i=Object.defineProperty;class s{constructor(){((e,t,r)=>((e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r))(this,"_listeners")}addEventListener(e,t){void 0===this._listeners&&(this._listeners={});let r=this._listeners;void 0===r[e]&&(r[e]=[]),-1===r[e].indexOf(t)&&r[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;let r=this._listeners;return void 0!==r[e]&&-1!==r[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;let r=this._listeners[e];if(void 0!==r){let e=r.indexOf(t);-1!==e&&r.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;let t=this._listeners[e.type];if(void 0!==t){e.target=this;let r=t.slice(0);for(let t=0,n=r.length;t<n;t++)r[t].call(this,e);e.target=null}}}var o=Object.defineProperty,a=(e,t,r)=>(((e,t,r)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r),r);let l=new n.O9p(0,0,0,"YXZ"),u=new n.Pq0,c={type:"change"},h={type:"lock"},d={type:"unlock"},f=Math.PI/2;class A extends s{constructor(e,t){super(),a(this,"camera"),a(this,"domElement"),a(this,"isLocked"),a(this,"minPolarAngle"),a(this,"maxPolarAngle"),a(this,"pointerSpeed"),a(this,"onMouseMove",e=>{this.domElement&&!1!==this.isLocked&&(l.setFromQuaternion(this.camera.quaternion),l.y-=.002*e.movementX*this.pointerSpeed,l.x-=.002*e.movementY*this.pointerSpeed,l.x=Math.max(f-this.maxPolarAngle,Math.min(f-this.minPolarAngle,l.x)),this.camera.quaternion.setFromEuler(l),this.dispatchEvent(c))}),a(this,"onPointerlockChange",()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent(h),this.isLocked=!0):(this.dispatchEvent(d),this.isLocked=!1))}),a(this,"onPointerlockError",()=>{console.error("THREE.PointerLockControls: Unable to use Pointer Lock API")}),a(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))}),a(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))}),a(this,"dispose",()=>{this.disconnect()}),a(this,"getObject",()=>this.camera),a(this,"direction",new n.Pq0(0,0,-1)),a(this,"getDirection",e=>e.copy(this.direction).applyQuaternion(this.camera.quaternion)),a(this,"moveForward",e=>{u.setFromMatrixColumn(this.camera.matrix,0),u.crossVectors(this.camera.up,u),this.camera.position.addScaledVector(u,e)}),a(this,"moveRight",e=>{u.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(u,e)}),a(this,"lock",()=>{this.domElement&&this.domElement.requestPointerLock()}),a(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)}}},258:(e,t,r)=>{"use strict";r.d(t,{Hl:()=>h});var n=r(99),i=r(2115),s=r(7548);function o(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}let a=["x","y","top","bottom","left","right","width","height"];var l=r(4735),u=r(5155);function c({ref:e,children:t,fallback:r,resize:l,style:c,gl:h,events:d=n.f,eventSource:f,eventPrefix:A,shadows:p,linear:B,flat:m,legacy:C,orthographic:y,frameloop:v,dpr:b,performance:g,raycaster:E,camera:M,scene:F,onPointerMissed:R,onCreated:I,...G}){i.useMemo(()=>(0,n.e)(s),[]);let D=(0,n.u)(),[T,w]=function({debounce:e,scroll:t,polyfill:r,offsetSize:n}={debounce:0,scroll:!1,offsetSize:!1}){var s,l,u;let c=r||("undefined"==typeof window?class{}:window.ResizeObserver);if(!c)throw Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[h,d]=(0,i.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),f=(0,i.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:h,orientationHandler:null}),A=e?"number"==typeof e?e:e.scroll:null,p=e?"number"==typeof e?e:e.resize:null,B=(0,i.useRef)(!1);(0,i.useEffect)(()=>(B.current=!0,()=>void(B.current=!1)));let[m,C,y]=(0,i.useMemo)(()=>{let e=()=>{let e,t;if(!f.current.element)return;let{left:r,top:i,width:s,height:o,bottom:l,right:u,x:c,y:h}=f.current.element.getBoundingClientRect(),A={left:r,top:i,width:s,height:o,bottom:l,right:u,x:c,y:h};f.current.element instanceof HTMLElement&&n&&(A.height=f.current.element.offsetHeight,A.width=f.current.element.offsetWidth),Object.freeze(A),B.current&&(e=f.current.lastBounds,t=A,!a.every(r=>e[r]===t[r]))&&d(f.current.lastBounds=A)};return[e,p?o(e,p):e,A?o(e,A):e]},[d,n,A,p]);function v(){f.current.scrollContainers&&(f.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",y,!0)),f.current.scrollContainers=null),f.current.resizeObserver&&(f.current.resizeObserver.disconnect(),f.current.resizeObserver=null),f.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",f.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",f.current.orientationHandler))}function b(){f.current.element&&(f.current.resizeObserver=new c(y),f.current.resizeObserver.observe(f.current.element),t&&f.current.scrollContainers&&f.current.scrollContainers.forEach(e=>e.addEventListener("scroll",y,{capture:!0,passive:!0})),f.current.orientationHandler=()=>{y()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",f.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",f.current.orientationHandler))}return s=y,l=!!t,(0,i.useEffect)(()=>{if(l)return window.addEventListener("scroll",s,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",s,!0)},[s,l]),u=C,(0,i.useEffect)(()=>(window.addEventListener("resize",u),()=>void window.removeEventListener("resize",u)),[u]),(0,i.useEffect)(()=>{v(),b()},[t,y,C]),(0,i.useEffect)(()=>v,[]),[e=>{e&&e!==f.current.element&&(v(),f.current.element=e,f.current.scrollContainers=function e(t){let r=[];if(!t||t===document.body)return r;let{overflow:n,overflowX:i,overflowY:s}=window.getComputedStyle(t);return[n,i,s].some(e=>"auto"===e||"scroll"===e)&&r.push(t),[...r,...e(t.parentElement)]}(e),b())},h,m]}({scroll:!0,debounce:{scroll:50,resize:0},...l}),H=i.useRef(null),x=i.useRef(null);i.useImperativeHandle(e,()=>H.current);let S=(0,n.a)(R),[P,O]=i.useState(!1),[J,L]=i.useState(!1);if(P)throw P;if(J)throw J;let _=i.useRef(null);(0,n.b)(()=>{let e=H.current;w.width>0&&w.height>0&&e&&(_.current||(_.current=(0,n.c)(e)),async function(){await _.current.configure({gl:h,scene:F,events:d,shadows:p,linear:B,flat:m,legacy:C,orthographic:y,frameloop:v,dpr:b,performance:g,raycaster:E,camera:M,size:w,onPointerMissed:(...e)=>null==S.current?void 0:S.current(...e),onCreated:e=>{null==e.events.connect||e.events.connect(f?(0,n.i)(f)?f.current:f:x.current),A&&e.setEvents({compute:(e,t)=>{let r=e[A+"X"],n=e[A+"Y"];t.pointer.set(r/t.size.width*2-1,-(2*(n/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),null==I||I(e)}}),_.current.render((0,u.jsx)(D,{children:(0,u.jsx)(n.E,{set:L,children:(0,u.jsx)(i.Suspense,{fallback:(0,u.jsx)(n.B,{set:O}),children:null!=t?t:null})})}))}())}),i.useEffect(()=>{let e=H.current;if(e)return()=>(0,n.d)(e)},[]);let j=f?"none":"auto";return(0,u.jsx)("div",{ref:x,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:j,...c},...G,children:(0,u.jsx)("div",{ref:T,style:{width:"100%",height:"100%"},children:(0,u.jsx)("canvas",{ref:H,style:{display:"block"},children:r})})})}function h(e){return(0,u.jsx)(l.Af,{children:(0,u.jsx)(c,{...e})})}r(8870),r(8807),r(4943)},490:(e,t,r)=>{"use strict";r.d(t,{y:()=>i});let n=e=>{let t,r=new Set,n=(e,n)=>{let i="function"==typeof e?e(t):e;if(!Object.is(i,t)){let e=t;t=(null!=n?n:"object"!=typeof i||null===i)?i:Object.assign({},t,i),r.forEach(r=>r(t,e))}},i=()=>t,s={setState:n,getState:i,getInitialState:()=>o,subscribe:e=>(r.add(e),()=>r.delete(e))},o=t=e(n,i,s);return s},i=e=>e?n(e):n},979:(e,t)=>{"use strict";function r(e,t){var r=e.length;for(e.push(t);0<r;){var n=r-1>>>1,i=e[n];if(0<s(i,t))e[n]=t,e[r]=i,r=n;else break}}function n(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;for(var n=0,i=e.length,o=i>>>1;n<o;){var a=2*(n+1)-1,l=e[a],u=a+1,c=e[u];if(0>s(l,r))u<i&&0>s(c,l)?(e[n]=c,e[u]=r,n=u):(e[n]=l,e[a]=r,n=a);else if(u<i&&0>s(c,r))e[n]=c,e[u]=r,n=u;else break}}return t}function s(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,a=performance;t.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();t.unstable_now=function(){return l.now()-u}}var c=[],h=[],d=1,f=null,A=3,p=!1,B=!1,m=!1,C="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var t=n(h);null!==t;){if(null===t.callback)i(h);else if(t.startTime<=e)i(h),t.sortIndex=t.expirationTime,r(c,t);else break;t=n(h)}}function g(e){if(m=!1,b(e),!B)if(null!==n(c))B=!0,w();else{var t=n(h);null!==t&&H(g,t.startTime-e)}}var E=!1,M=-1,F=5,R=-1;function I(){return!(t.unstable_now()-R<F)}function G(){if(E){var e=t.unstable_now();R=e;var r=!0;try{e:{B=!1,m&&(m=!1,y(M),M=-1),p=!0;var s=A;try{t:{for(b(e),f=n(c);null!==f&&!(f.expirationTime>e&&I());){var a=f.callback;if("function"==typeof a){f.callback=null,A=f.priorityLevel;var l=a(f.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof l){f.callback=l,b(e),r=!0;break t}f===n(c)&&i(c),b(e)}else i(c);f=n(c)}if(null!==f)r=!0;else{var u=n(h);null!==u&&H(g,u.startTime-e),r=!1}}break e}finally{f=null,A=s,p=!1}}}finally{r?o():E=!1}}}if("function"==typeof v)o=function(){v(G)};else if("undefined"!=typeof MessageChannel){var D=new MessageChannel,T=D.port2;D.port1.onmessage=G,o=function(){T.postMessage(null)}}else o=function(){C(G,0)};function w(){E||(E=!0,o())}function H(e,r){M=C(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){B||p||(B=!0,w())},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return A},t.unstable_getFirstCallbackNode=function(){return n(c)},t.unstable_next=function(e){switch(A){case 1:case 2:case 3:var t=3;break;default:t=A}var r=A;A=t;try{return e()}finally{A=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=A;A=e;try{return t()}finally{A=r}},t.unstable_scheduleCallback=function(e,i,s){var o=t.unstable_now();switch(s="object"==typeof s&&null!==s&&"number"==typeof(s=s.delay)&&0<s?o+s:o,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=0x3fffffff;break;case 4:a=1e4;break;default:a=5e3}return a=s+a,e={id:d++,callback:i,priorityLevel:e,startTime:s,expirationTime:a,sortIndex:-1},s>o?(e.sortIndex=s,r(h,e),null===n(c)&&e===n(h)&&(m?(y(M),M=-1):m=!0,H(g,s-o))):(e.sortIndex=a,r(c,e),B||p||(B=!0,w())),e},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(e){var t=A;return function(){var r=A;A=t;try{return e.apply(this,arguments)}finally{A=r}}}},1668:(e,t,r)=>{"use strict";r.d(t,{X:()=>a,k:()=>l});var n=r(4049),i=r(4268),s=r(3049),o=r(2162),a=class extends o.k{#e;#t;#r;#n;#i;#s;#o;constructor(e){super(),this.#o=!1,this.#s=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#n=e.client,this.#r=this.#n.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=c(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.#s,...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let e=c(this.options);void 0!==e.data&&(this.setState(u(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#r.remove(this)}setData(e,t){let r=(0,n.pl)(this.state.data,e,this.options);return this.#a({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#a({type:"setState",state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(n.lQ).catch(n.lQ):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>!1!==(0,n.Eh)(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===n.hT||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===(0,n.d2)(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!(0,n.j3)(this.state.dataUpdatedAt,e))}onFocus(){let e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){let e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.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.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#a({type:"invalidate"})}async fetch(e,t){if("idle"!==this.state.fetchStatus&&this.#i?.status()!=="rejected"){if(void 0!==this.state.data&&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 r=new AbortController,i=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#o=!0,r.signal)})},o=()=>{let e=(0,n.ZM)(this.options,t),r=(()=>{let e={client:this.#n,queryKey:this.queryKey,meta:this.meta};return i(e),e})();return(this.#o=!1,this.options.persister)?this.options.persister(e,r,this):e(r)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#n,state:this.state,fetchFn:o};return i(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#a({type:"fetch",meta:a.fetchOptions?.meta}),this.#i=(0,s.II)({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof s.cc&&e.revert&&this.setState({...this.#t,fetchStatus:"idle"}),r.abort()},onFail:(e,t)=>{this.#a({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#a({type:"pause"})},onContinue:()=>{this.#a({type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(void 0===e)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof s.cc){if(e.silent)return this.#i.promise;else if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw this.#a({type:"error",error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#a(e){let t=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,...l(t.data,this.options),fetchMeta:e.meta??null};case"success":let r={...t,...u(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?r:void 0,r;case"error":let n=e.error;return{...t,error:n,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}};this.state=t(this.state),i.jG.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function l(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,s.v_)(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function u(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function c(e){let t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,n=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}},1808:(e,t,r)=>{"use strict";let n;r.d(t,{p:()=>eu}),r(2115);var i=r(5339);let s=new WeakMap;class o extends i.aHM{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,r,n){let s=new i.Y9S(this.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,e=>{let r={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,r).then(t).catch(n)},r,n)}decodeDracoFile(e,t,r,n){let i={attributeIDs:r||this.defaultAttributeIDs,attributeTypes:n||this.defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){let r;for(let e in t.attributeTypes){let r=t.attributeTypes[e];void 0!==r.BYTES_PER_ELEMENT&&(t.attributeTypes[e]=r.name)}let n=JSON.stringify(t);if(s.has(e)){let t=s.get(e);if(t.key===n)return t.promise;if(0===e.byteLength)throw Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i=this.workerNextTaskID++,o=e.byteLength,a=this._getWorker(i,o).then(n=>(r=n,new Promise((n,s)=>{r._callbacks[i]={resolve:n,reject:s},r.postMessage({type:"decode",id:i,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return a.catch(()=>!0).then(()=>{r&&i&&this._releaseTask(r,i)}),s.set(e,{key:n,promise:a}),a}_createGeometry(e){let t=new i.LoY;e.index&&t.setIndex(new i.THS(e.index.array,1));for(let r=0;r<e.attributes.length;r++){let n=e.attributes[r],s=n.name,o=n.array,a=n.itemSize;t.setAttribute(s,new i.THS(o,a))}return t}_loadLibrary(e,t){let r=new i.Y9S(this.manager);return r.setPath(this.decoderPath),r.setResponseType(t),r.setWithCredentials(this.withCredentials),new Promise((t,n)=>{r.load(e,t,void 0,n)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,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 r=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let n=a.toString(),i=["/* draco decoder */",r,"\n/* worker */",n.substring(n.indexOf("{")+1,n.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){let e=new Worker(this.workerSourceURL);e._callbacks={},e._taskCosts={},e._taskLoad=0,e.postMessage({type:"init",decoderConfig:this.decoderConfig}),e.onmessage=function(t){let r=t.data;switch(r.type){case"decode":e._callbacks[r.id].resolve(r);break;case"error":e._callbacks[r.id].reject(r);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+r.type+'"')}},this.workerPool.push(e)}else this.workerPool.sort(function(e,t){return e._taskLoad>t._taskLoad?-1:1});let r=this.workerPool[this.workerPool.length-1];return r._taskCosts[e]=t,r._taskLoad+=t,r})}_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<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}}function a(){let e,t;onmessage=function(r){let n=r.data;switch(n.type){case"init":e=n.decoderConfig,t=new Promise(function(t){e.onModuleLoaded=function(e){t({draco:e})},DracoDecoderModule(e)});break;case"decode":let i=n.buffer,s=n.taskConfig;t.then(e=>{let t=e.draco,r=new t.Decoder,o=new t.DecoderBuffer;o.Init(new Int8Array(i),i.byteLength);try{let e=function(e,t,r,n){let i,s,o=n.attributeIDs,a=n.attributeTypes,l=t.GetEncodedGeometryType(r);if(l===e.TRIANGULAR_MESH)i=new e.Mesh,s=t.DecodeBufferToMesh(r,i);else if(l===e.POINT_CLOUD)i=new e.PointCloud,s=t.DecodeBufferToPointCloud(r,i);else throw Error("THREE.DRACOLoader: Unexpected geometry type.");if(!s.ok()||0===i.ptr)throw Error("THREE.DRACOLoader: Decoding failed: "+s.error_msg());let u={index:null,attributes:[]};for(let r in o){let s,l,c=self[a[r]];if(n.useUniqueIDs)l=o[r],s=t.GetAttributeByUniqueId(i,l);else{if(-1===(l=t.GetAttributeId(i,e[o[r]])))continue;s=t.GetAttribute(i,l)}u.attributes.push(function(e,t,r,n,i,s){let o=s.num_components(),a=r.num_points()*o,l=a*i.BYTES_PER_ELEMENT,u=function(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}}(e,i),c=e._malloc(l);t.GetAttributeDataArrayForAllPoints(r,s,u,l,c);let h=new i(e.HEAPF32.buffer,c,a).slice();return e._free(c),{name:n,array:h,itemSize:o}}(e,t,i,r,c,s))}return l===e.TRIANGULAR_MESH&&(u.index=function(e,t,r){let n=3*r.num_faces(),i=4*n,s=e._malloc(i);t.GetTrianglesUInt32Array(r,i,s);let o=new Uint32Array(e.HEAPF32.buffer,s,n).slice();return e._free(s),{array:o,itemSize:1}}(e,t,i)),e.destroy(i),u}(t,r,o,s),i=e.attributes.map(e=>e.array.buffer);e.index&&i.push(e.index.array.buffer),self.postMessage({type:"decode",id:n.id,geometry:e},i)}catch(e){console.error(e),self.postMessage({type:"error",id:n.id,error:e.message})}finally{t.destroy(o),t.destroy(r)}})}}}function l(e,t){if(t===i.RJ4)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),e;if(t!==i.rYR&&t!==i.O49)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",t),e;{let r=e.getIndex();if(null===r){let t=[],n=e.getAttribute("position");if(void 0===n)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(let e=0;e<n.count;e++)t.push(e);e.setIndex(t),r=e.getIndex()}let n=r.count-2,s=[];if(r)if(t===i.rYR)for(let e=1;e<=n;e++)s.push(r.getX(0)),s.push(r.getX(e)),s.push(r.getX(e+1));else for(let e=0;e<n;e++)e%2==0?(s.push(r.getX(e)),s.push(r.getX(e+1)),s.push(r.getX(e+2))):(s.push(r.getX(e+2)),s.push(r.getX(e+1)),s.push(r.getX(e)));s.length/3!==n&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");let o=e.clone();return o.setIndex(s),o.clearGroups(),o}}let u=parseInt(i.sPf.replace(/\D+/g,""));function c(e){if("undefined"!=typeof TextDecoder)return new TextDecoder().decode(e);let t="";for(let r=0,n=e.length;r<n;r++)t+=String.fromCharCode(e[r]);try{return decodeURIComponent(escape(t))}catch(e){return t}}let h="srgb",d="srgb-linear";class f extends i.aHM{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(e){return new y(e)}),this.register(function(e){return new v(e)}),this.register(function(e){return new D(e)}),this.register(function(e){return new T(e)}),this.register(function(e){return new w(e)}),this.register(function(e){return new g(e)}),this.register(function(e){return new E(e)}),this.register(function(e){return new M(e)}),this.register(function(e){return new F(e)}),this.register(function(e){return new C(e)}),this.register(function(e){return new R(e)}),this.register(function(e){return new b(e)}),this.register(function(e){return new G(e)}),this.register(function(e){return new I(e)}),this.register(function(e){return new B(e)}),this.register(function(e){return new H(e)}),this.register(function(e){return new x(e)})}load(e,t,r,n){let s,o=this;if(""!==this.resourcePath)s=this.resourcePath;else if(""!==this.path){let t=i.r6x.extractUrlBase(e);s=i.r6x.resolveURL(t,this.path)}else s=i.r6x.extractUrlBase(e);this.manager.itemStart(e);let a=function(t){n?n(t):console.error(t),o.manager.itemError(e),o.manager.itemEnd(e)},l=new i.Y9S(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(r){try{o.parse(r,s,function(r){t(r),o.manager.itemEnd(e)},a)}catch(e){a(e)}},r,a)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return -1===this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.push(e),this}unregister(e){return -1!==this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,r,n){let i,s={},o={};if("string"==typeof e)i=JSON.parse(e);else if(e instanceof ArrayBuffer)if(c(new Uint8Array(e.slice(0,4)))===S){try{s[p.KHR_BINARY_GLTF]=new O(e)}catch(e){n&&n(e);return}i=JSON.parse(s[p.KHR_BINARY_GLTF].content)}else i=JSON.parse(c(new Uint8Array(e)));else i=e;if(void 0===i.asset||i.asset.version[0]<2){n&&n(Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}let a=new en(i,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});a.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e<this.pluginCallbacks.length;e++){let t=this.pluginCallbacks[e](a);t.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),o[t.name]=t,s[t.name]=!0}if(i.extensionsUsed)for(let e=0;e<i.extensionsUsed.length;++e){let t=i.extensionsUsed[e],r=i.extensionsRequired||[];switch(t){case p.KHR_MATERIALS_UNLIT:s[t]=new m;break;case p.KHR_DRACO_MESH_COMPRESSION:s[t]=new J(i,this.dracoLoader);break;case p.KHR_TEXTURE_TRANSFORM:s[t]=new L;break;case p.KHR_MESH_QUANTIZATION:s[t]=new _;break;default:r.indexOf(t)>=0&&void 0===o[t]&&console.warn('THREE.GLTFLoader: Unknown extension "'+t+'".')}}a.setExtensions(s),a.setPlugins(o),a.parse(r,n)}parseAsync(e,t){let r=this;return new Promise(function(n,i){r.parse(e,t,n,i)})}}function A(){let e={};return{get:function(t){return e[t]},add:function(t,r){e[t]=r},remove:function(t){delete e[t]},removeAll:function(){e={}}}}let p={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"};class B{constructor(e){this.parser=e,this.name=p.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let r=0,n=t.length;r<n;r++){let n=t[r];n.extensions&&n.extensions[this.name]&&void 0!==n.extensions[this.name].light&&e._addNodeRef(this.cache,n.extensions[this.name].light)}}_loadLight(e){let t,r=this.parser,n="light:"+e,s=r.cache.get(n);if(s)return s;let o=r.json,a=((o.extensions&&o.extensions[this.name]||{}).lights||[])[e],l=new i.Q1f(0xffffff);void 0!==a.color&&l.setRGB(a.color[0],a.color[1],a.color[2],d);let u=void 0!==a.range?a.range:0;switch(a.type){case"directional":(t=new i.ZyN(l)).target.position.set(0,0,-1),t.add(t.target);break;case"point":(t=new i.HiM(l)).distance=u;break;case"spot":(t=new i.nCl(l)).distance=u,a.spot=a.spot||{},a.spot.innerConeAngle=void 0!==a.spot.innerConeAngle?a.spot.innerConeAngle:0,a.spot.outerConeAngle=void 0!==a.spot.outerConeAngle?a.spot.outerConeAngle:Math.PI/4,t.angle=a.spot.outerConeAngle,t.penumbra=1-a.spot.innerConeAngle/a.spot.outerConeAngle,t.target.position.set(0,0,-1),t.add(t.target);break;default:throw Error("THREE.GLTFLoader: Unexpected light type: "+a.type)}return t.position.set(0,0,0),t.decay=2,$(t,a),void 0!==a.intensity&&(t.intensity=a.intensity),t.name=r.createUniqueName(a.name||"light_"+e),s=Promise.resolve(t),r.cache.add(n,s),s}getDependency(e,t){if("light"===e)return this._loadLight(t)}createNodeAttachment(e){let t=this,r=this.parser,n=r.json.nodes[e],i=(n.extensions&&n.extensions[this.name]||{}).light;return void 0===i?null:this._loadLight(i).then(function(e){return r._getNodeRef(t.cache,i,e)})}}class m{constructor(){this.name=p.KHR_MATERIALS_UNLIT}getMaterialType(){return i.V9B}extendParams(e,t,r){let n=[];e.color=new i.Q1f(1,1,1),e.opacity=1;let s=t.pbrMetallicRoughness;if(s){if(Array.isArray(s.baseColorFactor)){let t=s.baseColorFactor;e.color.setRGB(t[0],t[1],t[2],d),e.opacity=t[3]}void 0!==s.baseColorTexture&&n.push(r.assignTexture(e,"map",s.baseColorTexture,h))}return Promise.all(n)}}class C{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){let r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let n=r.extensions[this.name].emissiveStrength;return void 0!==n&&(t.emissiveIntensity=n),Promise.resolve()}}class y{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let s=[],o=n.extensions[this.name];if(void 0!==o.clearcoatFactor&&(t.clearcoat=o.clearcoatFactor),void 0!==o.clearcoatTexture&&s.push(r.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),void 0!==o.clearcoatRoughnessFactor&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),void 0!==o.clearcoatRoughnessTexture&&s.push(r.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),void 0!==o.clearcoatNormalTexture&&(s.push(r.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),void 0!==o.clearcoatNormalTexture.scale)){let e=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new i.I9Y(e,e)}return Promise.all(s)}}class v{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_DISPERSION}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let n=r.extensions[this.name];return t.dispersion=void 0!==n.dispersion?n.dispersion:0,Promise.resolve()}}class b{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let i=[],s=n.extensions[this.name];return void 0!==s.iridescenceFactor&&(t.iridescence=s.iridescenceFactor),void 0!==s.iridescenceTexture&&i.push(r.assignTexture(t,"iridescenceMap",s.iridescenceTexture)),void 0!==s.iridescenceIor&&(t.iridescenceIOR=s.iridescenceIor),void 0===t.iridescenceThicknessRange&&(t.iridescenceThicknessRange=[100,400]),void 0!==s.iridescenceThicknessMinimum&&(t.iridescenceThicknessRange[0]=s.iridescenceThicknessMinimum),void 0!==s.iridescenceThicknessMaximum&&(t.iridescenceThicknessRange[1]=s.iridescenceThicknessMaximum),void 0!==s.iridescenceThicknessTexture&&i.push(r.assignTexture(t,"iridescenceThicknessMap",s.iridescenceThicknessTexture)),Promise.all(i)}}class g{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_SHEEN}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let s=[];t.sheenColor=new i.Q1f(0,0,0),t.sheenRoughness=0,t.sheen=1;let o=n.extensions[this.name];if(void 0!==o.sheenColorFactor){let e=o.sheenColorFactor;t.sheenColor.setRGB(e[0],e[1],e[2],d)}return void 0!==o.sheenRoughnessFactor&&(t.sheenRoughness=o.sheenRoughnessFactor),void 0!==o.sheenColorTexture&&s.push(r.assignTexture(t,"sheenColorMap",o.sheenColorTexture,h)),void 0!==o.sheenRoughnessTexture&&s.push(r.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(s)}}class E{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let i=[],s=n.extensions[this.name];return void 0!==s.transmissionFactor&&(t.transmission=s.transmissionFactor),void 0!==s.transmissionTexture&&i.push(r.assignTexture(t,"transmissionMap",s.transmissionTexture)),Promise.all(i)}}class M{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_VOLUME}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let s=[],o=n.extensions[this.name];t.thickness=void 0!==o.thicknessFactor?o.thicknessFactor:0,void 0!==o.thicknessTexture&&s.push(r.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;let a=o.attenuationColor||[1,1,1];return t.attenuationColor=new i.Q1f().setRGB(a[0],a[1],a[2],d),Promise.all(s)}}class F{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_IOR}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let n=r.extensions[this.name];return t.ior=void 0!==n.ior?n.ior:1.5,Promise.resolve()}}class R{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_SPECULAR}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let s=[],o=n.extensions[this.name];t.specularIntensity=void 0!==o.specularFactor?o.specularFactor:1,void 0!==o.specularTexture&&s.push(r.assignTexture(t,"specularIntensityMap",o.specularTexture));let a=o.specularColorFactor||[1,1,1];return t.specularColor=new i.Q1f().setRGB(a[0],a[1],a[2],d),void 0!==o.specularColorTexture&&s.push(r.assignTexture(t,"specularColorMap",o.specularColorTexture,h)),Promise.all(s)}}class I{constructor(e){this.parser=e,this.name=p.EXT_MATERIALS_BUMP}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let i=[],s=n.extensions[this.name];return t.bumpScale=void 0!==s.bumpFactor?s.bumpFactor:1,void 0!==s.bumpTexture&&i.push(r.assignTexture(t,"bumpMap",s.bumpTexture)),Promise.all(i)}}class G{constructor(e){this.parser=e,this.name=p.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){let t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?i.uSd:null}extendMaterialParams(e,t){let r=this.parser,n=r.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let i=[],s=n.extensions[this.name];return void 0!==s.anisotropyStrength&&(t.anisotropy=s.anisotropyStrength),void 0!==s.anisotropyRotation&&(t.anisotropyRotation=s.anisotropyRotation),void 0!==s.anisotropyTexture&&i.push(r.assignTexture(t,"anisotropyMap",s.anisotropyTexture)),Promise.all(i)}}class D{constructor(e){this.parser=e,this.name=p.KHR_TEXTURE_BASISU}loadTexture(e){let t=this.parser,r=t.json,n=r.textures[e];if(!n.extensions||!n.extensions[this.name])return null;let i=n.extensions[this.name],s=t.options.ktx2Loader;if(!s)if(!(r.extensionsRequired&&r.extensionsRequired.indexOf(this.name)>=0))return null;else throw Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return t.loadTextureImage(e,i.source,s)}}class T{constructor(e){this.parser=e,this.name=p.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){let t=this.name,r=this.parser,n=r.json,i=n.textures[e];if(!i.extensions||!i.extensions[t])return null;let s=i.extensions[t],o=n.images[s.source],a=r.textureLoader;if(o.uri){let e=r.options.manager.getHandler(o.uri);null!==e&&(a=e)}return this.detectSupport().then(function(i){if(i)return r.loadTextureImage(e,s.source,a);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){let t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(1===t.height)}})),this.isSupported}}class w{constructor(e){this.parser=e,this.name=p.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){let t=this.name,r=this.parser,n=r.json,i=n.textures[e];if(!i.extensions||!i.extensions[t])return null;let s=i.extensions[t],o=n.images[s.source],a=r.textureLoader;if(o.uri){let e=r.options.manager.getHandler(o.uri);null!==e&&(a=e)}return this.detectSupport().then(function(i){if(i)return r.loadTextureImage(e,s.source,a);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){let t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(1===t.height)}})),this.isSupported}}class H{constructor(e){this.name=p.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,r=t.bufferViews[e];if(!r.extensions||!r.extensions[this.name])return null;{let e=r.extensions[this.name],n=this.parser.getDependency("buffer",e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported)if(!(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0))return null;else throw Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return n.then(function(t){let r=e.byteOffset||0,n=e.byteLength||0,s=e.count,o=e.byteStride,a=new Uint8Array(t,r,n);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(s,o,a,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(s*o);return i.decodeGltfBuffer(new Uint8Array(t),s,o,a,e.mode,e.filter),t})})}}}class x{constructor(e){this.name=p.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,r=t.nodes[e];if(!r.extensions||!r.extensions[this.name]||void 0===r.mesh)return null;for(let e of t.meshes[r.mesh].primitives)if(e.mode!==k.TRIANGLES&&e.mode!==k.TRIANGLE_STRIP&&e.mode!==k.TRIANGLE_FAN&&void 0!==e.mode)return null;let n=r.extensions[this.name].attributes,s=[],o={};for(let e in n)s.push(this.parser.getDependency("accessor",n[e]).then(t=>(o[e]=t,o[e])));return s.length<1?null:(s.push(this.parser.createNodeMesh(e)),Promise.all(s).then(e=>{let t=e.pop(),r=t.isGroup?t.children:[t],n=e[0].count,s=[];for(let e of r){let t=new i.kn4,r=new i.Pq0,a=new i.PTz,l=new i.Pq0(1,1,1),u=new i.ZLX(e.geometry,e.material,n);for(let e=0;e<n;e++)o.TRANSLATION&&r.fromBufferAttribute(o.TRANSLATION,e),o.ROTATION&&a.fromBufferAttribute(o.ROTATION,e),o.SCALE&&l.fromBufferAttribute(o.SCALE,e),u.setMatrixAt(e,t.compose(r,a,l));for(let t in o)if("_COLOR_0"===t){let e=o[t];u.instanceColor=new i.uWO(e.array,e.itemSize,e.normalized)}else"TRANSLATION"!==t&&"ROTATION"!==t&&"SCALE"!==t&&e.geometry.setAttribute(t,o[t]);i.B69.prototype.copy.call(u,e),this.parser.assignFinalMaterial(u),s.push(u)}return t.isGroup?(t.clear(),t.add(...s),t):s[0]}))}}let S="glTF",P={JSON:0x4e4f534a,BIN:5130562};class O{constructor(e){this.name=p.KHR_BINARY_GLTF,this.content=null,this.body=null;let t=new DataView(e,0,12);if(this.header={magic:c(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==S)throw Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw Error("THREE.GLTFLoader: Legacy binary file detected.");let r=this.header.length-12,n=new DataView(e,12),i=0;for(;i<r;){let t=n.getUint32(i,!0);i+=4;let r=n.getUint32(i,!0);if(i+=4,r===P.JSON){let r=new Uint8Array(e,12+i,t);this.content=c(r)}else if(r===P.BIN){let r=12+i;this.body=e.slice(r,r+t)}i+=t}if(null===this.content)throw Error("THREE.GLTFLoader: JSON content not found.")}}class J{constructor(e,t){if(!t)throw Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=p.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){let r=this.json,n=this.dracoLoader,i=e.extensions[this.name].bufferView,s=e.extensions[this.name].attributes,o={},a={},l={};for(let e in s)o[q[e]||e.toLowerCase()]=s[e];for(let t in e.attributes){let n=q[t]||t.toLowerCase();if(void 0!==s[t]){let i=r.accessors[e.attributes[t]],s=K[i.componentType];l[n]=s.name,a[n]=!0===i.normalized}}return t.getDependency("bufferView",i).then(function(e){return new Promise(function(t,r){n.decodeDracoFile(e,function(e){for(let t in e.attributes){let r=e.attributes[t],n=a[t];void 0!==n&&(r.normalized=n)}t(e)},o,l,d,r)})})}}class L{constructor(){this.name=p.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(void 0===t.texCoord||t.texCoord===e.channel)&&void 0===t.offset&&void 0===t.rotation&&void 0===t.scale||(e=e.clone(),void 0!==t.texCoord&&(e.channel=t.texCoord),void 0!==t.offset&&e.offset.fromArray(t.offset),void 0!==t.rotation&&(e.rotation=t.rotation),void 0!==t.scale&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class _{constructor(){this.name=p.KHR_MESH_QUANTIZATION}}class j extends i.lGw{constructor(e,t,r,n){super(e,t,r,n)}copySampleValue_(e){let t=this.resultBuffer,r=this.sampleValues,n=this.valueSize,i=e*n*3+n;for(let e=0;e!==n;e++)t[e]=r[i+e];return t}interpolate_(e,t,r,n){let i=this.resultBuffer,s=this.sampleValues,o=this.valueSize,a=2*o,l=3*o,u=n-t,c=(r-t)/u,h=c*c,d=h*c,f=e*l,A=f-l,p=-2*d+3*h,B=d-h,m=1-p,C=B-h+c;for(let e=0;e!==o;e++){let t=s[A+e+o],r=s[A+e+a]*u,n=s[f+e+o],l=s[f+e]*u;i[e]=m*t+C*r+p*n+B*l}return i}}let U=new i.PTz;class Q extends j{interpolate_(e,t,r,n){let i=super.interpolate_(e,t,r,n);return U.fromArray(i).normalize().toArray(i),i}}let k={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},K={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},N={9728:i.hxR,9729:i.k6q,9984:i.pHI,9985:i.kRr,9986:i.Cfg,9987:i.$_I},X={33071:i.ghU,33648:i.kTW,10497:i.GJx},Y={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},q={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",...u>=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"},W={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Z={CUBICSPLINE:void 0,LINEAR:i.PJ3,STEP:i.ljd},V={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function z(e,t,r){for(let n in r.extensions)void 0===e[n]&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[n]=r.extensions[n])}function $(e,t){void 0!==t.extras&&("object"==typeof t.extras?Object.assign(e.userData,t.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+t.extras))}function ee(e){let t="",r=Object.keys(e).sort();for(let n=0,i=r.length;n<i;n++)t+=r[n]+":"+e[r[n]]+";";return t}function et(e){switch(e){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}let er=new i.kn4;class en{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new A,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 r=!1,n=!1,s=-1;"undefined"!=typeof navigator&&void 0!==navigator.userAgent&&(r=!0===/^((?!chrome|android).)*safari/i.test(navigator.userAgent),s=(n=navigator.userAgent.indexOf("Firefox")>-1)?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),"undefined"==typeof createImageBitmap||r||n&&s<98?this.textureLoader=new i.Tap(this.options.manager):this.textureLoader=new i.Kzg(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new i.Y9S(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let r=this,n=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([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(t){let s={scene:t[0][n.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:n.asset,parser:r,userData:{}};return z(i,s,n),$(s,n),Promise.all(r._invokeAll(function(e){return e.afterRoot&&e.afterRoot(s)})).then(function(){for(let e of s.scenes)e.updateMatrixWorld();e(s)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],r=this.json.meshes||[];for(let r=0,n=t.length;r<n;r++){let n=t[r].joints;for(let t=0,r=n.length;t<r;t++)e[n[t]].isBone=!0}for(let t=0,n=e.length;t<n;t++){let n=e[t];void 0!==n.mesh&&(this._addNodeRef(this.meshCache,n.mesh),void 0!==n.skin&&(r[n.mesh].isSkinnedMesh=!0)),void 0!==n.camera&&this._addNodeRef(this.cameraCache,n.camera)}}_addNodeRef(e,t){void 0!==t&&(void 0===e.refs[t]&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,r){if(e.refs[t]<=1)return r;let n=r.clone(),i=(e,t)=>{let r=this.associations.get(e);for(let[n,s]of(null!=r&&this.associations.set(t,r),e.children.entries()))i(s,t.children[n])};return i(r,n),n.name+="_instance_"+e.uses[t]++,n}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let r=0;r<t.length;r++){let n=e(t[r]);if(n)return n}return null}_invokeAll(e){let t=Object.values(this.plugins);t.unshift(this);let r=[];for(let n=0;n<t.length;n++){let i=e(t[n]);i&&r.push(i)}return r}getDependency(e,t){let r=e+":"+t,n=this.cache.get(r);if(!n){switch(e){case"scene":n=this.loadScene(t);break;case"node":n=this._invokeOne(function(e){return e.loadNode&&e.loadNode(t)});break;case"mesh":n=this._invokeOne(function(e){return e.loadMesh&&e.loadMesh(t)});break;case"accessor":n=this.loadAccessor(t);break;case"bufferView":n=this._invokeOne(function(e){return e.loadBufferView&&e.loadBufferView(t)});break;case"buffer":n=this.loadBuffer(t);break;case"material":n=this._invokeOne(function(e){return e.loadMaterial&&e.loadMaterial(t)});break;case"texture":n=this._invokeOne(function(e){return e.loadTexture&&e.loadTexture(t)});break;case"skin":n=this.loadSkin(t);break;case"animation":n=this._invokeOne(function(e){return e.loadAnimation&&e.loadAnimation(t)});break;case"camera":n=this.loadCamera(t);break;default:if(!(n=this._invokeOne(function(r){return r!=this&&r.getDependency&&r.getDependency(e,t)})))throw Error("Unknown type: "+e)}this.cache.add(r,n)}return n}getDependencies(e){let t=this.cache.get(e);if(!t){let r=this;t=Promise.all((this.json[e+("mesh"===e?"es":"s")]||[]).map(function(t,n){return r.getDependency(e,n)})),this.cache.add(e,t)}return t}loadBuffer(e){let t=this.json.buffers[e],r=this.fileLoader;if(t.type&&"arraybuffer"!==t.type)throw Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(void 0===t.uri&&0===e)return Promise.resolve(this.extensions[p.KHR_BINARY_GLTF].body);let n=this.options;return new Promise(function(e,s){r.load(i.r6x.resolveURL(t.uri,n.path),e,void 0,function(){s(Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){let t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(e){let r=t.byteLength||0,n=t.byteOffset||0;return e.slice(n,n+r)})}loadAccessor(e){let t=this,r=this.json,n=this.json.accessors[e];if(void 0===n.bufferView&&void 0===n.sparse){let e=Y[n.type],t=K[n.componentType],r=!0===n.normalized,s=new t(n.count*e);return Promise.resolve(new i.THS(s,e,r))}let s=[];return void 0!==n.bufferView?s.push(this.getDependency("bufferView",n.bufferView)):s.push(null),void 0!==n.sparse&&(s.push(this.getDependency("bufferView",n.sparse.indices.bufferView)),s.push(this.getDependency("bufferView",n.sparse.values.bufferView))),Promise.all(s).then(function(e){let s,o,a=e[0],l=Y[n.type],u=K[n.componentType],c=u.BYTES_PER_ELEMENT,h=c*l,d=n.byteOffset||0,f=void 0!==n.bufferView?r.bufferViews[n.bufferView].byteStride:void 0,A=!0===n.normalized;if(f&&f!==h){let e=Math.floor(d/f),r="InterleavedBuffer:"+n.bufferView+":"+n.componentType+":"+e+":"+n.count,h=t.cache.get(r);h||(s=new u(a,e*f,n.count*f/c),h=new i.eB$(s,f/c),t.cache.add(r,h)),o=new i.eHs(h,l,d%f/c,A)}else s=null===a?new u(n.count*l):new u(a,d,n.count*l),o=new i.THS(s,l,A);if(void 0!==n.sparse){let t=Y.SCALAR,r=K[n.sparse.indices.componentType],s=n.sparse.indices.byteOffset||0,c=n.sparse.values.byteOffset||0,h=new r(e[1],s,n.sparse.count*t),d=new u(e[2],c,n.sparse.count*l);null!==a&&(o=new i.THS(o.array.slice(),o.itemSize,o.normalized));for(let e=0,t=h.length;e<t;e++){let t=h[e];if(o.setX(t,d[e*l]),l>=2&&o.setY(t,d[e*l+1]),l>=3&&o.setZ(t,d[e*l+2]),l>=4&&o.setW(t,d[e*l+3]),l>=5)throw Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return o})}loadTexture(e){let t=this.json,r=this.options,n=t.textures[e].source,i=t.images[n],s=this.textureLoader;if(i.uri){let e=r.manager.getHandler(i.uri);null!==e&&(s=e)}return this.loadTextureImage(e,n,s)}loadTextureImage(e,t,r){let n=this,s=this.json,o=s.textures[e],a=s.images[t],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];let u=this.loadImageSource(t,r).then(function(t){t.flipY=!1,t.name=o.name||a.name||"",""===t.name&&"string"==typeof a.uri&&!1===a.uri.startsWith("data:image/")&&(t.name=a.uri);let r=(s.samplers||{})[o.sampler]||{};return t.magFilter=N[r.magFilter]||i.k6q,t.minFilter=N[r.minFilter]||i.$_I,t.wrapS=X[r.wrapS]||i.GJx,t.wrapT=X[r.wrapT]||i.GJx,n.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){let r=this.json,n=this.options;if(void 0!==this.sourceCache[e])return this.sourceCache[e].then(e=>e.clone());let s=r.images[e],o=self.URL||self.webkitURL,a=s.uri||"",l=!1;if(void 0!==s.bufferView)a=this.getDependency("bufferView",s.bufferView).then(function(e){l=!0;let t=new Blob([e],{type:s.mimeType});return a=o.createObjectURL(t)});else if(void 0===s.uri)throw Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");let u=Promise.resolve(a).then(function(e){return new Promise(function(r,s){let o=r;!0===t.isImageBitmapLoader&&(o=function(e){let t=new i.gPd(e);t.needsUpdate=!0,r(t)}),t.load(i.r6x.resolveURL(e,n.path),o,void 0,s)})}).then(function(e){var t;return!0===l&&o.revokeObjectURL(a),$(e,s),e.userData.mimeType=s.mimeType||((t=s.uri).search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/)?"image/jpeg":t.search(/\.webp($|\?)/i)>0||0===t.search(/^data\:image\/webp/)?"image/webp":"image/png"),e}).catch(function(e){throw console.error("THREE.GLTFLoader: Couldn't load texture",a),e});return this.sourceCache[e]=u,u}assignTexture(e,t,r,n){let i=this;return this.getDependency("texture",r.index).then(function(s){if(!s)return null;if(void 0!==r.texCoord&&r.texCoord>0&&((s=s.clone()).channel=r.texCoord),i.extensions[p.KHR_TEXTURE_TRANSFORM]){let e=void 0!==r.extensions?r.extensions[p.KHR_TEXTURE_TRANSFORM]:void 0;if(e){let t=i.associations.get(s);s=i.extensions[p.KHR_TEXTURE_TRANSFORM].extendTexture(s,e),i.associations.set(s,t)}}return void 0!==n&&("number"==typeof n&&(n=3001===n?h:d),"colorSpace"in s?s.colorSpace=n:s.encoding=n===h?3001:3e3),e[t]=s,s})}assignFinalMaterial(e){let t=e.geometry,r=e.material,n=void 0===t.attributes.tangent,s=void 0!==t.attributes.color,o=void 0===t.attributes.normal;if(e.isPoints){let e="PointsMaterial:"+r.uuid,t=this.cache.get(e);t||(t=new i.BH$,i.imn.prototype.copy.call(t,r),t.color.copy(r.color),t.map=r.map,t.sizeAttenuation=!1,this.cache.add(e,t)),r=t}else if(e.isLine){let e="LineBasicMaterial:"+r.uuid,t=this.cache.get(e);t||(t=new i.mrM,i.imn.prototype.copy.call(t,r),t.color.copy(r.color),t.map=r.map,this.cache.add(e,t)),r=t}if(n||s||o){let e="ClonedMaterial:"+r.uuid+":";n&&(e+="derivative-tangents:"),s&&(e+="vertex-colors:"),o&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=r.clone(),s&&(t.vertexColors=!0),o&&(t.flatShading=!0),n&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(r))),r=t}e.material=r}getMaterialType(){return i._4j}loadMaterial(e){let t,r=this,n=this.json,s=this.extensions,o=n.materials[e],a={},l=o.extensions||{},u=[];if(l[p.KHR_MATERIALS_UNLIT]){let e=s[p.KHR_MATERIALS_UNLIT];t=e.getMaterialType(),u.push(e.extendParams(a,o,r))}else{let n=o.pbrMetallicRoughness||{};if(a.color=new i.Q1f(1,1,1),a.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;a.color.setRGB(e[0],e[1],e[2],d),a.opacity=e[3]}void 0!==n.baseColorTexture&&u.push(r.assignTexture(a,"map",n.baseColorTexture,h)),a.metalness=void 0!==n.metallicFactor?n.metallicFactor:1,a.roughness=void 0!==n.roughnessFactor?n.roughnessFactor:1,void 0!==n.metallicRoughnessTexture&&(u.push(r.assignTexture(a,"metalnessMap",n.metallicRoughnessTexture)),u.push(r.assignTexture(a,"roughnessMap",n.metallicRoughnessTexture))),t=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,a)})))}!0===o.doubleSided&&(a.side=i.$EB);let c=o.alphaMode||V.OPAQUE;if(c===V.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,c===V.MASK&&(a.alphaTest=void 0!==o.alphaCutoff?o.alphaCutoff:.5)),void 0!==o.normalTexture&&t!==i.V9B&&(u.push(r.assignTexture(a,"normalMap",o.normalTexture)),a.normalScale=new i.I9Y(1,1),void 0!==o.normalTexture.scale)){let e=o.normalTexture.scale;a.normalScale.set(e,e)}if(void 0!==o.occlusionTexture&&t!==i.V9B&&(u.push(r.assignTexture(a,"aoMap",o.occlusionTexture)),void 0!==o.occlusionTexture.strength&&(a.aoMapIntensity=o.occlusionTexture.strength)),void 0!==o.emissiveFactor&&t!==i.V9B){let e=o.emissiveFactor;a.emissive=new i.Q1f().setRGB(e[0],e[1],e[2],d)}return void 0!==o.emissiveTexture&&t!==i.V9B&&u.push(r.assignTexture(a,"emissiveMap",o.emissiveTexture,h)),Promise.all(u).then(function(){let n=new t(a);return o.name&&(n.name=o.name),$(n,o),r.associations.set(n,{materials:e}),o.extensions&&z(s,n,o),n})}createUniqueName(e){let t=i.Nwf.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,r=this.extensions,n=this.primitiveCache,s=[];for(let o=0,a=e.length;o<a;o++){let a=e[o],l=function(e){let t,r=e.extensions&&e.extensions[p.KHR_DRACO_MESH_COMPRESSION];if(t=r?"draco:"+r.bufferView+":"+r.indices+":"+ee(r.attributes):e.indices+":"+ee(e.attributes)+":"+e.mode,void 0!==e.targets)for(let r=0,n=e.targets.length;r<n;r++)t+=":"+ee(e.targets[r]);return t}(a),u=n[l];if(u)s.push(u.promise);else{let e;e=a.extensions&&a.extensions[p.KHR_DRACO_MESH_COMPRESSION]?function(e){return r[p.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(r){return ei(r,e,t)})}(a):ei(new i.LoY,a,t),n[l]={primitive:a,promise:e},s.push(e)}}return Promise.all(s)}loadMesh(e){let t=this,r=this.json,n=this.extensions,s=r.meshes[e],o=s.primitives,a=[];for(let e=0,t=o.length;e<t;e++){var u;let t=void 0===o[e].material?(void 0===(u=this.cache).DefaultMaterial&&(u.DefaultMaterial=new i._4j({color:0xffffff,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:i.hB5})),u.DefaultMaterial):this.getDependency("material",o[e].material);a.push(t)}return a.push(t.loadGeometries(o)),Promise.all(a).then(function(r){let a=r.slice(0,r.length-1),u=r[r.length-1],c=[];for(let r=0,h=u.length;r<h;r++){let h,d=u[r],f=o[r],A=a[r];if(f.mode===k.TRIANGLES||f.mode===k.TRIANGLE_STRIP||f.mode===k.TRIANGLE_FAN||void 0===f.mode)!0===(h=!0===s.isSkinnedMesh?new i.I46(d,A):new i.eaF(d,A)).isSkinnedMesh&&h.normalizeSkinWeights(),f.mode===k.TRIANGLE_STRIP?h.geometry=l(h.geometry,i.O49):f.mode===k.TRIANGLE_FAN&&(h.geometry=l(h.geometry,i.rYR));else if(f.mode===k.LINES)h=new i.DXC(d,A);else if(f.mode===k.LINE_STRIP)h=new i.N1A(d,A);else if(f.mode===k.LINE_LOOP)h=new i.FCc(d,A);else if(f.mode===k.POINTS)h=new i.ONl(d,A);else throw Error("THREE.GLTFLoader: Primitive mode unsupported: "+f.mode);Object.keys(h.geometry.morphAttributes).length>0&&function(e,t){if(e.updateMorphTargets(),void 0!==t.weights)for(let r=0,n=t.weights.length;r<n;r++)e.morphTargetInfluences[r]=t.weights[r];if(t.extras&&Array.isArray(t.extras.targetNames)){let r=t.extras.targetNames;if(e.morphTargetInfluences.length===r.length){e.morphTargetDictionary={};for(let t=0,n=r.length;t<n;t++)e.morphTargetDictionary[r[t]]=t}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}(h,s),h.name=t.createUniqueName(s.name||"mesh_"+e),$(h,s),f.extensions&&z(n,h,f),t.assignFinalMaterial(h),c.push(h)}for(let r=0,n=c.length;r<n;r++)t.associations.set(c[r],{meshes:e,primitives:r});if(1===c.length)return s.extensions&&z(n,c[0],s),c[0];let h=new i.YJl;s.extensions&&z(n,h,s),t.associations.set(h,{meshes:e});for(let e=0,t=c.length;e<t;e++)h.add(c[e]);return h})}loadCamera(e){let t,r=this.json.cameras[e],n=r[r.type];return n?("perspective"===r.type?t=new i.ubm(i.cj9.radToDeg(n.yfov),n.aspectRatio||1,n.znear||1,n.zfar||2e6):"orthographic"===r.type&&(t=new i.qUd(-n.xmag,n.xmag,n.ymag,-n.ymag,n.znear,n.zfar)),r.name&&(t.name=this.createUniqueName(r.name)),$(t,r),Promise.resolve(t)):void console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(e){let t=this.json.skins[e],r=[];for(let e=0,n=t.joints.length;e<n;e++)r.push(this._loadNodeShallow(t.joints[e]));return void 0!==t.inverseBindMatrices?r.push(this.getDependency("accessor",t.inverseBindMatrices)):r.push(null),Promise.all(r).then(function(e){let r=e.pop(),n=[],s=[];for(let o=0,a=e.length;o<a;o++){let a=e[o];if(a){n.push(a);let e=new i.kn4;null!==r&&e.fromArray(r.array,16*o),s.push(e)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[o])}return new i.EAD(n,s)})}loadAnimation(e){let t=this.json,r=this,n=t.animations[e],s=n.name?n.name:"animation_"+e,o=[],a=[],l=[],u=[],c=[];for(let e=0,t=n.channels.length;e<t;e++){let t=n.channels[e],r=n.samplers[t.sampler],i=t.target,s=i.node,h=void 0!==n.parameters?n.parameters[r.input]:r.input,d=void 0!==n.parameters?n.parameters[r.output]:r.output;void 0!==i.node&&(o.push(this.getDependency("node",s)),a.push(this.getDependency("accessor",h)),l.push(this.getDependency("accessor",d)),u.push(r),c.push(i))}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l),Promise.all(u),Promise.all(c)]).then(function(e){let t=e[0],n=e[1],o=e[2],a=e[3],l=e[4],u=[];for(let e=0,i=t.length;e<i;e++){let i=t[e],s=n[e],c=o[e],h=a[e],d=l[e];if(void 0===i)continue;i.updateMatrix&&i.updateMatrix();let f=r._createAnimationTracks(i,s,c,h,d);if(f)for(let e=0;e<f.length;e++)u.push(f[e])}return new i.tz3(s,void 0,u)})}createNodeMesh(e){let t=this.json,r=this,n=t.nodes[e];return void 0===n.mesh?null:r.getDependency("mesh",n.mesh).then(function(e){let t=r._getNodeRef(r.meshCache,n.mesh,e);return void 0!==n.weights&&t.traverse(function(e){if(e.isMesh)for(let t=0,r=n.weights.length;t<r;t++)e.morphTargetInfluences[t]=n.weights[t]}),t})}loadNode(e){let t=this.json.nodes[e],r=this._loadNodeShallow(e),n=[],i=t.children||[];for(let e=0,t=i.length;e<t;e++)n.push(this.getDependency("node",i[e]));let s=void 0===t.skin?Promise.resolve(null):this.getDependency("skin",t.skin);return Promise.all([r,Promise.all(n),s]).then(function(e){let t=e[0],r=e[1],n=e[2];null!==n&&t.traverse(function(e){e.isSkinnedMesh&&e.bind(n,er)});for(let e=0,n=r.length;e<n;e++)t.add(r[e]);return t})}_loadNodeShallow(e){let t=this.json,r=this.extensions,n=this;if(void 0!==this.nodeCache[e])return this.nodeCache[e];let s=t.nodes[e],o=s.name?n.createUniqueName(s.name):"",a=[],l=n._invokeOne(function(t){return t.createNodeMesh&&t.createNodeMesh(e)});return l&&a.push(l),void 0!==s.camera&&a.push(n.getDependency("camera",s.camera).then(function(e){return n._getNodeRef(n.cameraCache,s.camera,e)})),n._invokeAll(function(t){return t.createNodeAttachment&&t.createNodeAttachment(e)}).forEach(function(e){a.push(e)}),this.nodeCache[e]=Promise.all(a).then(function(t){let a;if((a=!0===s.isBone?new i.$Kf:t.length>1?new i.YJl:1===t.length?t[0]:new i.B69)!==t[0])for(let e=0,r=t.length;e<r;e++)a.add(t[e]);if(s.name&&(a.userData.name=s.name,a.name=o),$(a,s),s.extensions&&z(r,a,s),void 0!==s.matrix){let e=new i.kn4;e.fromArray(s.matrix),a.applyMatrix4(e)}else void 0!==s.translation&&a.position.fromArray(s.translation),void 0!==s.rotation&&a.quaternion.fromArray(s.rotation),void 0!==s.scale&&a.scale.fromArray(s.scale);return n.associations.has(a)||n.associations.set(a,{}),n.associations.get(a).nodes=e,a}),this.nodeCache[e]}loadScene(e){let t=this.extensions,r=this.json.scenes[e],n=this,s=new i.YJl;r.name&&(s.name=n.createUniqueName(r.name)),$(s,r),r.extensions&&z(t,s,r);let o=r.nodes||[],a=[];for(let e=0,t=o.length;e<t;e++)a.push(n.getDependency("node",o[e]));return Promise.all(a).then(function(e){for(let t=0,r=e.length;t<r;t++)s.add(e[t]);return n.associations=(e=>{let t=new Map;for(let[e,r]of n.associations)(e instanceof i.imn||e instanceof i.gPd)&&t.set(e,r);return e.traverse(e=>{let r=n.associations.get(e);null!=r&&t.set(e,r)}),t})(s),s})}_createAnimationTracks(e,t,r,n,s){let o,a=[],l=e.name?e.name:e.uuid,u=[];switch(W[s.path]===W.weights?e.traverse(function(e){e.morphTargetInfluences&&u.push(e.name?e.name:e.uuid)}):u.push(l),W[s.path]){case W.weights:o=i.Hit;break;case W.rotation:o=i.MBL;break;case W.position:case W.scale:o=i.RiT;break;default:o=1===r.itemSize?i.Hit:i.RiT}let c=void 0!==n.interpolation?Z[n.interpolation]:i.PJ3,h=this._getArrayFromAccessor(r);for(let e=0,r=u.length;e<r;e++){let r=new o(u[e]+"."+W[s.path],t.array,h,c);"CUBICSPLINE"===n.interpolation&&this._createCubicSplineTrackInterpolant(r),a.push(r)}return a}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){let e=et(t.constructor),r=new Float32Array(t.length);for(let n=0,i=t.length;n<i;n++)r[n]=t[n]*e;t=r}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(e){return new(this instanceof i.MBL?Q:j)(this.times,this.values,this.getValueSize()/3,e)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function ei(e,t,r){let n=t.attributes,s=[];for(let t in n){let i=q[t]||t.toLowerCase();i in e.attributes||s.push(function(t,n){return r.getDependency("accessor",t).then(function(t){e.setAttribute(n,t)})}(n[t],i))}if(void 0!==t.indices&&!e.index){let n=r.getDependency("accessor",t.indices).then(function(t){e.setIndex(t)});s.push(n)}return $(e,t),!function(e,t,r){let n=t.attributes,s=new i.NRn;if(void 0===n.POSITION)return;{let e=r.json.accessors[n.POSITION],t=e.min,o=e.max;if(void 0===t||void 0===o)return console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(s.set(new i.Pq0(t[0],t[1],t[2]),new i.Pq0(o[0],o[1],o[2])),e.normalized){let t=et(K[e.componentType]);s.min.multiplyScalar(t),s.max.multiplyScalar(t)}}let o=t.targets;if(void 0!==o){let e=new i.Pq0,t=new i.Pq0;for(let n=0,i=o.length;n<i;n++){let i=o[n];if(void 0!==i.POSITION){let n=r.json.accessors[i.POSITION],s=n.min,o=n.max;if(void 0!==s&&void 0!==o){if(t.setX(Math.max(Math.abs(s[0]),Math.abs(o[0]))),t.setY(Math.max(Math.abs(s[1]),Math.abs(o[1]))),t.setZ(Math.max(Math.abs(s[2]),Math.abs(o[2]))),n.normalized){let e=et(K[n.componentType]);t.multiplyScalar(e)}e.max(t)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}s.expandByVector(e)}e.boundingBox=s;let a=new i.iyt;s.getCenter(a.center),a.radius=s.min.distanceTo(s.max)/2,e.boundingSphere=a}(e,t,r),Promise.all(s).then(function(){return void 0!==t.targets?function(e,t,r){let n=!1,i=!1,s=!1;for(let e=0,r=t.length;e<r;e++){let r=t[e];if(void 0!==r.POSITION&&(n=!0),void 0!==r.NORMAL&&(i=!0),void 0!==r.COLOR_0&&(s=!0),n&&i&&s)break}if(!n&&!i&&!s)return Promise.resolve(e);let o=[],a=[],l=[];for(let u=0,c=t.length;u<c;u++){let c=t[u];if(n){let t=void 0!==c.POSITION?r.getDependency("accessor",c.POSITION):e.attributes.position;o.push(t)}if(i){let t=void 0!==c.NORMAL?r.getDependency("accessor",c.NORMAL):e.attributes.normal;a.push(t)}if(s){let t=void 0!==c.COLOR_0?r.getDependency("accessor",c.COLOR_0):e.attributes.color;l.push(t)}}return Promise.all([Promise.all(o),Promise.all(a),Promise.all(l)]).then(function(t){let r=t[0],o=t[1],a=t[2];return n&&(e.morphAttributes.position=r),i&&(e.morphAttributes.normal=o),s&&(e.morphAttributes.color=a),e.morphTargetsRelative=!0,e})}(e,t.targets,r):e})}var es=r(99);let eo=null,ea="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function el(e=!0,t=!0,r){return i=>{r&&r(i),e&&(eo||(eo=new o),eo.setDecoderPath("string"==typeof e?e:ea),i.setDRACOLoader(eo)),t&&i.setMeshoptDecoder((()=>{let e;if(n)return n;let t=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]),r=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("object"!=typeof WebAssembly)return{supported:!1};let i="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";WebAssembly.validate(t)&&(i="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 s=WebAssembly.instantiate(function(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;++r){let n=e.charCodeAt(r);t[r]=n>96?n-71:n>64?n-65:n>47?n+4:n>46?63:62}let n=0;for(let i=0;i<e.length;++i)t[n++]=t[i]<60?r[t[i]]:(t[i]-60)*64+t[++i];return t.buffer.slice(0,n)}(i),{}).then(t=>{(e=t.instance).exports.__wasm_call_ctors()});function o(t,r,n,i,s,o){let a=e.exports.sbrk,l=n+3&-4,u=a(l*i),c=a(s.length),h=new Uint8Array(e.exports.memory.buffer);h.set(s,c);let d=t(u,n,i,c,s.length);if(0===d&&o&&o(u,l,i),r.set(h.subarray(u,u+n*i)),a(u-a(0)),0!==d)throw Error(`Malformed buffer data: ${d}`)}let a={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},l={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return n={ready:s,supported:!0,decodeVertexBuffer(t,r,n,i,s){o(e.exports.meshopt_decodeVertexBuffer,t,r,n,i,e.exports[a[s]])},decodeIndexBuffer(t,r,n,i){o(e.exports.meshopt_decodeIndexBuffer,t,r,n,i)},decodeIndexSequence(t,r,n,i){o(e.exports.meshopt_decodeIndexSequence,t,r,n,i)},decodeGltfBuffer(t,r,n,i,s,u){o(e.exports[l[s]],t,r,n,i,e.exports[a[u]])}}})())}}let eu=(e,t,r,n)=>(0,es.G)(f,e,el(t,r,n));eu.preload=(e,t,r,n)=>es.G.preload(f,e,el(t,r,n)),eu.clear=e=>es.G.clear(f,e),eu.setDecoderPath=e=>{ea=e}},1975:(e,t)=>{"use strict";t.ConcurrentRoot=1,t.ContinuousEventPriority=8,t.DefaultEventPriority=32,t.DiscreteEventPriority=2},2162:(e,t,r)=>{"use strict";r.d(t,{k:()=>s});var n=r(7126),i=r(4049),s=class{#l;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,i.gn)(this.gcTime)&&(this.#l=n.zs.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(i.S$?1/0:3e5))}clearGcTimeout(){this.#l&&(n.zs.clearTimeout(this.#l),this.#l=void 0)}}},2454:(e,t,r)=>{"use strict";r.d(t,{I:()=>v});var n=r(6195),i=r(4268),s=r(1668),o=r(8445),a=r(3515),l=r(4049),u=r(7126),c=class extends o.Q{constructor(e,t){super(),this.options=t,this.#n=e,this.#u=null,this.#c=(0,a.T)(),this.bindMethods(),this.setOptions(t)}#n;#h=void 0;#d=void 0;#f=void 0;#A;#p;#c;#u;#B;#m;#C;#y;#v;#b;#g=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#h.addObserver(this),h(this.#h,this.options)?this.#E():this.updateResult(),this.#M())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return d(this.#h,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return d(this.#h,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#F(),this.#R(),this.#h.removeObserver(this)}setOptions(e){let t=this.options,r=this.#h;if(this.options=this.#n.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,l.Eh)(this.options.enabled,this.#h))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#I(),this.#h.setOptions(this.options),t._defaulted&&!(0,l.f8)(this.options,t)&&this.#n.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#h,observer:this});let n=this.hasListeners();n&&f(this.#h,r,this.options,t)&&this.#E(),this.updateResult(),n&&(this.#h!==r||(0,l.Eh)(this.options.enabled,this.#h)!==(0,l.Eh)(t.enabled,this.#h)||(0,l.d2)(this.options.staleTime,this.#h)!==(0,l.d2)(t.staleTime,this.#h))&&this.#G();let i=this.#D();n&&(this.#h!==r||(0,l.Eh)(this.options.enabled,this.#h)!==(0,l.Eh)(t.enabled,this.#h)||i!==this.#b)&&this.#T(i)}getOptimisticResult(e){var t,r;let n=this.#n.getQueryCache().build(this.#n,e),i=this.createResult(n,e);return t=this,r=i,(0,l.f8)(t.getCurrentResult(),r)||(this.#f=i,this.#p=this.options,this.#A=this.#h.state),i}getCurrentResult(){return this.#f}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#c.status||this.#c.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#g.add(e)}getCurrentQuery(){return this.#h}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#n.defaultQueryOptions(e),r=this.#n.getQueryCache().build(this.#n,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#E({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#f))}#E(e){this.#I();let t=this.#h.fetch(this.options,e);return e?.throwOnError||(t=t.catch(l.lQ)),t}#G(){this.#F();let e=(0,l.d2)(this.options.staleTime,this.#h);if(l.S$||this.#f.isStale||!(0,l.gn)(e))return;let t=(0,l.j3)(this.#f.dataUpdatedAt,e);this.#y=u.zs.setTimeout(()=>{this.#f.isStale||this.updateResult()},t+1)}#D(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#h):this.options.refetchInterval)??!1}#T(e){this.#R(),this.#b=e,!l.S$&&!1!==(0,l.Eh)(this.options.enabled,this.#h)&&(0,l.gn)(this.#b)&&0!==this.#b&&(this.#v=u.zs.setInterval(()=>{(this.options.refetchIntervalInBackground||n.m.isFocused())&&this.#E()},this.#b))}#M(){this.#G(),this.#T(this.#D())}#F(){this.#y&&(u.zs.clearTimeout(this.#y),this.#y=void 0)}#R(){this.#v&&(u.zs.clearInterval(this.#v),this.#v=void 0)}createResult(e,t){let r,n=this.#h,i=this.options,o=this.#f,u=this.#A,c=this.#p,d=e!==n?e.state:this.#d,{state:p}=e,B={...p},m=!1;if(t._optimisticResults){let r=this.hasListeners(),o=!r&&h(e,t),a=r&&f(e,n,t,i);(o||a)&&(B={...B,...(0,s.k)(p.data,e.options)}),"isRestoring"===t._optimisticResults&&(B.fetchStatus="idle")}let{error:C,errorUpdatedAt:y,status:v}=B;r=B.data;let b=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===v){let e;o?.isPlaceholderData&&t.placeholderData===c?.placeholderData?(e=o.data,b=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#C?.state.data,this.#C):t.placeholderData,void 0!==e&&(v="success",r=(0,l.pl)(o?.data,e,t),m=!0)}if(t.select&&void 0!==r&&!b)if(o&&r===u?.data&&t.select===this.#B)r=this.#m;else try{this.#B=t.select,r=t.select(r),r=(0,l.pl)(o?.data,r,t),this.#m=r,this.#u=null}catch(e){this.#u=e}this.#u&&(C=this.#u,r=this.#m,y=Date.now(),v="error");let g="fetching"===B.fetchStatus,E="pending"===v,M="error"===v,F=E&&g,R=void 0!==r,I={status:v,fetchStatus:B.fetchStatus,isPending:E,isSuccess:"success"===v,isError:M,isInitialLoading:F,isLoading:F,data:r,dataUpdatedAt:B.dataUpdatedAt,error:C,errorUpdatedAt:y,failureCount:B.fetchFailureCount,failureReason:B.fetchFailureReason,errorUpdateCount:B.errorUpdateCount,isFetched:B.dataUpdateCount>0||B.errorUpdateCount>0,isFetchedAfterMount:B.dataUpdateCount>d.dataUpdateCount||B.errorUpdateCount>d.errorUpdateCount,isFetching:g,isRefetching:g&&!E,isLoadingError:M&&!R,isPaused:"paused"===B.fetchStatus,isPlaceholderData:m,isRefetchError:M&&R,isStale:A(e,t),refetch:this.refetch,promise:this.#c,isEnabled:!1!==(0,l.Eh)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=e=>{"error"===I.status?e.reject(I.error):void 0!==I.data&&e.resolve(I.data)},r=()=>{t(this.#c=I.promise=(0,a.T)())},i=this.#c;switch(i.status){case"pending":e.queryHash===n.queryHash&&t(i);break;case"fulfilled":("error"===I.status||I.data!==i.value)&&r();break;case"rejected":("error"!==I.status||I.error!==i.reason)&&r()}}return I}updateResult(){let e=this.#f,t=this.createResult(this.#h,this.options);if(this.#A=this.#h.state,this.#p=this.options,void 0!==this.#A.data&&(this.#C=this.#h),(0,l.f8)(t,e))return;this.#f=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#g.size)return!0;let n=new Set(r??this.#g);return this.options.throwOnError&&n.add("error"),Object.keys(this.#f).some(t=>this.#f[t]!==e[t]&&n.has(t))};this.#w({listeners:r()})}#I(){let e=this.#n.getQueryCache().build(this.#n,this.options);if(e===this.#h)return;let t=this.#h;this.#h=e,this.#d=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#M()}#w(e){i.jG.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#f)}),this.#n.getQueryCache().notify({query:this.#h,type:"observerResultsUpdated"})})}};function h(e,t){return!1!==(0,l.Eh)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&d(e,t,t.refetchOnMount)}function d(e,t,r){if(!1!==(0,l.Eh)(t.enabled,e)&&"static"!==(0,l.d2)(t.staleTime,e)){let n="function"==typeof r?r(e):r;return"always"===n||!1!==n&&A(e,t)}return!1}function f(e,t,r,n){return(e!==t||!1===(0,l.Eh)(n.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&A(e,r)}function A(e,t){return!1!==(0,l.Eh)(t.enabled,e)&&e.isStaleByTime((0,l.d2)(t.staleTime,e))}var p=r(2115),B=r(9776);r(5155);var m=p.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),C=p.createContext(!1);C.Provider;var y=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function v(e,t){return function(e,t,r){var n,s,o,a,u;let c=p.useContext(C),h=p.useContext(m),d=(0,B.jE)(r),f=d.defaultQueryOptions(e);if(null==(s=d.getDefaultOptions().queries)||null==(n=s._experimental_beforeQuery)||n.call(s,f),f._optimisticResults=c?"isRestoring":"optimistic",f.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=f.staleTime;f.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof f.gcTime&&(f.gcTime=Math.max(f.gcTime,1e3))}(f.suspense||f.throwOnError||f.experimental_prefetchInRender)&&!h.isReset()&&(f.retryOnMount=!1),p.useEffect(()=>{h.clearReset()},[h]);let A=!d.getQueryCache().get(f.queryHash),[v]=p.useState(()=>new t(d,f)),b=v.getOptimisticResult(f),g=!c&&!1!==e.subscribed;if(p.useSyncExternalStore(p.useCallback(e=>{let t=g?v.subscribe(i.jG.batchCalls(e)):l.lQ;return v.updateResult(),t},[v,g]),()=>v.getCurrentResult(),()=>v.getCurrentResult()),p.useEffect(()=>{v.setOptions(f)},[f,v]),f?.suspense&&b.isPending)throw y(f,v,h);if((e=>{let{result:t,errorResetBoundary:r,throwOnError:n,query:i,suspense:s}=e;return t.isError&&!r.isReset()&&!t.isFetching&&i&&(s&&void 0===t.data||(0,l.GU)(n,[t.error,i]))})({result:b,errorResetBoundary:h,throwOnError:f.throwOnError,query:d.getQueryCache().get(f.queryHash),suspense:f.suspense}))throw b.error;if(null==(a=d.getDefaultOptions().queries)||null==(o=a._experimental_afterQuery)||o.call(a,f,b),f.experimental_prefetchInRender&&!l.S$&&b.isLoading&&b.isFetching&&!c){let e=A?y(f,v,h):null==(u=d.getQueryCache().get(f.queryHash))?void 0:u.promise;null==e||e.catch(l.lQ).finally(()=>{v.updateResult()})}return f.notifyOnChangeProps?b:v.trackResult(b)}(e,c,t)}},2969:(e,t,r)=>{e=r.nmd(e);var n,i,s="__lodash_hash_undefined__",o=1/0,a="[object Arguments]",l="[object Array]",u="[object Boolean]",c="[object Date]",h="[object Error]",d="[object Function]",f="[object Map]",A="[object Number]",p="[object Object]",B="[object Promise]",m="[object RegExp]",C="[object Set]",y="[object String]",v="[object Symbol]",b="[object WeakMap]",g="[object ArrayBuffer]",E="[object DataView]",M=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,F=/^\w*$/,R=/^\./,I=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G=/\\(\\)?/g,D=/^\[object .+?Constructor\]$/,T=/^(?:0|[1-9]\d*)$/,w={};w["[object Float32Array]"]=w["[object Float64Array]"]=w["[object Int8Array]"]=w["[object Int16Array]"]=w["[object Int32Array]"]=w["[object Uint8Array]"]=w["[object Uint8ClampedArray]"]=w["[object Uint16Array]"]=w["[object Uint32Array]"]=!0,w[a]=w[l]=w[g]=w[u]=w[E]=w[c]=w[h]=w[d]=w[f]=w[A]=w[p]=w[m]=w[C]=w[y]=w[b]=!1;var H="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,x="object"==typeof self&&self&&self.Object===Object&&self,S=H||x||Function("return this")(),P=t&&!t.nodeType&&t,O=P&&e&&!e.nodeType&&e,J=O&&O.exports===P&&H.process,L=function(){try{return J&&J.binding("util")}catch(e){}}(),_=L&&L.isTypedArray;function j(e,t){for(var r=-1,n=e?e.length:0,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function U(e){return function(t){return e(t)}}function Q(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function k(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function K(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var N=Array.prototype,X=Function.prototype,Y=Object.prototype,q=S["__core-js_shared__"],W=function(){var e=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Z=X.toString,V=Y.hasOwnProperty,z=Y.toString,$=RegExp("^"+Z.call(V).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ee=S.Symbol,et=S.Uint8Array,er=Y.propertyIsEnumerable,en=N.splice,ei=(n=Object.keys,i=Object,function(e){return n(i(e))}),es=ex(S,"DataView"),eo=ex(S,"Map"),ea=ex(S,"Promise"),el=ex(S,"Set"),eu=ex(S,"WeakMap"),ec=ex(Object,"create"),eh=ej(es),ed=ej(eo),ef=ej(ea),eA=ej(el),ep=ej(eu),eB=ee?ee.prototype:void 0,em=eB?eB.valueOf:void 0,eC=eB?eB.toString:void 0;function ey(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ev(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function eb(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function eg(e){var t=-1,r=e?e.length:0;for(this.__data__=new eb;++t<r;)this.add(e[t])}function eE(e){this.__data__=new ev(e)}function eM(e,t){for(var r=e.length;r--;)if(eQ(e[r][0],t))return r;return -1}ey.prototype.clear=function(){this.__data__=ec?ec(null):{}},ey.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},ey.prototype.get=function(e){var t=this.__data__;if(ec){var r=t[e];return r===s?void 0:r}return V.call(t,e)?t[e]:void 0},ey.prototype.has=function(e){var t=this.__data__;return ec?void 0!==t[e]:V.call(t,e)},ey.prototype.set=function(e,t){return this.__data__[e]=ec&&void 0===t?s:t,this},ev.prototype.clear=function(){this.__data__=[]},ev.prototype.delete=function(e){var t=this.__data__,r=eM(t,e);return!(r<0)&&(r==t.length-1?t.pop():en.call(t,r,1),!0)},ev.prototype.get=function(e){var t=this.__data__,r=eM(t,e);return r<0?void 0:t[r][1]},ev.prototype.has=function(e){return eM(this.__data__,e)>-1},ev.prototype.set=function(e,t){var r=this.__data__,n=eM(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},eb.prototype.clear=function(){this.__data__={hash:new ey,map:new(eo||ev),string:new ey}},eb.prototype.delete=function(e){return eH(this,e).delete(e)},eb.prototype.get=function(e){return eH(this,e).get(e)},eb.prototype.has=function(e){return eH(this,e).has(e)},eb.prototype.set=function(e,t){return eH(this,e).set(e,t),this},eg.prototype.add=eg.prototype.push=function(e){return this.__data__.set(e,s),this},eg.prototype.has=function(e){return this.__data__.has(e)},eE.prototype.clear=function(){this.__data__=new ev},eE.prototype.delete=function(e){return this.__data__.delete(e)},eE.prototype.get=function(e){return this.__data__.get(e)},eE.prototype.has=function(e){return this.__data__.has(e)},eE.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ev){var n=r.__data__;if(!eo||n.length<199)return n.push([e,t]),this;r=this.__data__=new eb(n)}return r.set(e,t),this};var eF=function(e,t){return function(r,n){if(null==r)return r;if(!eN(r))return e(r,n);for(var i=r.length,s=-1,o=Object(r);(t?s--:++s<i)&&!1!==n(o[s],s,o););return r}}(function(e,t){return e&&eR(e,t,ez)}),eR=function(e,t,r){for(var n=-1,i=Object(e),s=r(e),o=s.length;o--;){var a=s[++n];if(!1===t(i[a],a,i))break}return e};function eI(e,t){var r;t=eO(t,e)?[t]:eK(r=t)?r:eL(r);for(var n=0,i=t.length;null!=e&&n<i;)e=e[e_(t[n++])];return n&&n==i?e:void 0}function eG(e,t){return null!=e&&t in Object(e)}function eD(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(eq(e)||eW(t))?function(e,t,r,n,i,s){var o=eK(e),d=eK(t),B=l,b=l;o||(B=(B=eS(e))==a?p:B),d||(b=(b=eS(t))==a?p:b);var M=B==p&&!Q(e),F=b==p&&!Q(t),R=B==b;if(R&&!M)return s||(s=new eE),o||eV(e)?ew(e,t,r,n,i,s):function(e,t,r,n,i,s,o){switch(r){case E:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case g:if(e.byteLength!=t.byteLength||!n(new et(e),new et(t)))break;return!0;case u:case c:case A:return eQ(+e,+t);case h:return e.name==t.name&&e.message==t.message;case m:case y:return e==t+"";case f:var a=k;case C:var l=2&s;if(a||(a=K),e.size!=t.size&&!l)break;var d=o.get(e);if(d)return d==t;s|=1,o.set(e,t);var p=ew(a(e),a(t),n,i,s,o);return o.delete(e),p;case v:if(em)return em.call(e)==em.call(t)}return!1}(e,t,B,r,n,i,s);if(!(2&i)){var I=M&&V.call(e,"__wrapped__"),G=F&&V.call(t,"__wrapped__");if(I||G){var D=I?e.value():e,T=G?t.value():t;return s||(s=new eE),r(D,T,n,i,s)}}return!!R&&(s||(s=new eE),function(e,t,r,n,i,s){var o=2&i,a=ez(e),l=a.length;if(l!=ez(t).length&&!o)return!1;for(var u=l;u--;){var c=a[u];if(!(o?c in t:V.call(t,c)))return!1}var h=s.get(e);if(h&&s.get(t))return h==t;var d=!0;s.set(e,t),s.set(t,e);for(var f=o;++u<l;){var A=e[c=a[u]],p=t[c];if(n)var B=o?n(p,A,c,t,e,s):n(A,p,c,e,t,s);if(!(void 0===B?A===p||r(A,p,n,i,s):B)){d=!1;break}f||(f="constructor"==c)}if(d&&!f){var m=e.constructor,C=t.constructor;m!=C&&"constructor"in e&&"constructor"in t&&!("function"==typeof m&&m instanceof m&&"function"==typeof C&&C instanceof C)&&(d=!1)}return s.delete(e),s.delete(t),d}(e,t,r,n,i,s))}(e,t,eD,r,n,i):e!=e&&t!=t)}function eT(e){var t,r,n,i;return"function"==typeof e?e:null==e?e$:"object"==typeof e?eK(e)?(t=e[0],r=e[1],eO(t)&&function(e){return e==e&&!eq(e)}(r)?eJ(e_(t),r):function(e){var n,i,s,o,a,l=(n=e,i=t,void 0===(s=null==n?void 0:eI(n,i))?void 0:s);return void 0===l&&l===r?(o=e,a=t,null!=o&&function(e,t,r){t=eO(t,e)?[t]:eK(n=t)?n:eL(n);for(var n,i,s=-1,o=t.length;++s<o;){var a=e_(t[s]);if(!(i=null!=e&&r(e,a)))break;e=e[a]}if(i)return i;var o=e?e.length:0;return!!o&&eY(o)&&eP(a,o)&&(eK(e)||ek(e))}(o,a,eG)):eD(r,l,void 0,3)}):1==(i=function(e){for(var t=ez(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,function(e){return e==e&&!eq(e)}(i)]}return t}(n=e)).length&&i[0][2]?eJ(i[0][0],i[0][1]):function(e){return e===n||function(e,t,r,n){var i=r.length,s=i;if(null==e)return!s;for(e=Object(e);i--;){var o=r[i];if((0,o[2])?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<s;){var a=(o=r[i])[0],l=e[a],u=o[1];if(0,o[2]){if(void 0===l&&!(a in e))return!1}else{var c,h=new eE;!1;if(!(void 0===c?eD(u,l,n,3,h):c))return!1}}return!0}(e,n,i)}:function(e){var t;return eO(e)?(t=e_(e),function(e){return null==e?void 0:e[t]}):function(t){return eI(t,e)}}(e)}function ew(e,t,r,n,i,s){var o=2&i,a=e.length,l=t.length;if(a!=l&&!(o&&l>a))return!1;var u=s.get(e);if(u&&s.get(t))return u==t;var c=-1,h=!0,d=1&i?new eg:void 0;for(s.set(e,t),s.set(t,e);++c<a;){var f=e[c],A=t[c];if(n)var p=o?n(A,f,c,t,e,s):n(f,A,c,e,t,s);if(void 0!==p){if(p)continue;h=!1;break}if(d){if(!function(e,t){for(var r=-1,n=e?e.length:0;++r<n;)if(t(e[r],r,e))return!0;return!1}(t,function(e,t){if(!d.has(t)&&(f===e||r(f,e,n,i,s)))return d.add(t)})){h=!1;break}}else if(!(f===A||r(f,A,n,i,s))){h=!1;break}}return s.delete(e),s.delete(t),h}function eH(e,t){var r,n,i=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof t?"string":"hash"]:i.map}function ex(e,t){var r,n=null==e?void 0:e[t];return!(!eq(n)||(r=n,W&&W in r))&&(eX(n)||Q(n)?$:D).test(ej(n))?n:void 0}var eS=function(e){return z.call(e)};function eP(e,t){return!!(t=null==t?0x1fffffffffffff:t)&&("number"==typeof e||T.test(e))&&e>-1&&e%1==0&&e<t}function eO(e,t){if(eK(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||eZ(e))||F.test(e)||!M.test(e)||null!=t&&e in Object(t)}function eJ(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}(es&&eS(new es(new ArrayBuffer(1)))!=E||eo&&eS(new eo)!=f||ea&&eS(ea.resolve())!=B||el&&eS(new el)!=C||eu&&eS(new eu)!=b)&&(eS=function(e){var t=z.call(e),r=t==p?e.constructor:void 0,n=r?ej(r):void 0;if(n)switch(n){case eh:return E;case ed:return f;case ef:return B;case eA:return C;case ep:return b}return t});var eL=eU(function(e){e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(eZ(e))return eC?eC.call(e):"";var t=e+"";return"0"==t&&1/e==-o?"-0":t}(t);var t,r=[];return R.test(e)&&r.push(""),e.replace(I,function(e,t,n,i){r.push(n?i.replace(G,"$1"):t||e)}),r});function e_(e){if("string"==typeof e||eZ(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}function ej(e){if(null!=e){try{return Z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function eU(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw TypeError("Expected a function");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var o=e.apply(this,n);return r.cache=s.set(i,o),o};return r.cache=new(eU.Cache||eb),r}function eQ(e,t){return e===t||e!=e&&t!=t}function ek(e){var t;return eW(t=e)&&eN(t)&&V.call(e,"callee")&&(!er.call(e,"callee")||z.call(e)==a)}eU.Cache=eb;var eK=Array.isArray;function eN(e){return null!=e&&eY(e.length)&&!eX(e)}function eX(e){var t=eq(e)?z.call(e):"";return t==d||"[object GeneratorFunction]"==t}function eY(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function eq(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eW(e){return!!e&&"object"==typeof e}function eZ(e){return"symbol"==typeof e||eW(e)&&z.call(e)==v}var eV=_?U(_):function(e){return eW(e)&&eY(e.length)&&!!w[z.call(e)]};function ez(e){return eN(e)?function(e,t){var r=eK(e)||ek(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,i=!!n;for(var s in e)V.call(e,s)&&!(i&&("length"==s||eP(s,n)))&&r.push(s);return r}(e):function(e){if(r=(t=e)&&t.constructor,t!==("function"==typeof r&&r.prototype||Y))return ei(e);var t,r,n=[];for(var i in Object(e))V.call(e,i)&&"constructor"!=i&&n.push(i);return n}(e)}function e$(e){return e}e.exports=function(e,t,r,n){return null==e?[]:(eK(t)||(t=null==t?[]:[t]),eK(r=n?void 0:r)||(r=null==r?[]:[r]),function(e,t,r){var n,i,s,o=-1;t=j(t.length?t:[e$],U(eT));var a=(n=function(e,r,n){return{criteria:j(t,function(t){return t(e)}),index:++o,value:e}},i=-1,s=eN(e)?Array(e.length):[],eF(e,function(e,t,r){s[++i]=n(e,t,r)}),s),l=a.length;for(a.sort(function(e,t){return function(e,t,r){for(var n=-1,i=e.criteria,s=t.criteria,o=i.length,a=r.length;++n<o;){var l=function(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=e==e,s=eZ(e),o=void 0!==t,a=null===t,l=t==t,u=eZ(t);if(!a&&!u&&!s&&e>t||s&&o&&l&&!a&&!u||n&&o&&l||!r&&l||!i)return 1;if(!n&&!s&&!u&&e<t||u&&r&&i&&!n&&!s||a&&r&&i||!o&&i||!l)return -1}return 0}(i[n],s[n]);if(l){if(n>=a)return l;return l*("desc"==r[n]?-1:1)}}return e.index-t.index}(e,t,r)});l--;)a[l]=a[l].value;return a}(e,t,r))}},3049:(e,t,r)=>{"use strict";r.d(t,{II:()=>c,cc:()=>u,v_:()=>l});var n=r(6195),i=r(3122),s=r(3515),o=r(4049);function a(e){return Math.min(1e3*2**e,3e4)}function l(e){return(e??"online")!=="online"||i.t.isOnline()}var u=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function c(e){let t,r=!1,c=0,h=(0,s.T)(),d=()=>n.m.isFocused()&&("always"===e.networkMode||i.t.isOnline())&&e.canRun(),f=()=>l(e.networkMode)&&e.canRun(),A=e=>{"pending"===h.status&&(t?.(),h.resolve(e))},p=e=>{"pending"===h.status&&(t?.(),h.reject(e))},B=()=>new Promise(r=>{t=e=>{("pending"!==h.status||d())&&r(e)},e.onPause?.()}).then(()=>{t=void 0,"pending"===h.status&&e.onContinue?.()}),m=()=>{let t;if("pending"!==h.status)return;let n=0===c?e.initialPromise:void 0;try{t=n??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(A).catch(t=>{if("pending"!==h.status)return;let n=e.retry??3*!o.S$,i=e.retryDelay??a,s="function"==typeof i?i(c,t):i,l=!0===n||"number"==typeof n&&c<n||"function"==typeof n&&n(c,t);if(r||!l)return void p(t);c++,e.onFail?.(c,t),(0,o.yy)(s).then(()=>d()?void 0:B()).then(()=>{r?p(t):m()})})};return{promise:h,status:()=>h.status,cancel:t=>{if("pending"===h.status){let r=new u(t);p(r),e.onCancel?.(r)}},continue:()=>(t?.(),h),cancelRetry:()=>{r=!0},continueRetry:()=>{r=!1},canStart:f,start:()=>(f()?m():B().then(m),h)}}},3122:(e,t,r)=>{"use strict";r.d(t,{t:()=>s});var n=r(8445),i=r(4049),s=new class extends n.Q{#H=!0;#x;#S;constructor(){super(),this.#S=e=>{if(!i.S$&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#x||this.setEventListener(this.#S)}onUnsubscribe(){this.hasListeners()||(this.#x?.(),this.#x=void 0)}setEventListener(e){this.#S=e,this.#x?.(),this.#x=e(this.setOnline.bind(this))}setOnline(e){this.#H!==e&&(this.#H=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#H}}},3515:(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});function n(e){Object.assign(r,e),delete r.resolve,delete r.reject}return r.status="pending",r.catch(()=>{}),r.resolve=t=>{n({status:"fulfilled",value:t}),e(t)},r.reject=e=>{n({status:"rejected",reason:e}),t(e)},r}r.d(t,{T:()=>n})},3522:(e,t,r)=>{"use strict";r.d(t,{E:()=>m});var n=r(4049),i=r(1668),s=r(4268),o=r(8445),a=class extends o.Q{constructor(e={}){super(),this.config=e,this.#P=new Map}#P;build(e,t,r){let s=t.queryKey,o=t.queryHash??(0,n.F$)(s,t),a=this.get(o);return a||(a=new i.X({client:e,queryKey:s,queryHash:o,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(s)}),this.add(a)),a}add(e){this.#P.has(e.queryHash)||(this.#P.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#P.get(e.queryHash);t&&(e.destroy(),t===e&&this.#P.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){s.jG.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#P.get(e)}getAll(){return[...this.#P.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.MK)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,n.MK)(e,t)):t}notify(e){s.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){s.jG.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){s.jG.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},l=r(2162),u=r(3049),c=class extends l.k{#n;#O;#J;#i;constructor(e){super(),this.#n=e.client,this.mutationId=e.mutationId,this.#J=e.mutationCache,this.#O=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},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.#O.includes(e)||(this.#O.push(e),this.clearGcTimeout(),this.#J.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#O=this.#O.filter(t=>t!==e),this.scheduleGc(),this.#J.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#O.length||("pending"===this.state.status?this.scheduleGc():this.#J.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#a({type:"continue"})},r={client:this.#n,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#i=(0,u.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#a({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#a({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#J.canRun(this)});let n="pending"===this.state.status,i=!this.#i.canStart();try{if(n)t();else{this.#a({type:"pending",variables:e,isPaused:i}),await this.#J.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#a({type:"pending",context:t,variables:e,isPaused:i})}let s=await this.#i.start();return await this.#J.config.onSuccess?.(s,e,this.state.context,this,r),await this.options.onSuccess?.(s,e,this.state.context,r),await this.#J.config.onSettled?.(s,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(s,null,e,this.state.context,r),this.#a({type:"success",data:s}),s}catch(t){try{throw await this.#J.config.onError?.(t,e,this.state.context,this,r),await this.options.onError?.(t,e,this.state.context,r),await this.#J.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(void 0,t,e,this.state.context,r),t}finally{this.#a({type:"error",error:t})}}finally{this.#J.runNext(this)}}#a(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),s.jG.batch(()=>{this.#O.forEach(t=>{t.onMutationUpdate(e)}),this.#J.notify({mutation:this,type:"updated",action:e})})}},h=class extends o.Q{constructor(e={}){super(),this.config=e,this.#L=new Set,this.#_=new Map,this.#j=0}#L;#_;#j;build(e,t,r){let n=new c({client:e,mutationCache:this,mutationId:++this.#j,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#L.add(e);let t=d(e);if("string"==typeof t){let r=this.#_.get(t);r?r.push(e):this.#_.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#L.delete(e)){let t=d(e);if("string"==typeof t){let r=this.#_.get(t);if(r)if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#_.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=d(e);if("string"!=typeof t)return!0;{let r=this.#_.get(t),n=r?.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=d(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#_.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){s.jG.batch(()=>{this.#L.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#L.clear(),this.#_.clear()})}getAll(){return Array.from(this.#L)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,n.nJ)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,n.nJ)(e,t))}notify(e){s.jG.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return s.jG.batch(()=>Promise.all(e.map(e=>e.continue().catch(n.lQ))))}};function d(e){return e.options.scope?.id}var f=r(6195),A=r(3122);function p(e){return{onFetch:(t,r)=>{let i=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,o=t.state.data?.pages||[],a=t.state.data?.pageParams||[],l={pages:[],pageParams:[]},u=0,c=async()=>{let r=!1,c=(0,n.ZM)(t.options,t.fetchOptions),h=async(e,i,s)=>{if(r)return Promise.reject();if(null==i&&e.pages.length)return Promise.resolve(e);let o=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:i,direction:s?"backward":"forward",meta:t.options.meta};return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)}),e})(),a=await c(o),{maxPages:l}=t.options,u=s?n.ZZ:n.y9;return{pages:u(e.pages,a,l),pageParams:u(e.pageParams,i,l)}};if(s&&o.length){let e="backward"===s,t={pages:o,pageParams:a},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:B)(i,t);l=await h(t,r,e)}else{let t=e??o.length;do{let e=0===u?a[0]??i.initialPageParam:B(i,l);if(u>0&&null==e)break;l=await h(l,e),u++}while(u<t)}return l};t.options.persister?t.fetchFn=()=>t.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=c}}}function B(e,{pages:t,pageParams:r}){let n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,r[n],r):void 0}var m=class{#U;#J;#s;#Q;#k;#K;#N;#X;constructor(e={}){this.#U=e.queryCache||new a,this.#J=e.mutationCache||new h,this.#s=e.defaultOptions||{},this.#Q=new Map,this.#k=new Map,this.#K=0}mount(){this.#K++,1===this.#K&&(this.#N=f.m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#U.onFocus())}),this.#X=A.t.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#U.onOnline())}))}unmount(){this.#K--,0===this.#K&&(this.#N?.(),this.#N=void 0,this.#X?.(),this.#X=void 0)}isFetching(e){return this.#U.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#J.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#U.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#U.build(this,t),i=r.state.data;return void 0===i?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime((0,n.d2)(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(i))}getQueriesData(e){return this.#U.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let i=this.defaultQueryOptions({queryKey:e}),s=this.#U.get(i.queryHash),o=s?.state.data,a=(0,n.Zw)(t,o);if(void 0!==a)return this.#U.build(this,i).setData(a,{...r,manual:!0})}setQueriesData(e,t,r){return s.jG.batch(()=>this.#U.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#U.get(t.queryHash)?.state}removeQueries(e){let t=this.#U;s.jG.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#U;return s.jG.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t};return Promise.all(s.jG.batch(()=>this.#U.findAll(e).map(e=>e.cancel(r)))).then(n.lQ).catch(n.lQ)}invalidateQueries(e,t={}){return s.jG.batch(()=>(this.#U.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 r={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(s.jG.batch(()=>this.#U.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.lQ)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(n.lQ)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=this.#U.build(this,t);return r.isStaleByTime((0,n.d2)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.lQ).catch(n.lQ)}fetchInfiniteQuery(e){return e.behavior=p(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.lQ).catch(n.lQ)}ensureInfiniteQueryData(e){return e.behavior=p(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return A.t.isOnline()?this.#J.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#U}getMutationCache(){return this.#J}getDefaultOptions(){return this.#s}setDefaultOptions(e){this.#s=e}setQueryDefaults(e,t){this.#Q.set((0,n.EN)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#Q.values()],r={};return t.forEach(t=>{(0,n.Cp)(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#k.set((0,n.EN)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#k.values()],r={};return t.forEach(t=>{(0,n.Cp)(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#s.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.F$)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===n.hT&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#s.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#U.clear(),this.#J.clear()}}},3617:(e,t,r)=>{"use strict";r.d(t,{o:()=>i});var n=r(5339);class i{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}new n.qUd(-1,1,1,-1,0,1);class s extends n.LoY{constructor(){super(),this.setAttribute("position",new n.qtW([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new n.qtW([0,2,0,0,2,0],2))}}new s},3646:(e,t,r)=>{"use strict";let n,i;r.d(t,{E:()=>y});var s=r(8945),o=r(2115),a=r(2669),l=r(5339),u=r(99);let c=new l.Pq0,h=new l.Pq0,d=new l.Pq0,f=new l.I9Y;function A(e,t,r){let n=c.setFromMatrixPosition(e.matrixWorld);n.project(t);let i=r.width/2,s=r.height/2;return[n.x*i+i,-(n.y*s)+s]}let p=e=>1e-10>Math.abs(e)?0:e;function B(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=p(t[r]*e.elements[r])+(15!==r?",":")");return r+n}let m=(n=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>B(e,n)),C=(i=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],(e,t)=>B(e,i(t),"translate(-50%,-50%)")),y=o.forwardRef(({children:e,eps:t=.001,style:r,className:n,prepend:i,center:B,fullscreen:y,portal:v,distanceFactor:b,sprite:g=!1,transform:E=!1,occlude:M,onOcclude:F,castShadow:R,receiveShadow:I,material:G,geometry:D,zIndexRange:T=[0x1000037,0],calculatePosition:w=A,as:H="div",wrapperClass:x,pointerEvents:S="auto",...P},O)=>{let{gl:J,camera:L,scene:_,size:j,raycaster:U,events:Q,viewport:k}=(0,u.C)(),[K]=o.useState(()=>document.createElement(H)),N=o.useRef(null),X=o.useRef(null),Y=o.useRef(0),q=o.useRef([0,0]),W=o.useRef(null),Z=o.useRef(null),V=(null==v?void 0:v.current)||Q.connected||J.domElement.parentNode,z=o.useRef(null),$=o.useRef(!1),ee=o.useMemo(()=>M&&"blending"!==M||Array.isArray(M)&&M.length&&function(e){return e&&"object"==typeof e&&"current"in e}(M[0]),[M]);o.useLayoutEffect(()=>{let e=J.domElement;M&&"blending"===M?(e.style.zIndex=`${Math.floor(T[0]/2)}`,e.style.position="absolute",e.style.pointerEvents="none"):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)},[M]),o.useLayoutEffect(()=>{if(X.current){let e=N.current=a.createRoot(K);if(_.updateMatrixWorld(),E)K.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{let e=w(X.current,L,j);K.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return V&&(i?V.prepend(K):V.appendChild(K)),()=>{V&&V.removeChild(K),e.unmount()}}},[V,E]),o.useLayoutEffect(()=>{x&&(K.className=x)},[x]);let et=o.useMemo(()=>E?{position:"absolute",top:0,left:0,width:j.width,height:j.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:B?"translate3d(-50%,-50%,0)":"none",...y&&{top:-j.height/2,left:-j.width/2,width:j.width,height:j.height},...r},[r,B,y,j,E]),er=o.useMemo(()=>({position:"absolute",pointerEvents:S}),[S]);o.useLayoutEffect(()=>{var t,i;$.current=!1,E?null==(t=N.current)||t.render(o.createElement("div",{ref:W,style:et},o.createElement("div",{ref:Z,style:er},o.createElement("div",{ref:O,className:n,style:r,children:e})))):null==(i=N.current)||i.render(o.createElement("div",{ref:O,style:et,className:n,children:e}))});let en=o.useRef(!0);(0,u.D)(e=>{if(X.current){L.updateMatrixWorld(),X.current.updateWorldMatrix(!0,!1);let e=E?q.current:w(X.current,L,j);if(E||Math.abs(Y.current-L.zoom)>t||Math.abs(q.current[0]-e[0])>t||Math.abs(q.current[1]-e[1])>t){let t=function(e,t){let r=c.setFromMatrixPosition(e.matrixWorld),n=h.setFromMatrixPosition(t.matrixWorld),i=r.sub(n),s=t.getWorldDirection(d);return i.angleTo(s)>Math.PI/2}(X.current,L),r=!1;ee&&(Array.isArray(M)?r=M.map(e=>e.current):"blending"!==M&&(r=[_]));let n=en.current;r?en.current=function(e,t,r,n){let i=c.setFromMatrixPosition(e.matrixWorld),s=i.clone();s.project(t),f.set(s.x,s.y),r.setFromCamera(f,t);let o=r.intersectObjects(n,!0);if(o.length){let e=o[0].distance;return i.distanceTo(r.ray.origin)<e}return!0}(X.current,L,U,r)&&!t:en.current=!t,n!==en.current&&(F?F(!en.current):K.style.display=en.current?"block":"none");let i=Math.floor(T[0]/2),s=M?ee?[T[0],i]:[i-1,0]:T;if(K.style.zIndex=`${function(e,t,r){if(t instanceof l.ubm||t instanceof l.qUd){let n=c.setFromMatrixPosition(e.matrixWorld),i=h.setFromMatrixPosition(t.matrixWorld),s=n.distanceTo(i),o=(r[1]-r[0])/(t.far-t.near),a=r[1]-o*t.far;return Math.round(o*s+a)}}(X.current,L,s)}`,E){let[e,t]=[j.width/2,j.height/2],r=L.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:i,left:s,bottom:o,right:a}=L,l=m(L.matrixWorldInverse),u=n?`scale(${r})translate(${p(-(a+s)/2)}px,${p((i+o)/2)}px)`:`translateZ(${r}px)`,c=X.current.matrixWorld;g&&((c=L.matrixWorldInverse.clone().transpose().copyPosition(c).scale(X.current.scale)).elements[3]=c.elements[7]=c.elements[11]=0,c.elements[15]=1),K.style.width=j.width+"px",K.style.height=j.height+"px",K.style.perspective=n?"":`${r}px`,W.current&&Z.current&&(W.current.style.transform=`${u}${l}translate(${e}px,${t}px)`,Z.current.style.transform=C(c,1/((b||10)/400)))}else{let t=void 0===b?1:function(e,t){if(t instanceof l.qUd)return t.zoom;if(!(t instanceof l.ubm))return 1;{let r=c.setFromMatrixPosition(e.matrixWorld),n=h.setFromMatrixPosition(t.matrixWorld);return 1/(2*Math.tan(t.fov*Math.PI/180/2)*r.distanceTo(n))}}(X.current,L)*b;K.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}q.current=e,Y.current=L.zoom}}if(!ee&&z.current&&!$.current)if(E){if(W.current){let e=W.current.children[0];if(null!=e&&e.clientWidth&&null!=e&&e.clientHeight){let{isOrthographicCamera:t}=L;if(t||D)P.scale&&(Array.isArray(P.scale)?P.scale instanceof l.Pq0?z.current.scale.copy(P.scale.clone().divideScalar(1)):z.current.scale.set(1/P.scale[0],1/P.scale[1],1/P.scale[2]):z.current.scale.setScalar(1/P.scale));else{let t=(b||10)/400,r=e.clientWidth*t,n=e.clientHeight*t;z.current.scale.set(r,n,1)}$.current=!0}}}else{let t=K.children[0];if(null!=t&&t.clientWidth&&null!=t&&t.clientHeight){let e=1/k.factor,r=t.clientWidth*e,n=t.clientHeight*e;z.current.scale.set(r,n,1),$.current=!0}z.current.lookAt(e.camera.position)}});let ei=o.useMemo(()=>({vertexShader:E?void 0:`
/*
This shader is from the THREE's SpriteMaterial.
We need to turn the backing plane into a Sprite
(make it always face the camera) if "transfrom"
is false.
*/
#include <common>
void main() {
vec2 center = vec2(0., 1.);
float rotation = 0.0;
// This is somewhat arbitrary, but it seems to work well
// Need to figure out how to derive this dynamically if it even matters
float size = 0.03;
vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );
vec2 scale;
scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );
scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );
bool isPerspective = isPerspectiveMatrix( projectionMatrix );
if ( isPerspective ) scale *= - mvPosition.z;
vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size;
vec2 rotatedPosition;
rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
mvPosition.xy += rotatedPosition;
gl_Position = projectionMatrix * mvPosition;
}
`,fragmentShader:`
void main() {
gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
}
`}),[E]);return o.createElement("group",(0,s.A)({},P,{ref:X}),M&&!ee&&o.createElement("mesh",{castShadow:R,receiveShadow:I,ref:z},D||o.createElement("planeGeometry",null),G||o.createElement("shaderMaterial",{side:l.$EB,vertexShader:ei.vertexShader,fragmentShader:ei.fragmentShader})))})},3654:(e,t,r)=>{"use strict";var n=r(2115),i=r(4806),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=i.useSyncExternalStore,a=n.useRef,l=n.useEffect,u=n.useMemo,c=n.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,n,i){var h=a(null);if(null===h.current){var d={hasValue:!1,value:null};h.current=d}else d=h.current;var f=o(e,(h=u(function(){function e(e){if(!l){if(l=!0,o=e,e=n(e),void 0!==i&&d.hasValue){var t=d.value;if(i(t,e))return a=t}return a=e}if(t=a,s(o,e))return t;var r=n(e);return void 0!==i&&i(t,r)?(o=e,t):(o=e,a=r)}var o,a,l=!1,u=void 0===r?null:r;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,r,n,i]))[0],h[1]);return l(function(){d.hasValue=!0,d.value=f},[f]),c(f),f}},3808:(e,t,r)=>{"use strict";r.d(t,{c:()=>s}),r(2115);var n=r(5339),i=r(99);function s(e,{path:t}){let[r]=(0,i.G)(n.ScU,[e],e=>e.setPath(t));return r}s.preload=(e,{path:t})=>i.G.preload(n.ScU,[e],e=>e.setPath(t))},4004:(e,t)=>{"use strict";function r(e,t){var r=e.length;for(e.push(t);0<r;){var n=r-1>>>1,i=e[n];if(0<s(i,t))e[n]=t,e[r]=i,r=n;else break}}function n(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;for(var n=0,i=e.length,o=i>>>1;n<o;){var a=2*(n+1)-1,l=e[a],u=a+1,c=e[u];if(0>s(l,r))u<i&&0>s(c,l)?(e[n]=c,e[u]=r,n=u):(e[n]=l,e[a]=r,n=a);else if(u<i&&0>s(c,r))e[n]=c,e[u]=r,n=u;else break}}return t}function s(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,a=performance;t.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();t.unstable_now=function(){return l.now()-u}}var c=[],h=[],d=1,f=null,A=3,p=!1,B=!1,m=!1,C="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var t=n(h);null!==t;){if(null===t.callback)i(h);else if(t.startTime<=e)i(h),t.sortIndex=t.expirationTime,r(c,t);else break;t=n(h)}}function g(e){if(m=!1,b(e),!B)if(null!==n(c))B=!0,w();else{var t=n(h);null!==t&&H(g,t.startTime-e)}}var E=!1,M=-1,F=5,R=-1;function I(){return!(t.unstable_now()-R<F)}function G(){if(E){var e=t.unstable_now();R=e;var r=!0;try{e:{B=!1,m&&(m=!1,y(M),M=-1),p=!0;var s=A;try{t:{for(b(e),f=n(c);null!==f&&!(f.expirationTime>e&&I());){var a=f.callback;if("function"==typeof a){f.callback=null,A=f.priorityLevel;var l=a(f.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof l){f.callback=l,b(e),r=!0;break t}f===n(c)&&i(c),b(e)}else i(c);f=n(c)}if(null!==f)r=!0;else{var u=n(h);null!==u&&H(g,u.startTime-e),r=!1}}break e}finally{f=null,A=s,p=!1}}}finally{r?o():E=!1}}}if("function"==typeof v)o=function(){v(G)};else if("undefined"!=typeof MessageChannel){var D=new MessageChannel,T=D.port2;D.port1.onmessage=G,o=function(){T.postMessage(null)}}else o=function(){C(G,0)};function w(){E||(E=!0,o())}function H(e,r){M=C(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){B||p||(B=!0,w())},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return A},t.unstable_getFirstCallbackNode=function(){return n(c)},t.unstable_next=function(e){switch(A){case 1:case 2:case 3:var t=3;break;default:t=A}var r=A;A=t;try{return e()}finally{A=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=A;A=e;try{return t()}finally{A=r}},t.unstable_scheduleCallback=function(e,i,s){var o=t.unstable_now();switch(s="object"==typeof s&&null!==s&&"number"==typeof(s=s.delay)&&0<s?o+s:o,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=0x3fffffff;break;case 4:a=1e4;break;default:a=5e3}return a=s+a,e={id:d++,callback:i,priorityLevel:e,startTime:s,expirationTime:a,sortIndex:-1},s>o?(e.sortIndex=s,r(h,e),null===n(c)&&e===n(h)&&(m?(y(M),M=-1):m=!0,H(g,s-o))):(e.sortIndex=a,r(c,e),B||p||(B=!0,w())),e},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(e){var t=A;return function(){var r=A;A=t;try{return e.apply(this,arguments)}finally{A=r}}}},4049:(e,t,r)=>{"use strict";r.d(t,{Cp:()=>p,EN:()=>A,Eh:()=>c,F$:()=>f,GU:()=>I,MK:()=>h,S$:()=>i,ZM:()=>R,ZZ:()=>M,Zw:()=>o,d2:()=>u,f8:()=>m,gn:()=>a,hT:()=>F,j3:()=>l,lQ:()=>s,nJ:()=>d,pl:()=>g,y9:()=>E,yy:()=>b});var n=r(7126),i="undefined"==typeof window||"Deno"in globalThis;function s(){}function o(e,t){return"function"==typeof e?e(t):e}function a(e){return"number"==typeof e&&e>=0&&e!==1/0}function l(e,t){return Math.max(e+(t||0)-Date.now(),0)}function u(e,t){return"function"==typeof e?e(t):e}function c(e,t){return"function"==typeof e?e(t):e}function h(e,t){let{type:r="all",exact:n,fetchStatus:i,predicate:s,queryKey:o,stale:a}=e;if(o){if(n){if(t.queryHash!==f(o,t.options))return!1}else if(!p(t.queryKey,o))return!1}if("all"!==r){let e=t.isActive();if("active"===r&&!e||"inactive"===r&&e)return!1}return("boolean"!=typeof a||t.isStale()===a)&&(!i||i===t.state.fetchStatus)&&(!s||!!s(t))}function d(e,t){let{exact:r,status:n,predicate:i,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(r){if(A(t.options.mutationKey)!==A(s))return!1}else if(!p(t.options.mutationKey,s))return!1}return(!n||t.state.status===n)&&(!i||!!i(t))}function f(e,t){return(t?.queryKeyHashFn||A)(e)}function A(e){return JSON.stringify(e,(e,t)=>y(t)?Object.keys(t).sort().reduce((e,r)=>(e[r]=t[r],e),{}):t)}function p(e,t){return e===t||typeof e==typeof t&&!!e&&!!t&&"object"==typeof e&&"object"==typeof t&&Object.keys(t).every(r=>p(e[r],t[r]))}var B=Object.prototype.hasOwnProperty;function m(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0}function C(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function y(e){if(!v(e))return!1;let t=e.constructor;if(void 0===t)return!0;let r=t.prototype;return!!v(r)&&!!r.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function v(e){return"[object Object]"===Object.prototype.toString.call(e)}function b(e){return new Promise(t=>{n.zs.setTimeout(t,e)})}function g(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?function e(t,r){if(t===r)return t;let n=C(t)&&C(r);if(!n&&!(y(t)&&y(r)))return r;let i=(n?t:Object.keys(t)).length,s=n?r:Object.keys(r),o=s.length,a=n?Array(o):{},l=0;for(let u=0;u<o;u++){let o=n?u:s[u],c=t[o],h=r[o];if(c===h){a[o]=c,(n?u<i:B.call(t,o))&&l++;continue}if(null===c||null===h||"object"!=typeof c||"object"!=typeof h){a[o]=h;continue}let d=e(c,h);a[o]=d,d===c&&l++}return i===o&&l===i?t:a}(e,t):t}function E(e,t,r=0){let n=[...e,t];return r&&n.length>r?n.slice(1):n}function M(e,t,r=0){let n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var F=Symbol();function R(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==F?e.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`))}function I(e,t){return"function"==typeof e?e(...t):!!e}},4065:function(e){var t;(t=function(){function e(e){return i.appendChild(e.dom),e}function r(e){for(var t=0;t<i.children.length;t++)i.children[t].style.display=t===e?"block":"none";n=e}var n=0,i=document.createElement("div");i.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",i.addEventListener("click",function(e){e.preventDefault(),r(++n%i.children.length)},!1);var s=(performance||Date).now(),o=s,a=0,l=e(new t.Panel("FPS","#0ff","#002")),u=e(new t.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var c=e(new t.Panel("MB","#f08","#201"));return r(0),{REVISION:16,dom:i,addPanel:e,showPanel:r,begin:function(){s=(performance||Date).now()},end:function(){a++;var e=(performance||Date).now();if(u.update(e-s,200),e>o+1e3&&(l.update(1e3*a/(e-o),100),o=e,a=0,c)){var t=performance.memory;c.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){s=this.end()},domElement:i,setMode:r}}).Panel=function(e,t,r){var n=1/0,i=0,s=Math.round,o=s(window.devicePixelRatio||1),a=80*o,l=48*o,u=3*o,c=2*o,h=3*o,d=15*o,f=74*o,A=30*o,p=document.createElement("canvas");p.width=a,p.height=l,p.style.cssText="width:80px;height:48px";var B=p.getContext("2d");return B.font="bold "+9*o+"px Helvetica,Arial,sans-serif",B.textBaseline="top",B.fillStyle=r,B.fillRect(0,0,a,l),B.fillStyle=t,B.fillText(e,u,c),B.fillRect(h,d,f,A),B.fillStyle=r,B.globalAlpha=.9,B.fillRect(h,d,f,A),{dom:p,update:function(l,m){n=Math.min(n,l),i=Math.max(i,l),B.fillStyle=r,B.globalAlpha=1,B.fillRect(0,0,a,d),B.fillStyle=t,B.fillText(s(l)+" "+e+" ("+s(n)+"-"+s(i)+")",u,c),B.drawImage(p,h+o,d,f-o,A,h,d,f-o,A),B.fillRect(h+f-o,d,o,A),B.fillStyle=r,B.globalAlpha=.9,B.fillRect(h+f-o,d,o,s((1-l/m)*A))}}},e.exports=t},4268:(e,t,r)=>{"use strict";r.d(t,{jG:()=>i});var n=r(7126).Zq,i=function(){let e=[],t=0,r=e=>{e()},i=e=>{e()},s=n,o=n=>{t?e.push(n):s(()=>{r(n)})};return{batch:n=>{let o;t++;try{o=n()}finally{--t||(()=>{let t=e;e=[],t.length&&s(()=>{i(()=>{t.forEach(e=>{r(e)})})})})()}return o},batchCalls:e=>(...t)=>{o(()=>{e(...t)})},schedule:o,setNotifyFunction:e=>{r=e},setBatchNotifyFunction:e=>{i=e},setScheduler:e=>{s=e}}}()},4735:(e,t,r)=>{"use strict";r.d(t,{Af:()=>a,Nz:()=>i,u5:()=>l,y3:()=>h});var n=r(2115);function i(e,t,r){if(!e)return;if(!0===r(e))return e;let n=t?e.return:e.child;for(;n;){let e=i(n,t,r);if(e)return e;n=t?null:n.sibling}}function s(e){try{return Object.defineProperties(e,{_currentRenderer:{get:()=>null,set(){}},_currentRenderer2:{get:()=>null,set(){}}})}catch(t){return e}}(()=>{var e,t;return"undefined"!=typeof window&&((null==(e=window.document)?void 0:e.createElement)||(null==(t=window.navigator)?void 0:t.product)==="ReactNative")})()?n.useLayoutEffect:n.useEffect;let o=s(n.createContext(null));class a extends n.Component{render(){return n.createElement(o.Provider,{value:this._reactInternals},this.props.children)}}function l(){let e=n.useContext(o);if(null===e)throw Error("its-fine: useFiber must be called within a <FiberProvider />!");let t=n.useId();return n.useMemo(()=>{for(let r of[e,null==e?void 0:e.alternate]){if(!r)continue;let e=i(r,!1,e=>{let r=e.memoizedState;for(;r;){if(r.memoizedState===t)return!0;r=r.next}});if(e)return e}},[e,t])}let u=Symbol.for("react.context"),c=e=>null!==e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===u;function h(){let e=function(){let e=l(),[t]=n.useState(()=>new Map);t.clear();let r=e;for(;r;){let e=r.type;c(e)&&e!==o&&!t.has(e)&&t.set(e,n.use(s(e))),r=r.return}return t}();return n.useMemo(()=>Array.from(e.keys()).reduce((t,r)=>i=>n.createElement(t,null,n.createElement(r.Provider,{...i,value:e.get(r)})),e=>n.createElement(a,{...e})),[e])}},4806:(e,t,r)=>{"use strict";e.exports=r(125)},4943:(e,t,r)=>{"use strict";e.exports=r(4004)},5951:(e,t,r)=>{"use strict";r.d(t,{zo:()=>a});var n=r(2115),i=r(5339),s=r(99);let o=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function a(e,t){let r=(0,s.C)(e=>e.gl),a=(0,s.G)(i.Tap,o(e)?Object.values(e):e);return(0,n.useLayoutEffect)(()=>{null==t||t(a)},[t]),(0,n.useEffect)(()=>{if("initTexture"in r){let e=[];Array.isArray(a)?e=a:a instanceof i.gPd?e=[a]:o(a)&&(e=Object.values(a)),e.forEach(e=>{e instanceof i.gPd&&r.initTexture(e)})}},[r,a]),(0,n.useMemo)(()=>{if(!o(e))return a;{let t={},r=0;for(let n in e)t[n]=a[r++];return t}},[e,a])}a.preload=e=>s.G.preload(i.Tap,e),a.clear=e=>s.G.clear(i.Tap,e)},6195:(e,t,r)=>{"use strict";r.d(t,{m:()=>s});var n=r(8445),i=r(4049),s=new class extends n.Q{#Y;#x;#S;constructor(){super(),this.#S=e=>{if(!i.S$&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#x||this.setEventListener(this.#S)}onUnsubscribe(){this.hasListeners()||(this.#x?.(),this.#x=void 0)}setEventListener(e){this.#S=e,this.#x?.(),this.#x=e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()})}setFocused(e){this.#Y!==e&&(this.#Y=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return"boolean"==typeof this.#Y?this.#Y:globalThis.document?.visibilityState!=="hidden"}}},6362:(e,t,r)=>{"use strict";e.exports=r(979)},7126:(e,t,r)=>{"use strict";r.d(t,{Zq:()=>s,zs:()=>i});var n={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},i=new class{#q=n;#W=!1;setTimeoutProvider(e){this.#q=e}setTimeout(e,t){return this.#q.setTimeout(e,t)}clearTimeout(e){this.#q.clearTimeout(e)}setInterval(e,t){return this.#q.setInterval(e,t)}clearInterval(e){this.#q.clearInterval(e)}};function s(e){setTimeout(e,0)}},8381:(e,t,r)=>{"use strict";r.d(t,{s0:()=>y,jW:()=>b});var n=r(5155),i=r(2115),s=r(5339),o=r(99),a=r(3303);function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}new s.I9Y,new s.I9Y;function u(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var c=function e(t,r,n){var i=this;u(this,e),l(this,"dot2",function(e,t){return i.x*e+i.y*t}),l(this,"dot3",function(e,t,r){return i.x*e+i.y*t+i.z*r}),this.x=t,this.y=r,this.z=n},h=[new c(1,1,0),new c(-1,1,0),new c(1,-1,0),new c(-1,-1,0),new c(1,0,1),new c(-1,0,1),new c(1,0,-1),new c(-1,0,-1),new c(0,1,1),new c(0,-1,1),new c(0,1,-1),new c(0,-1,-1)],d=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180],f=Array(512),A=Array(512);!function(e){e>0&&e<1&&(e*=65536),(e=Math.floor(e))<256&&(e|=e<<8);for(var t,r=0;r<256;r++)t=1&r?d[r]^255&e:d[r]^e>>8&255,f[r]=f[r+256]=t,A[r]=A[r+256]=h[t%12]}(0);function p(e){var t=function(e){if("number"==typeof e)e=Math.abs(e);else if("string"==typeof e){var t=e;e=0;for(var r=0;r<t.length;r++)e=(e+(r+1)*(t.charCodeAt(r)%96))%0x7fffffff}return 0===e&&(e=311),e}(e);return function(){var e=48271*t%0x7fffffff;return t=e,e/0x7fffffff}}new function e(t){var r=this;u(this,e),l(this,"seed",0),l(this,"init",function(e){r.seed=e,r.value=p(e)}),l(this,"value",p(this.seed)),this.init(t)}(Math.random());s.LoY;var B=r(1948);let m=(0,i.createContext)(null),C=e=>(2&e.getAttributes())==2,y=(0,i.memo)((0,i.forwardRef)(({children:e,camera:t,scene:r,resolutionScale:l,enabled:u=!0,renderPriority:c=1,autoClear:h=!0,depthBuffer:d,enableNormalPass:f,stencilBuffer:A,multisampling:p=8,frameBufferType:B=s.ix0},y)=>{let{gl:v,scene:b,camera:g,size:E}=(0,o.C)(),M=r||b,F=t||g,[R,I,G]=(0,i.useMemo)(()=>{let e=new a.s0(v,{depthBuffer:d,stencilBuffer:A,multisampling:p,frameBufferType:B});e.addPass(new a.AH(M,F));let t=null,r=null;return f&&((r=new a.Xe(M,F)).enabled=!1,e.addPass(r),void 0!==l&&((t=new a.SP({normalBuffer:r.texture,resolutionScale:l})).enabled=!1,e.addPass(t))),[e,r,t]},[F,v,d,A,p,B,M,f,l]);(0,i.useEffect)(()=>R?.setSize(E.width,E.height),[R,E]),(0,o.D)((e,t)=>{if(u){let e=v.autoClear;v.autoClear=h,A&&!h&&v.clearStencil(),R.render(t),v.autoClear=e}},u?c:0);let D=(0,i.useRef)(null);(0,i.useLayoutEffect)(()=>{let e=[],t=D.current.__r3f;if(t&&R){let r=t.children;for(let t=0;t<r.length;t++){let n=r[t].object;if(n instanceof a.Mj){let i=[n];if(!C(n)){let e=null;for(;(e=r[t+1]?.object)instanceof a.Mj&&!C(e);)i.push(e),t++}let s=new a.Vu(F,...i);e.push(s)}else n instanceof a.oF&&e.push(n)}for(let t of e)R?.addPass(t);I&&(I.enabled=!0),G&&(G.enabled=!0)}return()=>{for(let t of e)R?.removePass(t);I&&(I.enabled=!1),G&&(G.enabled=!1)}},[R,e,F,I,G]),(0,i.useEffect)(()=>{let e=v.toneMapping;return v.toneMapping=s.y_p,()=>{v.toneMapping=e}},[v]);let T=(0,i.useMemo)(()=>({composer:R,normalPass:I,downSamplingPass:G,resolutionScale:l,camera:F,scene:M}),[R,I,G,l,F,M]);return(0,i.useImperativeHandle)(y,()=>R,[R]),(0,n.jsx)(m.Provider,{value:T,children:(0,n.jsx)("group",{ref:D,children:e})})}));a.Mj,a.bv,a.i,a.hH;var v=(e=>(e[e.Linear=0]="Linear",e[e.Radial=1]="Radial",e[e.MirroredLinear=2]="MirroredLinear",e))(v||{});a.Mj,a.To;a.Mj;a.Mj;a.Mj;let b=(0,i.forwardRef)(({halfRes:e,screenSpaceRadius:t,quality:r,depthAwareUpsampling:s=!0,aoRadius:a=5,aoSamples:l=16,denoiseSamples:u=4,denoiseRadius:c=12,distanceFalloff:h=1,intensity:d=1,color:f,renderMode:A=0},p)=>{let{camera:m,scene:C}=(0,o.C)(),y=(0,i.useMemo)(()=>new B.ae(C,m),[m,C]);return(0,i.useLayoutEffect)(()=>{(0,o.s)(y.configuration,{color:f,aoRadius:a,distanceFalloff:h,intensity:d,aoSamples:l,denoiseSamples:u,denoiseRadius:c,screenSpaceRadius:t,renderMode:A,halfRes:e,depthAwareUpsampling:s})},[t,f,a,h,d,l,u,c,A,e,s,y]),(0,i.useLayoutEffect)(()=>{r&&y.setQualityMode(r.charAt(0).toUpperCase()+r.slice(1))},[y,r]),(0,n.jsx)("primitive",{ref:p,object:y})})},8445:(e,t,r)=>{"use strict";r.d(t,{Q:()=>n});var n=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(){}}},8669:(e,t,r)=>{"use strict";r.d(t,{U:()=>l});var n=r(2115),i=r(99),s=r(4065),o=r.n(s);function a(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}function l({showPanel:e=0,className:t,parent:r}){let s=function(e,t=[],r){let[i,s]=n.useState();return n.useLayoutEffect(()=>{let t=e();return s(t),a(void 0,t),()=>a(void 0,null)},t),i}(()=>new(o()),[]);return n.useEffect(()=>{if(s){let n=r&&r.current||document.body;s.showPanel(e),null==n||n.appendChild(s.dom);let o=(null!=t?t:"").split(" ").filter(e=>e);o.length&&s.dom.classList.add(...o);let a=(0,i.j)(()=>s.begin()),l=(0,i.k)(()=>s.end());return()=>{o.length&&s.dom.classList.remove(...o),null==n||n.removeChild(s.dom),a(),l()}}},[r,s,t,e]),null}},8807:(e,t,r)=>{"use strict";e.exports=r(7719)},8828:(e,t,r)=>{"use strict";e.exports=r(3654)},8870:(e,t,r)=>{"use strict";e.exports=r(1975)},8945:(e,t,r)=>{"use strict";function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}r.d(t,{A:()=>n})},8992:(e,t,r)=>{"use strict";r.d(t,{tH:()=>o});var n=r(2115);let i=(0,n.createContext)(null),s={didCatch:!1,error:null};class o extends n.Component{static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];null==(t=(r=this.props).onReset)||t.call(r,{args:i,reason:"imperative-api"}),this.setState(s)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var i,o;null==(i=(o=this.props).onReset)||i.call(o,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(s)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:s}=this.props,{didCatch:o,error:a}=this.state,l=e;if(o){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)l=t(e);else if(r)l=(0,n.createElement)(r,e);else if(void 0!==s)l=s;else throw a}return(0,n.createElement)(i.Provider,{value:{didCatch:o,error:a,resetErrorBoundary:this.resetErrorBoundary}},l)}constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=s}}},9336:(e,t,r)=>{"use strict";r.d(t,{u:()=>a});var n=r(8945),i=r(2115),s=r(99),o=r(5339);let a=i.forwardRef(({envMap:e,resolution:t=256,frames:r=1/0,makeDefault:a,children:l,...u},c)=>{let h=(0,s.C)(({set:e})=>e),d=(0,s.C)(({camera:e})=>e),f=(0,s.C)(({size:e})=>e),A=i.useRef(null);i.useImperativeHandle(c,()=>A.current,[]);let p=i.useRef(null),B=function(e,t,r){let n=(0,s.C)(e=>e.size),a=(0,s.C)(e=>e.viewport),l="number"==typeof e?e:n.width*a.dpr,u=n.height*a.dpr,c=("number"==typeof e?void 0:e)||{},{samples:h=0,depth:d,...f}=c,A=null!=d?d:c.depthBuffer,p=i.useMemo(()=>{let e=new o.nWS(l,u,{minFilter:o.k6q,magFilter:o.k6q,type:o.ix0,...f});return A&&(e.depthTexture=new o.VCu(l,u,o.RQf)),e.samples=h,e},[]);return i.useLayoutEffect(()=>{p.setSize(l,u),h&&(p.samples=h)},[h,p,l,u]),i.useEffect(()=>()=>p.dispose(),[]),p}(t);i.useLayoutEffect(()=>{u.manual||(A.current.aspect=f.width/f.height)},[f,u]),i.useLayoutEffect(()=>{A.current.updateProjectionMatrix()});let m=0,C=null,y="function"==typeof l;return(0,s.D)(t=>{y&&(r===1/0||m<r)&&(p.current.visible=!1,t.gl.setRenderTarget(B),C=t.scene.background,e&&(t.scene.background=e),t.gl.render(t.scene,A.current),t.scene.background=C,t.gl.setRenderTarget(null),p.current.visible=!0,m++)}),i.useLayoutEffect(()=>{if(a)return h(()=>({camera:A.current})),()=>h(()=>({camera:d}))},[A,a,h]),i.createElement(i.Fragment,null,i.createElement("perspectiveCamera",(0,n.A)({ref:A},u),!y&&l),i.createElement("group",{ref:p},y&&l(B.texture)))})},9776:(e,t,r)=>{"use strict";r.d(t,{Ht:()=>a,jE:()=>o});var n=r(2115),i=r(5155),s=n.createContext(void 0),o=e=>{let t=n.useContext(s);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},a=e=>{let{client:t,children:r}=e;return n.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,i.jsx)(s.Provider,{value:t,children:r})}}}]);